Henrik Stuart <henrik.stuart@edlund.dk> [Wed, 18 Jan 2012 14:50:17 +0100] rev 15901
repair: move phases code after invalidation code
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jan 2012 11:29:32 +0100] rev 15900
largefiles: remove empty directories upon update (issue3202)
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:30 -0600] rev 15899
revset: optimize roots and children
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:22 -0600] rev 15898
revset: optimize building large lists in formatrevspec
The large or-expressions we used to build required a substantial
amount of subset filtering in orset() which was inefficient. Instead we build a
single string which we process in one go with a special internal predicate.
Mads Kiilerich <mads@kiilerich.com> [Thu, 08 Dec 2011 16:28:18 +0100] rev 15897
hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
The Mercurial ssh protocol is defined as if it was ssh-ing to a shell account on
an ordinary ssh server, and where hg was available in $PATH and it executed
the command "hg -R REPOPATH serve --stdio".
The Mercurial ssh client can in most cases just pass REPOPATH to the shell, but
if it contains unsafe characters the client will have to quote it so the shell
will pass the right -R value to hg. Correct quoting of repopaths was introduced
in d8fa35c28335 and tweaked in 86fc364ca5f8.
hg-ssh doesn't create the command via a shell and used a simple parser instead.
It worked fine for simple paths without any quoting, but if any kind of quoting
was used it failed to parse the command like the shell would do it.
This makes hg-ssh behave more like a normal shell with hg in the path would do.
Matt Zuba <matt.zuba@goodwillaz.org> [Sun, 15 Jan 2012 13:50:12 -0700] rev 15896
hooks: prioritize run order of hooks
As of Mercurial 1.3, hooks are sorted in the order they are read into
Mercurial. There are many instances when someone may want the hooks
sorted in a specific order; this patch allows prioritizing hooks, while
maintaining the existing enumeration for hooks without a priority.
Matt Mackall <mpm@selenic.com> [Sun, 15 Jan 2012 18:00:01 -0600] rev 15895
merge with stable
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Wed, 11 Jan 2012 15:53:42 -0500] rev 15894
merge: report all files in _checkunknown
When doing hg up, if there is a file conflict with untracked files,
currently only the first such conflict is reported. With this patch,
all of them are listed.
With this patch error message is now reported as
a: untracked file differs
b: untracked file differs
abort: untracked files in working directory conflict with files in
requested revision
instead of
abort: untracked file in working directory differs from file in
requested revision: 'a'
This is a follow up to an old attempt to do this here:
http://selenic.com/pipermail/mercurial-devel/2011-August/033625.html
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 22:16:01 +0100] rev 15893
discovery: fix prepush documentation
The prepush documentation claim that when we refuse to push, the second element
of the returng tuple is an "outgoing" integer. value should be 0 when no
outgoing changeset and 1 otherwise. In pratice if there are no outgoing
changeset, "outgoing" value is alway 1 and util.Abort is raised on other error.
the stable branch also include this error so it wasn't introduced by a recent
refactoring.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 02:04:16 +0100] rev 15892
phases: simplify phase exchange and movement over pushkey
The code now only exchange draft root and only care about movement related to
public//draft boundary.
There is multiple reason to simplify this code:
* Secret are never discovered anymore
* We decided to not support more the three existing phase
Removing phase index from pushkey (if ever decided) will be made in another commit.