--- a/tests/test-evolve.t Mon Apr 25 16:24:42 2016 -0700
+++ b/tests/test-evolve.t Mon Apr 25 16:24:42 2016 -0700
@@ -1468,11 +1468,26 @@
$ hg metaedit -r 0
abort: cannot edit commit information for public revisions
[255]
+ $ hg metaedit --fold
+ abort: revisions must be specified with --fold
+ [255]
+ $ hg metaedit -r 0 --fold
+ abort: cannot fold public revisions
+ [255]
+ $ hg metaedit '36 + 42' --fold
+ abort: cannot fold non-linear revisions (multiple roots given)
+ [255]
+ $ hg metaedit '36::39 + 41' --fold
+ abort: cannot fold non-linear revisions (multiple heads given)
+ [255]
check that metaedit respects allowunstable
$ hg metaedit '.^' --config 'experimental.evolution=createmarkers, allnewcommands'
abort: cannot edit commit information in the middle of a stack
(c904da5245b0 will be affected)
[255]
+ $ hg metaedit '18::20' --fold --config 'experimental.evolution=createmarkers, allnewcommands'
+ abort: cannot fold chain not ending with a head or with branching
+ [255]
$ hg metaedit --user foobar
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg log --template '{rev}: {author}\n' -r '42:' --hidden
@@ -1483,26 +1498,57 @@
TODO: support this
$ hg metaedit '.^::.'
- abort: editing multiple revisions is not currently supported
+ abort: editing multiple revisions without --fold is not currently supported
[255]
+ $ HGEDITOR=cat hg metaedit '.^::.' --fold
+ HG: This is a fold of 2 changesets.
+ HG: Commit message of changeset 41.
+
+ amended
+
+ HG: Commit message of changeset 43.
+
+ will be evolved safely
+
+
+
+ HG: Enter commit message. Lines beginning with 'HG:' are removed.
+ HG: Leave message empty to abort commit.
+ HG: --
+ HG: user: test
+ HG: branch 'default'
+ HG: changed a
+ HG: changed newfile
+ 2 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+ $ glog -r .
+ @ 44:41bf1183869c@default(draft) amended
+ |
+ ~
+
no new commit is created here because the date is the same
$ HGEDITOR=cat hg metaedit
+ amended
+
+
will be evolved safely
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
- HG: user: foobar
+ HG: user: test
HG: branch 'default'
HG: changed a
+ HG: changed newfile
nothing changed
$ glog -r '.^::.'
- @ 43:62353add3dfb@default(draft) will be evolved safely
+ @ 44:41bf1183869c@default(draft) amended
|
- o 41:34ae045ec400@default(draft) amended
+ o 36:43c3f5ef149f@default(draft) add uu
|
~
@@ -1510,15 +1556,22 @@
$ hg metaedit --config defaults.metaedit=
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg log -r '.^::.' --template '{rev}: {desc|firstline}\n'
- 41: amended
- 44: will be evolved safely
+ 36: add uu
+ 45: amended
$ hg up .^
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg metaedit --user foobar2 44
+ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg metaedit --user foobar2 45
$ hg log --template '{rev}: {author}\n' -r '42:' --hidden
42: test
43: foobar
- 44: foobar
- 45: foobar2
- $ hg diff -r 44 -r 45 --hidden
+ 44: test
+ 45: test
+ 46: foobar2
+ $ hg diff -r 45 -r 46 --hidden
+
+'fold' one commit
+ $ hg metaedit 39 --fold --user foobar3
+ 1 changesets folded
+ $ hg log -r 47 --template '{rev}: {author}\n'
+ 47: foobar3