Commit Graph

2459 Commits

Author SHA1 Message Date
Vadim Gelfer
e18ca75a83 mac os x: fixes for 10.2 from chris monson <monpublic@gmail.com> 2006-06-20 17:51:39 -07:00
Vadim Gelfer
f76d70d9bf http client: better work with authorization errors, broken sockets. 2006-06-20 15:23:54 -07:00
Vadim Gelfer
9420a748d4 push over http: server side authorization support.
new hgrc entries allow_push, deny_push, push_ssl control push over http.

allow_push list controls push.  if empty or not set, no user can push.
if "*", any user (incl. unauthenticated user) can push.  if list of user
names, only authenticated users in list can push.

deny_push list examined before allow_push.  if "*", no user can push.
if list of user names, no unauthenticated user can push, and no users
in list can push.

push_ssl requires https connection for push.  default is true, so password
sniffing can not be done.
2006-06-20 15:23:01 -07:00
Vadim Gelfer
ce407e5396 push over http: client support.
stream bundle data using PUT request.
2006-06-20 15:17:28 -07:00
Vadim Gelfer
6086f69eb4 push over http: server support.
write "unbundle" verb for http.
2006-06-20 15:16:50 -07:00
Vadim Gelfer
f40e35da3c localrepository.push: propagate return value 2006-06-20 15:14:12 -07:00
Vadim Gelfer
b1e704337e util: add limit to amount filechunkiter will read 2006-06-20 15:13:17 -07:00
Vadim Gelfer
bc2cb8b453 tidy up mtime patch of andrea, get back half of performance loss.
this makes diff < 3% slower than before.
2006-06-20 09:11:41 -07:00
andrea@suse.de
6083ed97d2 report correct mtime in the hg diff output 2006-06-20 15:37:41 +02:00
Benoit Boissinot
825fdd0425 merge with crew 2006-06-19 20:37:36 +02:00
Vadim Gelfer
77cf84bc90 merge emacs changes. 2006-06-18 21:15:01 -07:00
Vadim Gelfer
6d81af657d merge with crew. 2006-06-18 21:04:42 -07:00
Benoit Boissinot
c1d180ca1d change log message creation when using 'hg import'
if found cmdline is used
else if found patch header is used
else launch hgeditor
2006-06-18 19:10:48 +02:00
FUJIWARA Katsunori
42626859e7 Emacs: follow the revision usage policy of "hg diff" command.
This patche makes "parent" as default revision of diff command.
2006-06-18 04:13:33 +09:00
FUJIWARA Katsunori
645be5112b Emacs: change directory of output buffer to the root of the repository. 2006-06-18 04:02:56 +09:00
FUJIWARA Katsunori
a0c3415d1d Emacs: use default-directory' if buffer-file-name' is null.
This patch allows you to co-operate with Mercurial in dired buffer.
2006-06-18 03:46:00 +09:00
Benoit Boissinot
ea689c7cfa merge with crew 2006-06-17 18:36:04 +02:00
Benoit Boissinot
b46c312897 fix an undefined variable spotted by pychecker 2006-06-17 18:20:09 +02:00
Benoit Boissinot
c52f027dd4 fix unused variable warning from pychecker 2006-06-17 18:15:48 +02:00
Vadim Gelfer
6144b74dd7 replace os.stat with os.lstat in some where. 2006-06-16 12:58:24 -07:00
Vadim Gelfer
d0da6a6a6f httprepo: make "http://user:pass@host/" urls work 2006-06-16 10:19:45 -07:00
Vadim Gelfer
1df1c4def9 httprepo: fix small bug in authentication. 2006-06-16 10:02:59 -07:00
Vadim Gelfer
dbdb525314 merge with crew. 2006-06-16 08:52:28 -07:00
FUJIWARA Katsunori
778100dd4b Emacs: use delete-region instead of kill-* functions.
This patch eliminates `kill-line' which taints kill-ring,
and `kill-entire-line' which is specific for XEmacs.
2006-06-17 00:06:28 +09:00
Volker Kleinfeld
76de44d843 patchbomb does not handle email time stamp plattform independent 2006-06-16 07:07:11 -07:00
Alexis S. L. Carvalho
30e9b6e2d4 Update keepalive.py to current CVS version of urlgrabber.
This fixes a bug where the output of test-bad-pull would differ
between python 2.3 and 2.4.  Also update the expected output of
this test.
2006-06-16 10:00:37 -03:00
Vadim Gelfer
f739175f8c http: query server for capabilities 2006-06-15 17:07:30 -07:00
Vadim Gelfer
db0725df5c remove use of undefined variable. 2006-06-15 16:41:49 -07:00
Vadim Gelfer
b853885582 merge with self. 2006-06-15 16:38:23 -07:00
Vadim Gelfer
9117f9f380 extend network protocol to stop clients from locking servers
now all repositories have capabilities slot, tuple with list of names.

if 'unbundle' capability present, repo supports push where client does
not need to lock server.  repository classes that have unbundle capability
also have unbundle method.

implemented for ssh now, will be base for push over http.

unbundle protocol acts this way.  server tells client what heads it
has during normal negotiate step.  client starts unbundle by repeat
server's heads back to it.  if server has new heads, abort immediately.
otherwise, transfer changes to server.  once data transferred, server
locks and checks heads again.  if heads same, changes can be added.
else someone else added heads, and server aborts.

if client wants to force server to add heads, sends special heads list of
'force'.
2006-06-15 16:37:23 -07:00
Vadim Gelfer
c59aedf89c test-bad-pull: fix change in error output. 2006-06-15 15:42:16 -07:00
Vadim Gelfer
70f075e758 sshrepo: fix bug in error formatting. 2006-06-15 15:36:23 -07:00
Vadim Gelfer
b0f5563c91 hgweb: split "verbs" into methods. 2006-06-15 13:27:57 -07:00
Vadim Gelfer
d71b1891cb http client: support persistent connections.
uses keepalive module from urlgrabber package.  tested against "hg serve",
cgi server, and through http proxy.  used ethereal to verify that only
one tcp connection used during entire "hg pull" sequence.

if server supports keepalive, this makes latency of "hg pull" much lower.
2006-06-15 12:57:59 -07:00
Vadim Gelfer
a6efe6d9e6 http server: support persistent connections.
only "hg serve" affected yet.  http server running cgi script will not
use persistent connections.  support for fastcgi will help that.

clients that support keepalive can use one tcp connection for all
commands during clone and pull.  this makes latency of binary search
during pull much lower over wan.

if server does not know content-length, it will force connection to
close at end.  right fix is to use chunked transfer-encoding but this is
easier and does not hurt performance. only command that is affected is
"changegroup" which is always last command during a pull.
2006-06-15 12:55:58 -07:00
Vadim Gelfer
8ffb8be124 merge with crew. 2006-06-14 15:41:37 -07:00
Vadim Gelfer
844d833844 move hgk.py into hgext. now to enable "hg view" is one less step.
edit ~/.hgrc:

[extensions]
hgext.hgk =

cp contrib/hgk ~/bin
2006-06-14 15:41:06 -07:00
Benoit Boissinot
6eff6b4069 replace old-http:// syntax by static-http:// and deprecate the redundant hg:// 2006-06-14 21:53:42 +02:00
Daniel Santa Cruz ext:(%22)
b8d8685fd9 Add web.contact to the hgrc documentation. 2006-06-14 18:27:30 +00:00
Vadim Gelfer
ae14071210 dirstate: fix call to os.lstat when st is None 2006-06-13 14:56:01 -07:00
Vadim Gelfer
74267cb826 honor signals during load of extensions. 2006-06-13 08:56:23 -07:00
Vadim Gelfer
a7a6090062 dirstate.read: make 15% faster.
time to read dirstate for my kernel repo goes from 0.22s to 0.18s.
2006-06-12 22:09:50 -07:00
Vadim Gelfer
d3100d1f2c merge with crew. 2006-06-12 09:36:44 -07:00
Vadim Gelfer
6ee0c5dc9f dirstate: speed up inner loop of read. 2006-06-12 09:36:23 -07:00
Thomas Arendsen Hein
56a3c0876e Report on push/pull if heads are merged, too, like for new heads.
Use case: If a remote repo has two heads and I _want_ to merge them, I merge
and push. Meanwhile someone else pushed on top of one of the heads. He won't
get a warning, because he doesn't create a new head, I won't notice that I
don't close a head, because I don't get a message telling me.
2006-06-10 17:39:29 +02:00
Benoit Boissinot
4c76bf148e merge with upstream 2006-06-10 11:28:40 +02:00
Matt Mackall
6452b6e88f ssh: add capability detection at startup
Because older servers don't return any output for unknown commands,
it's tricky to add new commands. The approach is this: we add a
"hello" command that reports any interesting capabilities (and other
things that might be of interest in the future). To detect whether
this new command is supported, we issue both it and our startup
detection command ("between") at the beginning of a connection.
2006-06-09 18:03:35 -05:00
Matt Mackall
e9d5610b1d ssh: gather initial output so we can do capability detection 2006-06-09 17:48:14 -05:00
Matt Mackall
3debcf9f86 Initial implementation of hello command for ssh 2006-06-09 17:47:38 -05:00
Vadim Gelfer
8861256257 add --lsprof option. 3x faster than --profile, more useful output.
results include calls to c code and nested calls.

requires python 2.5 or lsprof installed from svn at
http://codespeak.net/svn/user/arigo/hack/misc/lsprof/
2006-06-09 12:05:17 -07:00