--- a/hgext/histedit.py Mon Feb 01 23:17:40 2016 +0900
+++ b/hgext/histedit.py Mon Feb 01 16:14:51 2016 -0600
@@ -162,7 +162,7 @@
By default each edited revision needs to be present in histedit commands.
To remove revision you need to use ``drop`` operation. You can configure
-the drop to be implicit for missing commits by adding:
+the drop to be implicit for missing commits by adding::
[histedit]
dropmissing = True
@@ -873,7 +873,7 @@
This command lets you edit a linear series of changesets (up to
and including the working directory, which should be clean).
- You can::
+ You can:
- `pick` to [re]order a changeset
@@ -887,12 +887,12 @@
- `edit` to edit this changeset
- There are a number of ways to select the root changset::
+ There are a number of ways to select the root changset:
- Specify ANCESTOR directly
- Use --outgoing -- it will be the first linear changeset not
- included in destination. (See :hg:"help default-push")
+ included in destination. (See :hg:`help config.default-push`)
- Otherwise, the value from the "histedit.defaultrev" config option
is used as a revset to select the base revision when ANCESTOR is not
@@ -1315,12 +1315,12 @@
if _constraints.noother in constraints and ha not in expected:
raise error.ParseError(
_('%s "%s" changeset was not a candidate')
- % (action.verb, node.short(ha)),
+ % (action.verb, ha[:12]),
hint=_('only use listed changesets'))
if _constraints.forceother in constraints and ha in expected:
raise error.ParseError(
_('%s "%s" changeset was not an edited list candidate')
- % (action.verb, node.short(ha)),
+ % (action.verb, ha[:12]),
hint=_('only use listed changesets'))
if _constraints.noduplicates in constraints and ha in seen:
raise error.ParseError(_(
--- a/hgext/rebase.py Mon Feb 01 23:17:40 2016 +0900
+++ b/hgext/rebase.py Mon Feb 01 16:14:51 2016 -0600
@@ -121,18 +121,18 @@
destination changeset is not modified by rebasing, but new
changesets are added as its descendants.)
- Here are the ways to select changesets::
+ Here are the ways to select changesets:
1. Explicitly select them using ``--rev``.
2. Use ``--source`` to select a root changeset and include all of its
- descendants.
+ descendants.
3. Use ``--base`` to select a changeset; rebase will find ancestors
- and their descendants which are not also ancestors of the destination.
+ and their descendants which are not also ancestors of the destination.
4. If you do not specify any of ``--rev``, ``source``, or ``--base``,
- rebase will use ``--base .`` as above.
+ rebase will use ``--base .`` as above.
Rebase will destroy original changesets unless you use ``--keep``.
It will also move your bookmarks (even if you do).
@@ -712,8 +712,8 @@
repo.ui.debug(" future parents are %d and %d\n" %
(repo[p1].rev(), repo[p2].rev()))
- if rev == min(state):
- # Case (1) initial changeset of a non-detaching rebase.
+ if not any(p.rev() in state for p in parents):
+ # Case (1) root changeset of a non-detaching rebase set.
# Let the merge mechanism find the base itself.
base = None
elif not repo[rev].p2():
--- a/mercurial/commands.py Mon Feb 01 23:17:40 2016 +0900
+++ b/mercurial/commands.py Mon Feb 01 16:14:51 2016 -0600
@@ -598,6 +598,8 @@
def _dobackout(ui, repo, node=None, rev=None, **opts):
if opts.get('commit') and opts.get('no_commit'):
raise error.Abort(_("cannot use --commit with --no-commit"))
+ if opts.get('merge') and opts.get('no_commit'):
+ raise error.Abort(_("cannot use --merge with --no-commit"))
if rev and node:
raise error.Abort(_("please specify just one revision"))
--- a/mercurial/help/config.txt Mon Feb 01 23:17:40 2016 +0900
+++ b/mercurial/help/config.txt Mon Feb 01 16:14:51 2016 -0600
@@ -38,11 +38,11 @@
.. container:: windows
- ``%USERPROFILE%\mercurial.ini``
+ - ``%USERPROFILE%\mercurial.ini`` (on Windows)
.. container:: unix.plan9
- ``$HOME/.hgrc``
+ - ``$HOME/.hgrc`` (on Unix, Plan9)
The names of these files depend on the system on which Mercurial is
installed. ``*.rc`` files from a single directory are read in
--- a/mercurial/verify.py Mon Feb 01 23:17:40 2016 +0900
+++ b/mercurial/verify.py Mon Feb 01 16:14:51 2016 -0600
@@ -149,6 +149,7 @@
filenodes = self._verifymanifest(mflinkrevs)
self._crosscheckfiles(mflinkrevs, filelinkrevs, filenodes)
+ del mflinkrevs
totalfiles, filerevisions = self._verifyfiles(filenodes, filelinkrevs)
@@ -249,7 +250,6 @@
ui.progress(_('crosschecking'), count, total=total)
self.err(c, _("changeset refers to unknown manifest %s") %
short(m))
- mflinkrevs = None # del is bad here due to scope issues
for f in sorted(filelinkrevs):
count += 1
--- a/tests/test-backout.t Mon Feb 01 23:17:40 2016 +0900
+++ b/tests/test-backout.t Mon Feb 01 16:14:51 2016 -0600
@@ -753,3 +753,10 @@
$ hg backout --no-commit .
removing 3
changeset cccc23d9d68f backed out, don't forget to commit.
+ $ hg revert -aq
+
+--no-commit can't be used with --merge
+
+ $ hg backout --merge --no-commit 2
+ abort: cannot use --merge with --no-commit
+ [255]
--- a/tests/test-histedit-arguments.t Mon Feb 01 23:17:40 2016 +0900
+++ b/tests/test-histedit-arguments.t Mon Feb 01 16:14:51 2016 -0600
@@ -171,7 +171,7 @@
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
- hg: parse error: pick "363035386362" changeset was not a candidate
+ hg: parse error: pick "6058cbb6cfd7" changeset was not a candidate
(only use listed changesets)
[255]
--- a/tests/test-histedit-base.t Mon Feb 01 23:17:40 2016 +0900
+++ b/tests/test-histedit-base.t Mon Feb 01 16:14:51 2016 -0600
@@ -232,7 +232,7 @@
> base d273e35dcdf2 B
> pick b2f90fd8aa85 I
> EOF
- hg: parse error: base "643237336533" changeset was not an edited list candidate
+ hg: parse error: base "d273e35dcdf2" changeset was not an edited list candidate
(only use listed changesets)
$ hg --config experimental.histeditng=False histedit 5 --commands - 2>&1 << EOF | fixbundle
--- a/tests/test-histedit-commute.t Mon Feb 01 23:17:40 2016 +0900
+++ b/tests/test-histedit-commute.t Mon Feb 01 16:14:51 2016 -0600
@@ -282,7 +282,7 @@
> pick de71b079d9ce e
> pick 38b92f448761 c
> EOF
- hg: parse error: pick "646537316230" changeset was not a candidate
+ hg: parse error: pick "de71b079d9ce" changeset was not a candidate
(only use listed changesets)
$ hg log --graph
@ changeset: 7:803ef1c6fcfd
--- a/tests/test-rebase-parameters.t Mon Feb 01 23:17:40 2016 +0900
+++ b/tests/test-rebase-parameters.t Mon Feb 01 16:14:51 2016 -0600
@@ -412,6 +412,16 @@
$ cd ..
+Rebasing both a single revision and a merge in one command
+
+ $ hg clone -q -u . a aX
+ $ cd aX
+ $ hg rebase -r 3 -r 6
+ rebasing 3:32af7686d403 "D"
+ rebasing 6:eea13746799a "G"
+ saved backup bundle to $TESTTMP/aX/.hg/strip-backup/eea13746799a-ad273fd6-backup.hg (glob)
+ $ cd ..
+
Test --tool parameter:
$ hg init b