Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 20 Jul 2010 18:29:00 +0900] rev 11636
bundle: lookup revisions after addbranchrevs
When addbranchrevs extends revs, it adds changeset hashes, and not node ids.
Which means that we have to lookup for revisions _after_ the addbranchrevs
call, instead of before.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 20 Jul 2010 14:42:05 +0900] rev 11635
log: do not redefine cachefunc in walkchangerevs
The same variable is defined a few blocks earlier. The first phases in
walkchangerevs should in fact fill that cache, and allow faster lookups
in the last phase. Redefining and overriding this cached function, (knowing
that it will be called with the same arguments) defeats the caching purpose.
Martin Geisler <mg@aragost.com> [Wed, 21 Jul 2010 09:43:45 +0200] rev 11634
cmdutils: fix code style
Vishakh H <vsh426@gmail.com> [Tue, 20 Jul 2010 23:29:49 +0530] rev 11633
contrib: add debugshell extension
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 20 Jul 2010 14:32:33 +0900] rev 11632
log: document the different phases in walkchangerevs
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 20 Jul 2010 14:13:33 +0900] rev 11631
log: slowpath: only walk specified revision range during preparation
Even with --removed, it does not make sense to examine changesets outside
of the revision range that was specified by the user: the last phase only
yields a subset of (revs), preparation phase hence only has to examine
(revs) to fill correctly fncache.
Matt Mackall <mpm@selenic.com> [Tue, 20 Jul 2010 15:07:10 -0500] rev 11630
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Tue, 13 Jul 2010 03:04:14 +0200] rev 11629
revert: rename original to .orig instead of copying (
issue2282)
By renaming before reverting the content of the file we ensure that we handle
and break hardlinks properly.
Handling of other hardlinks to .orig is somebody elses problem.
Greg Ward <greg-hg@gerg.ca> [Tue, 20 Jul 2010 14:00:47 -0400] rev 11628
inotify: make inotifydirstate.status() returns a tuple of lists.
This makes it consistent with dirstate.status(), which is important if
there are other extensions messing with the output of status(). Those
extensions can safely assume that dirstate.status() returns a tuple of
lists, because its docstring says it does. But
inotifystatus.dirstate() returns a list of lists, which can break
those other extensions.
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 20 Jul 2010 20:52:23 +0200] rev 11627
protocol: move the streamclone implementation into wireproto
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 20 Jul 2010 09:56:37 +0200] rev 11626
protocol: use generators instead of req.write() for hgweb stream responses
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 20 Jul 2010 20:53:33 +0200] rev 11625
protocol: wrap non-string protocol responses in classes
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 22:20:19 +0200] rev 11624
protocol: convert StreamException to generated error code
This makes it much easier to handle these errors at the transport level.
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 22:20:10 +0200] rev 11623
protocol: extract compression from streaming mechanics
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 18:18:35 +0200] rev 11622
protocol: rename send methods to get grouping by prefix
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 18:16:15 +0200] rev 11621
protocol: shuffle server methods to group send methods
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 23:02:46 +0200] rev 11620
protocol: do not translate error messages on the remote side
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 19:02:30 +0200] rev 11619
protocol: use return shortcut instead of respond function
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 16 Jul 2010 19:01:34 +0200] rev 11618
protocol: command must be checked before passing in
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 20 Jul 2010 10:05:30 +0200] rev 11617
tests: rename some tests to help grouping
Christian Ebert <blacktrash@gmx.net> [Thu, 15 Jul 2010 10:24:31 +0200] rev 11616
keyword: add extra datefilters in a single update call
Martin Geisler <mg@lazybytes.net> [Mon, 19 Jul 2010 00:43:34 +0200] rev 11615
Merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 19 Jul 2010 00:43:24 +0200] rev 11614
Merge with main
Martin Geisler <mg@lazybytes.net> [Mon, 19 Jul 2010 00:41:41 +0200] rev 11613
cmdutil: fix accidental name clash with revrange function
The revrange function was used further up, and when a local variable
is defined with the same name, the earlier call to revrange becomes a
'local variable used before assignment' error.
The clash was introduced in
890ad9d6a169.
Steve Losh <steve@stevelosh.com> [Wed, 14 Jul 2010 18:28:12 -0400] rev 11612
commands: fix update's help to be more accurate
Branches can have multiple heads, so it doesn't make sense to speak of "the
head of the current branch". What update really does is try to update to the
*tip* of the current branch.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 18 Jul 2010 01:06:50 +0900] rev 11611
i18n: use encoding.colwidth() for correct column width
Some encoding and language combinations (e.g.: UTF-8 and Japanese)
cause encoding characters into sequence of bytes more than column
width of them.
So, encoding.colwidth() should be applied instread of len() on i18n
strings.
In addition to it, formatting by '%*s'/'%-*s' also uses "number of
bytes" to calculate space padding size, and should be fixed, too.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 18 Jul 2010 18:11:59 +0900] rev 11610
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 04 Jul 2010 18:07:30 +0900] rev 11609
log: slowpath: do not read the full changelog
When in the slowpath, we are examining _all_ changesets in revs.
We need to order reads so they happen increasingly for I/O performance.
Increasing windows were used to read changelog backwards in a windowed manner,
reading the changelog forward inside each window. But since no revision range
was specified, it was equivalent to reading the full changelog, even if a
single revision was passed to the commandline.
When --removed is used, we _need_ to scan all changesets, but if we're only
looking for file patterns, this is not necessary and we can stick to
the revspec that was given to us.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 03 Jul 2010 18:11:15 +0900] rev 11608
log: remove increasing windows usage in fastpath
The purpose of increasing windows is to allow backwards iteration on the
filelog at a reasonable cost.
But is it needed?
- if follow is False, we have no reason to iterate backwards.
We basically just want to walk the complete filelog and yield all revisions
within the revision range. We can do this forward or
backwards, as it only reads the index.
- when follow is True, we need to examine the contents of the filelog, and to
do this efficiently we need to read the filelog forward.
And on the other hand, to track ancestors and copies, we need to process
revisions backwards. But is it necessary to use increasing windows
for this?
We can iterate over the complete filelog forward, stack the revisions, and
read the reversed(pile), it does the same thing with a more readable code.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 03 Jul 2010 18:01:54 +0900] rev 11607
log: refactor: test for ranges inside filerevgen