Matt Mackall <mpm@selenic.com> [Sun, 25 Jul 2010 17:18:35 -0500] rev 11673
convert: handle closed branch heads in hg-hg conversion (
issue2185)
Matt Mackall <mpm@selenic.com> [Sun, 25 Jul 2010 17:10:32 -0500] rev 11672
check-code: add warning on lines over 80 characters
Lee Cantey <lcantey@gmail.com> [Sun, 25 Jul 2010 08:22:03 -0700] rev 11671
Remove variable output affected by length of TMPDIR.
If the temporary directory is longer than /tmp then it's possible that
the Subject line will get wrapped by the headencode function.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 25 Jul 2010 13:10:57 +0200] rev 11670
chunkbuffer: split big strings directly in chunkbuffer
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 25 Jul 2010 10:05:38 +0900] rev 11669
localrepo.status: move fixup concatenation inside if block for clarity
clean += fixup only makes sense if fixup is not empty; it should
be inside the "if fixup" test.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 24 Jul 2010 17:23:08 +0200] rev 11668
chunkbuffer: targetsize isn't used outside of read()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 24 Jul 2010 15:21:39 +0200] rev 11667
chunkbuffer: use list instead of cStringIO
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 24 Jul 2010 15:20:29 +0200] rev 11666
chunkbuffer: use for/else to detect end of iteration
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 24 Jul 2010 00:15:29 +0200] rev 11665
changegroup*(): use enumerate when possible
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 24 Jul 2010 00:03:19 +0200] rev 11664
changegroupsubset(): with the fix, prune() is actually useful in the testsuite
Martin Geisler <mg@aragost.com> [Thu, 22 Jul 2010 13:48:34 +0200] rev 11663
test-permissions: echo commands to make output readable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 23 Jul 2010 00:04:18 +0200] rev 11662
changegroupsubset: simplify knownheads/has_cl_set computation
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 23:54:57 +0200] rev 11661
changegroupsubset(): ancestors() is not inclusive, we need to remove the "heads"
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 23:44:14 +0200] rev 11660
changegroupsubset(): move comment at the right place
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 23:13:03 +0200] rev 11659
changegroupsubset(): refactor the prune() functions
Martin Geisler <mg@lazybytes.net> [Thu, 22 Jul 2010 22:23:54 +0200] rev 11658
Merge with stable
Martin Geisler <mg@lazybytes.net> [Thu, 22 Jul 2010 21:43:45 +0200] rev 11657
help: make helptable a list instead of a tuple
The table should always have been a list so that extensions can append
their own help topics -- hgsubversion would like to do this now.
Jason Harris <jason@jasonfharris.com> [Sat, 03 Jul 2010 08:28:23 +0200] rev 11656
test-command-template: test 'children' template keyword
Jason Harris <jason@jasonfharris.com> [Sat, 03 Jul 2010 05:24:16 +0200] rev 11655
templates: 'children' keyword
The template keyword 'parents' is already present and this just
provides the complimentary template keyword.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 16:51:45 +0200] rev 11654
changegroupsubset(): change variable names, simplify lookup logic
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 16:18:33 +0200] rev 11653
changegroup(): used "linkrev" instead of "revlink"
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 15:32:26 +0200] rev 11652
fix comment
Matt Mackall <mpm@selenic.com> [Thu, 22 Jul 2010 08:24:56 -0500] rev 11651
Merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Jul 2010 08:17:38 -0500] rev 11650
revset: fix ancestor subset handling (
issue2298)
Christian Fischer <christian@fi12.de> [Mon, 12 Jul 2010 16:07:58 +0200] rev 11649
hgwebdir: use template paths configured in the hgrc (
issue2281)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 22 Jul 2010 14:34:37 +0200] rev 11648
changegroup*(): use set instead of dict
Martin Geisler <mg@aragost.com> [Thu, 22 Jul 2010 10:49:55 +0200] rev 11647
Merge with stable
Brodie Rao <brodie@bitheap.org> [Wed, 21 Jul 2010 17:06:00 -0400] rev 11646
bash/zsh completion: use HGPLAIN when invoking hg (
issue2297)
Dan Drake <drake@kaist.edu> [Thu, 22 Jul 2010 14:30:27 +0900] rev 11645
patch: fix extract() docstring, it returns branch as well
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 22 Jul 2010 15:14:22 +0900] rev 11644
merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 22 Jul 2010 14:33:50 +0900] rev 11643
doc: remove has_key usage in hgmanpage
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 22 Jul 2010 14:30:29 +0900] rev 11642
gendoc: remove callable usage (check-code)
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 21 Jul 2010 12:41:18 +0900] rev 11641
bookmarks: rewrite _bookmarks method documentation
Mads Kiilerich <mads@kiilerich.com> [Wed, 21 Jul 2010 19:29:57 +0200] rev 11640
init: create target directory recursively
Subrepos with relative paths must often be cloned to locations deep in the
directory structure. This allows clone over ssh (init+push) work.
Mads Kiilerich <mads@kiilerich.com> [Wed, 21 Jul 2010 17:51:37 +0200] rev 11639
doc: make sure we use our own code for generating man pages
docutils would in some situations pick up its own manpage.py instead of
doc/manpage.py. Renaming to hgmanpage.py makes it less ambiguous.
Greg Ward <greg-hg@gerg.ca> [Sun, 18 Jul 2010 21:29:29 -0400] rev 11638
transplant: crash if repo.commit() finds nothing to commit
(makes
issue2135,
issue2264 more obvious, but does nothing to fix
either one)
This seems to happen in two distinct cases:
* patch.patch() claims success but changes nothing (e.g.
the transplanted changeset adds an empty file that already
exists)
* patch.patch() makes changes, but repo.status() fails to report them
Both of these seem like bugs in other parts of Mercurial, so arguably
it's not transplant's job to detect the failure to commit. However:
* detecting the problem as soon as possible is desirable
* it prevents a more obscure crash later, in transplants.write()
* there might be other lurking (or future) bugs that cause
repo.commit() to do nothing
Also, in the case of
issue2264 (source changesets silently dropped by
transplant), the only way to spot the problem currently is the crash
in transplants.write(). Failure to transplant a patch should abort
immediately, whether it's user error (patch does not apply) or a
Mercurial bug (e.g. repo.status() failing to report changes).
Vishakh H <vsh426@gmail.com> [Tue, 20 Jul 2010 20:37:29 +0530] rev 11637
mq: cleanup status if applied mq is stripped (
issue1881)
stripping of applied mq patches leads to wrong state recorded in status
file. find all mq patches that will be affected and clean up status file
before strip.
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
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 03 Jul 2010 17:58:48 +0900] rev 11606
log: refactor: compute the value of last outside of filerevgen
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 16 Jul 2010 16:33:55 +0900] rev 11605
context: use os.lstat instead of os.stat to fetch file size
When file is a link, we want the size of the link itself, not the size
of the file it points to.
Matt Mackall <mpm@selenic.com> [Fri, 16 Jul 2010 13:26:39 -0500] rev 11604
check-code: add --blame switch
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 16 Jul 2010 18:35:15 +0200] rev 11603
changegroupsubset: remove unneeded cast to list
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:48:52 +0200] rev 11602
check-code: catch dict.has_key
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:45:52 +0200] rev 11601
Merge with stable
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:44:30 +0200] rev 11600
mark ui.warn strings for translation
Martin Geisler <mg@lazybytes.net> [Fri, 16 Jul 2010 14:40:57 +0200] rev 11599
check-code: warn about untranslated ui.warn calls
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 16 Jul 2010 13:38:33 +0200] rev 11598
localrepo: remove push_{unbundle,addchangegroup}(), factor it inside push()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 16 Jul 2010 00:52:13 +0200] rev 11597
wireproto: refactor list of nodeid encoding / decoding
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 15:06:45 -0500] rev 11596
ssh: drop some old imports
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 15:05:04 -0500] rev 11595
protocol: move hgweb protocol support back into protocol.py
- introduce iscmd
- simplify error handling
- remove unneeded imports
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 13:56:52 -0500] rev 11594
protocol: unify server-side capabilities functions
Matt Mackall <mpm@selenic.com> [Thu, 15 Jul 2010 11:24:42 -0500] rev 11593
protocol: unify unbundle on the server side
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:12:18 -0500] rev 11592
protocol: unify client unbundle support
- introduce _callpush helper
- factor out differences in result handling into helpers
- unify
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:09:31 -0500] rev 11591
protocol: unify client changegroup methods
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:07:13 -0500] rev 11590
protocol: convert some ssh abort calls
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 17:07:10 -0500] rev 11589
protocol: clean up call-like functions in http and ssh clients
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:55:44 -0500] rev 11588
protocol: unify stream_out client code
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:35:51 -0500] rev 11587
protocol: unify basic http client requests
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:34:57 -0500] rev 11586
protocol: move basic ssh client commands to wirerepository
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 16:19:27 -0500] rev 11585
protocol: unify stream_out command
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:43:20 -0500] rev 11584
protocol: unify changegroup commands
- add sendchangegroup protocol helpers
- handle commands with None results
- move changegroup commands into wireproto.py
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:33:21 -0500] rev 11583
protocol: add proto to method prototypes
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:25:15 -0500] rev 11582
protocol: use new wireproto infrastructure in ssh
- add protocol helper
- insert wireproto into dispatcher
- drop duplicate functions from hgweb implementation
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:25:15 -0500] rev 11581
protocol: introduce wireproto.py
- add a protocol-independent dispatcher
- move most of the basic commands from sshserver to wireproto
- dispatch through wireproto first
Matt Mackall <mpm@selenic.com> [Wed, 14 Jul 2010 15:25:15 -0500] rev 11580
protocol: move most ssh responses to returns
Matt Mackall <mpm@selenic.com> [Mon, 12 Jul 2010 17:28:02 -0500] rev 11579
protocol: add ssh getargs
- introduce getargs
- make getarg a helper function
- update users
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 21:44:51 +0200] rev 11578
discovery: remove duplication for new remote head discovery
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 21:21:19 +0200] rev 11577
discovery: better coding style
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 21:20:32 +0200] rev 11576
discovery: simplify findoutgoing(), the updated_head stuff wasn't used
Brendan Cully <brendan@kublai.com> [Thu, 15 Jul 2010 10:41:41 -0700] rev 11575
mq: evaluate --user before invoking editor with -e (
issue2289)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 14:41:22 +0200] rev 11574
Abort: add a hint argument, printed in the next line inside parenthesis
discovery was using a custom made message for this purpose
push now returns -1 after aborting, instead of 1 previously
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 15 Jul 2010 14:40:17 +0200] rev 11573
discovery: clarify comment
Martin Geisler <mg@lazybytes.net> [Thu, 15 Jul 2010 14:11:14 +0200] rev 11572
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 15 Jul 2010 13:24:02 +0200] rev 11571
subrepo: docstrings
Martin Geisler <mg@lazybytes.net> [Thu, 15 Jul 2010 14:02:17 +0200] rev 11570
gendoc: remove call to callable for py3k compatibility
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 23:15:03 -0300] rev 11569
check-code: added check for reduce usage
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 23:15:00 -0300] rev 11568
check-code: check for tuple parameter unpacking (missing in py3k)
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 23:03:21 -0300] rev 11567
removed exception args indexing (not supported by py3k)
Py3k removed __getitem__ for exception classes. The correct way of
getting the exception arguments is by using the args method.
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 22:59:57 -0300] rev 11566
util: use fakebuffer as buffer in py3k
There's no buffer type in py3k, util.py has a function, called
fakebuffer, that implements a similar API. This patch implements
fakebuffer as a memoryview wrapper in py3k.
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 22:59:43 -0300] rev 11565
util: improved the check for the existence of the 'buffer' builtin
2to3 is unable to translate '__builtin__' calls to 'builtins' when
hasattr is used (as in hasattr(__builtin__, buffer)). Translating the
check to the format
try:
whatever
except NameError
# define whatever
__builtin__.whatever = whatever
is a correct way of checking for the name and has the benefit of being
translated by 2to3. This patch implements the same idea for the
aforementioned example.
Renato Cunha <renatoc@gmail.com> [Wed, 14 Jul 2010 22:58:29 -0300] rev 11564
record: removed 'has_key' usage
Py3k has removed the dictionary has_key method. This patch implements
a one argument function that can be used as a callback by hg.revert in
the record extension.
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 21:30:50 +0200] rev 11563
Merge with stable
Joel Rosdahl <joel@rosdahl.net> [Thu, 08 Jul 2010 22:44:15 +0200] rev 11562
test-log: Add test for "hg log -pf" (
issue647)
To test
f786fc4b8764 we analyze this repo:
0 | 1 | 2 | 3 | 4
a ------------> b
\
b -> dir/b -------> e
d
We follow dir/b and expects rev 0, 1 and 2.
A log following b will surprisingly report rev 0 and 1. That's because the
content and the parents are the same in rev 1 and rev 3, and the revlog entry
from rev 1 is thus reused in rev 3 even though the revlink is incorrect.
Note that if we follow e then we will get all revs, including rev 3, because b
gets added to the set of interesting filenames we are following through all
revisions. That might be surprising, but that's (currently) how it is.
Original test case by Joel Rosdahl <joel@rosdahl.net>
Original test reviewed by Nicolas Dumazet <nicdumz@gmail.com>
Brodie Rao <brodie@bitheap.org> [Wed, 14 Jul 2010 11:02:20 -0400] rev 11561
bookmarks: ensure current bookmark is updated when specified with -r .
"hg bookmark -r . foo" should be equivalent to "hg bookmark foo".
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11560
subrepos: let caller specify a filename for SVN commands
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11559
subrepo: add abstract superclass for subrepo classes
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11558
archival: remove prefix argument from archivers
When the archivers work on the full we can reuse the same archiver
with different prefixes (for different subrepositories).
Martin Geisler <mg@lazybytes.net> [Wed, 14 Jul 2010 20:25:31 +0200] rev 11557
archival: move commands.archive.guess_type to archival.guesskind
The list of suffixes for each kind of archive belongs in archival.
Renamed function to fit with out code style.
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 20:41:01 +0200] rev 11556
merge stable to default
Brodie Rao <brodie@bitheap.org> [Thu, 01 Jul 2010 19:23:26 -0500] rev 11555
color/progress: subclass ui instead of using wrapfunction (
issue2096)
This resolves the issue of hg cmd --mq not being colorized. This was due
to color wrapping only the instance of ui passed to dispatch._runcommand(),
which isn't the same ui object that mq.mqcommand() receives. After dispatch
calls extensions.loadall(), it makes sure any changes to ui.__class__ in
uisetup are propagated.
progress is updated to wrap ui in the same manner because wrapfunction
doesn't play well when ui.__class__ has been replaced by another extension
(orig will point to the old class method instead of color's).
Henrik Stuart <hg@hstuart.dk> [Wed, 14 Jul 2010 19:44:49 +0200] rev 11554
merge with stable