David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:54 -0500] rev 15910
tests: add subrepo recursion tests for add/forget with explicit paths
When support for handling add/forget of explicit paths within subrepos was
added (9e99d2bbb1b1/95174c381525), nested subrepos weren't handled properly.
This change adds test coverage to expose the broken behavior, which will be
fixed in later patches.
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 15:07:15 -0600] rev 15909
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 14:56:52 -0600] rev 15908
bookmarks: backout locking change in 12dea4d998ec
Repo lock only applies to data in .hg/store/
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:23:23 +0100] rev 15907
changeset_printer: display changeset phase on debug level
Backward compatibility make it hard to display it on higher level
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:43:41 +0100] rev 15906
phase: report phase movement
When used in "set" mode, the phase command now display the number of changeset
who changed phase.
Na'Tosha Bard <natosha@unity3d.com> [Mon, 16 Jan 2012 19:45:35 +0100] rev 15905
largefiles: correctly handle newly added largefile on other side of merge
Mads Kiilerich <mads@kiilerich.com> [Tue, 17 Jan 2012 02:55:55 +0100] rev 15904
rebase: write series file without removed mq patches
Rebase will remove empty changesets and will also completely remove the mq
patch file for rebased empty patches.
Starting with b28004513977 (1.9) it would preserve guards by writing the old
series file back. That would however also reintroduce removed patch files in
the series file and the inconsistency would make qpop + qpush fail.
This patch backs out most of b28004513977 and makes sure guards are preserved
without reintroducing removed patches.
Matt Mackall <mpm@selenic.com> [Tue, 17 Jan 2012 17:48:59 -0600] rev 15903
revset: roots needs to be computed on full set
Sune Foldager <cryo@cyanite.org> [Wed, 18 Jan 2012 16:46:15 +0100] rev 15902
phases: use nodemap to check for missing nodes
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.