FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 17 Mar 2015 18:20:24 +0900] rev 24355
bookmarks: reuse @number bookmark, if it refers changeset referred remotely
Before this patch, "@number" suffixed bookmark may be newly created at
each "hg pull" from the remote repository, if the bookmark in remote
repository diverges from one in local one.
This causes unexpected increase of "@number" suffixed bookmarks.
This patch reuses "@number" suffixed bookmark, if it refers the
changeset which is referred by the same bookmark in the remote
repository.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 17 Mar 2015 18:20:24 +0900] rev 24354
bookmarks: check @pathalias suffix before available @number for efficiency
Before this patch, available "@number" suffix is searched before
"@pathalias" suffix, even though the latter has higher priority than
the former if the latter exits.
This patch checks "@pathalias" suffix before available "@number" for
efficiency.
When an URL has multiple path definitions, the first one is used for
"pathalias" after this patch, even though the last one is used before
this patch, because:
- this choice can terminate loop immediately for efficiency
- such case seems to be rare
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 17 Mar 2015 18:20:24 +0900] rev 24353
bookmarks: prevent divergent bookmark from being updated unexpectedly
Before this patch, "@99" suffixed bookmark may be updated unexpectedly
by the bookmark value on the remote side at "hg pull", if all of "@1"
to "@99" suffixed bookmarks exist in the local repository, because
variable "n" still refers "@99" suffixed bookmark after the loop to
examine "@num" suffixes, even though it already exists in the local
repository.
This patch prevents divergent bookmark from being updated
unexpectedly, and shows warning message in such situation.
This patch uses original python script "seq.py" instead of "seq"
command to create sequence numbers in the test, because "seq" command
may not be available: it isn't defined in recent POSIX specification
(POSIX.1-2001 2013 Edition or XPG7)
Drew Gottlieb <drgott@google.com> [Wed, 18 Mar 2015 11:41:36 -0700] rev 24352
manifest: include Python.h before standard headers
Python.h should be included before any standard headers according to the
python docs: https://docs.python.org/2/c-api/intro.html#include-files
Matt Mackall <mpm@selenic.com> [Wed, 18 Mar 2015 13:38:06 -0500] rev 24351
crecord: use colwidth instead of ucolwidth
Matt Mackall <mpm@selenic.com> [Wed, 18 Mar 2015 13:37:18 -0500] rev 24350
manifest: speed up matches for large sets of files
If the number of files being matched is large, the bisection overhead
can dominate, which caused a performance regression for revert --all
and histedit. This introduces a (fairly arbitrary) cross-over from
using bisections to bulk search.
Matt Mackall <mpm@selenic.com> [Wed, 18 Mar 2015 12:03:44 -0500] rev 24349
perf: add methods for timing changeset file list reading
Mike Edgar <adgar@google.com> [Sun, 15 Mar 2015 21:52:35 -0400] rev 24348
censor: add exchange tests, via local push/pull and bundle/unbundle
These tests exercise the edge cases of exchanging censored commits between
censor-aware Mercurial clients. These tests do not extend to cover
backwards-compatible exchange; such tests require a script which builds older
versions of Mercurial.
For more background on the censorship feature design, see:
http://mercurial.selenic.com/wiki/CensorPlan
Mike Edgar <adgar@google.com> [Sun, 15 Mar 2015 21:52:17 -0400] rev 24347
censor: add censor command to hgext with basic client-side tests
The censor command is a core extension which can replace the contents of a
historical file revision with a censor "tombstone" which can be exchanged
with older clients in place of the real revision data. The command rewrites
the filelog by copying revision-by-revision.
Care must be taken to expand the fulltext of the children of the censored
revision before copying them to the new filelog; they might be stored as
deltas against the uncensored revision, and those deltas will be invalidated.
For more background on the censorship feature design, see:
http://mercurial.selenic.com/wiki/CensorPlan
Laurent Charignon <lcharignon@fb.com> [Fri, 13 Mar 2015 14:08:30 -0700] rev 24346
record: add comparison methods for recordhunk class