Commits

Pierre-Yves David committed 760d01a

amend: use core mechanism for amend

Evolve used its own code for amending. This was introduced before mercurial
includes commit --amend. The evolve code is now older and buggier. So we just
use the core cod when amend is called.

Message of the temporary commit is different, all test hash changed \o/.

Test change are been carefully checked.

Comments (0)

Files changed (6)

         try:
             repo.dirstate.setparents(divergent.node(), node.nullid)
             oldlen = len(repo)
-            amend(ui, repo)
+            amend(ui, repo, message='', logfile='')
             if oldlen == len(repo):
                 new = divergent
                 # no changes
     [('A', 'addremove', None,
      _('mark new/missing files as added/removed before committing')),
     ('e', 'edit', False, _('invoke editor on commit messages')),
+    ('', 'close-branch', None,
+     _('mark a branch as closed, hiding it from the branch list')),
+    ('s', 'secret', None, _('use the secret phase for committing')),
     ] + walkopts + commitopts + commitopts2,
     _('[OPTION]... [FILE]...'))
 def amend(ui, repo, *pats, **opts):
 
     Returns 0 on success, 1 if nothing changed.
     """
-
-    # determine updates to subsume
-    old = scmutil.revsingle(repo, '.')
-    metadata = _getmetadata(**opts)
-
-    lock = repo.lock()
-    try:
-        wlock = repo.wlock()
-        try:
-            if old.phase() == phases.public:
-                raise util.Abort(_("can not rewrite immutable changeset %s")
-                                 % old)
-            tr = repo.transaction('amend')
-            try:
-                oldphase = old.phase()
-                # commit current changes as update
-                # code copied from commands.commit to avoid noisy messages
-                ciopts = dict(opts)
-                ciopts.pop('message', None)
-                ciopts.pop('logfile', None)
-                ciopts['message'] = 'amends %s' % old.hex()
-                e = cmdutil.commiteditor
-                def commitfunc(ui, repo, message, match, opts):
-                    return repo.commit(message, opts.get('user'), opts.get('date'),
-                                       match, editor=e)
-                revcount = len(repo)
-                tempid = cmdutil.commit(ui, repo, commitfunc, pats, ciopts)
-                if len(repo) == revcount:
-                    # No revision created
-                    tempid = None
-
-                # find all changesets to be considered updates
-                head = repo['.']
-                updatenodes = set(repo.changelog.nodesbetween(
-                        roots=[old.node()], heads=[head.node()])[0])
-                updatenodes.remove(old.node())
-                okoptions = ['message', 'logfile', 'edit', 'user']
-                if not updatenodes:
-                    for o in okoptions:
-                        if opts.get(o):
-                            break
-                    else:
-                        raise error.Abort(_('no updates found'))
-                updates = [repo[n] for n in updatenodes]
-
-                # perform amend
-                if opts.get('edit'):
-                    opts['force_editor'] = True
-                newid, created = rewrite(repo, old, updates, head,
-                                         [old.p1().node(), old.p2().node()], opts)
-
-                if newid != old.node():
-                    createmarkers(repo, [(old, (repo[newid],))])
-                if tempid is not None:
-                    createmarkers(repo, [(repo[tempid], ())])
-                if created:
-                    # reroute the working copy parent to the new changeset
-                    phases.retractboundary(repo, oldphase, [newid])
-                    repo.dirstate.setparents(newid, node.nullid)
-                else:
-                    # rewrite() recreated an existing revision, discard
-                    # the intermediate revision if any. No need to update
-                    # phases or parents.
-                    # XXX: need another message in collapse case.
-                    tr.close()
-                    raise error.Abort(_('no updates found'))
-                tr.close()
-            finally:
-                tr.release()
-        finally:
-            wlock.release()
-    finally:
-        lock.release()
+    opts = opts.copy()
+    edit = opts.pop('edit', False)
+    opts['amend'] = True
+    if not (edit or opts['message']):
+        opts['message'] = repo['.'].description()
+    _alias, commitcmd = cmdutil.findcmd('commit', commands.table)
+    return commitcmd[0](ui, repo, *pats, **opts)
 
 def _commitfiltered(repo, ctx, match):
     """Recommit ctx with changed files not in match. Return the new
     except KeyError:
         raise error.Abort(_('evolution extension requires rebase extension.'))
 
-    for cmd in ['amend', 'kill', 'uncommit', 'touch', 'fold']:
+    for cmd in ['kill', 'uncommit', 'touch', 'fold']:
         entry = extensions.wrapcommand(cmdtable, cmd,
                                        warnobserrors)
 

tests/test-amend.t

   (branches are permanent and global, did you want a bookmark?)
   $ hg amend
   $ hg debugobsolete
-  07f4944404050f47db2e5c5071e0e84e7a27bba9 a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
-  bd19cbe78fbfbd87eb33420c63986fe5f3154f2c 0 {'date': '* *', 'user': 'test'} (glob)
+  07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 {'date': '* *', 'user': 'test'} (glob)
+  b2e32ffb533cbe1d5759638c0cd4e8abc43b2738 0 {'date': '* *', 'user': 'test'} (glob)
   $ hg branch
   foo
   $ hg branches
-  foo                            2:a34b93d251e4
+  foo                            2:6a022cbb61d5
   $ glog
   @  2@foo(draft) adda
   
 Test no-op
 
   $ hg amend
-  abort: no updates found
-  [255]
+  nothing changed
+  [1]
   $ glog
   @  2@foo(draft) adda
   
 Test forcing the message to the same value, no intermediate revision.
 
   $ hg amend -m 'adda'
-  abort: no updates found
-  [255]
+  nothing changed
+  [1]
   $ glog
   @  2@foo(draft) adda
   
   M a
   $ hg pstatus
   $ hg diff
-  diff -r 2f97fe38810f a
+  diff -r f7a50201fe3a a
   --- a/a	Thu Jan 01 00:00:00 1970 +0000
   +++ b/a	* +0000 (glob)
   @@ -1,2 +1,1 @@
   $ hg pdiff
   $ hg ci -m reseta
   $ hg debugobsolete
-  07f4944404050f47db2e5c5071e0e84e7a27bba9 a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
-  bd19cbe78fbfbd87eb33420c63986fe5f3154f2c 0 {'date': '* *', 'user': 'test'} (glob)
+  07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 {'date': '* *', 'user': 'test'} (glob)
+  b2e32ffb533cbe1d5759638c0cd4e8abc43b2738 0 {'date': '* *', 'user': 'test'} (glob)
   $ hg phase 2
   2: draft
   $ glog

tests/test-evolve.t

 
   $ hg amend
 
-
 This results in a new single changeset for our amended changeset, and the old
 changeset plus the updating changeset are hidden from view by default::
 
   0	: base - test
   $ hg up -q 0
   $ glog --hidden
-  o  6:23409eba69a0@default(draft) a nifty feature
+  o  6:ba0ec09b1bab@default(draft) a nifty feature
   |
-  | x  5:1c85604a32e4@default(draft) amends 568a468b60fc99a42d5d4ddbe181caff1eef308d
+  | x  5:c296b79833d1@default(draft) temporary amend commit for 568a468b60fc
   | |
-  | | o  4:f8111a076f09@default(draft) another feature
+  | | o  4:207cbc4ea7fe@default(draft) another feature
   | |/
-  | | x  3:80ebe8e4ea86@default(draft) amends 7b36850622b2fd159fa30a4fb2a1edd2043b4a14
+  | | x  3:5bb880fc0f12@default(draft) temporary amend commit for 7b36850622b2
   | | |
   | | x  2:7b36850622b2@default(draft) another feature
   | |/
   @  0:e55e0562ee93@default(public) base
   
   $ hg debugobsolete
-  7b36850622b2fd159fa30a4fb2a1edd2043b4a14 f8111a076f0975cbecb336e2bd3411be22b673fb 0 {'date': '* *', 'user': 'test'} (glob)
-  80ebe8e4ea869802d88c96622bed8ad34aff9d37 0 {'date': '* *', 'user': 'test'} (glob)
-  568a468b60fc99a42d5d4ddbe181caff1eef308d 23409eba69a0986e90cd42252852c1e6da97af5b 0 {'date': '* *', 'user': 'test'} (glob)
-  1c85604a32e4fec7b2d804c6f8cbaf4de9925ee3 0 {'date': '* *', 'user': 'test'} (glob)
+  7b36850622b2fd159fa30a4fb2a1edd2043b4a14 207cbc4ea7fee30d18b3a25f534fe5db22c6071b 0 {'date': '* *', 'user': 'test'} (glob)
+  5bb880fc0f12dd61eee6de36f62b93fdbc3684b0 0 {'date': '* *', 'user': 'test'} (glob)
+  568a468b60fc99a42d5d4ddbe181caff1eef308d ba0ec09b1babf3489b567853807f452edd46704f 0 {'date': '* *', 'user': 'test'} (glob)
+  c296b79833d1d497f33144786174bf35e04e44a3 0 {'date': '* *', 'user': 'test'} (glob)
   $ hg evolve
   move:[4] another feature
   atop:[6] a nifty feature
   recreate:[8] another feature that rox
   atop:[7] another feature
   computing new diff
-  commited as d3c9b3a5c458
+  commited as ca3b75e3e59b
   $ hg glog
-  @  9	feature-B: bumped update to 5f4744038ed5: - test
+  @  9	feature-B: bumped update to abe98aeaaa35: - test
   |
   o  7	: another feature - test
   |

tests/test-stabilize-conflict.t

   merging babar
   $ hg resolve -l
   $ hg log -G
-  @  changeset:   5:800217d738cd
+  @  changeset:   5:71c18f70c34f
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to fifteen
   |
-  o  changeset:   4:6bd654225435
+  o  changeset:   4:5977072d13c5
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   [4] babar count up to ten
   $ safesed 's/dix/ten/' babar
   $ hg diff
-  diff -r 6bd654225435 babar
+  diff -r 5977072d13c5 babar
   --- a/babar	Thu Jan 01 00:00:00 1970 +0000
   +++ b/babar	* (glob)
   @@ -7,4 +7,4 @@
   $ hg resolve -l
   U babar
   $ hg log -G
-  @  changeset:   7:3e191dd96e18
+  @  changeset:   7:e04690b09bc6
   |  tag:         tip
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to ten
   |
-  | @  changeset:   5:800217d738cd
+  | @  changeset:   5:71c18f70c34f
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
   | |  summary:     babar count up to fifteen
   | |
-  | x  changeset:   4:6bd654225435
+  | x  changeset:   4:5977072d13c5
   |/   parent:      0:29ec1554cfaf
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
   grafting revision 5
   $ hg resolve -l
   $ hg log -G
-  @  changeset:   8:92429cce7036
+  @  changeset:   8:1836b91c6c1d
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to fifteen
   |
-  o  changeset:   7:3e191dd96e18
+  o  changeset:   7:e04690b09bc6
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   [7] babar count up to ten
   $ safesed 's/ten/zehn/' babar
   $ hg diff
-  diff -r 3e191dd96e18 babar
+  diff -r e04690b09bc6 babar
   --- a/babar	Thu Jan 01 00:00:00 1970 +0000
   +++ b/babar	* (glob)
   @@ -7,4 +7,4 @@
   $ hg resolve -l
   U babar
   $ hg log -G
-  @  changeset:   10:a7fe09efd4a1
+  @  changeset:   10:b20d08eea373
   |  tag:         tip
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to ten
   |
-  | @  changeset:   8:92429cce7036
+  | @  changeset:   8:1836b91c6c1d
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
   | |  summary:     babar count up to fifteen
   | |
-  | x  changeset:   7:3e191dd96e18
+  | x  changeset:   7:e04690b09bc6
   |/   parent:      0:29ec1554cfaf
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000

tests/test-stabilize-order.t

   $ hg amend
   1 new unstable changesets
   $ glog
-  @  7:f5ff10856e5a@default(draft) adda
+  @  7:005fe5914f78@default(draft) adda
   |
-  | o  5:ab8cbb6d87ff@default(draft) addb
+  | o  5:22619daeed78@default(draft) addb
   | |
   | | o  3:7a7552255fb5@default(draft) addc
   | | |
   $ hg evolve -v
   move:[5] addb
   atop:[7] adda
-  hg rebase -r ab8cbb6d87ff -d f5ff10856e5a
+  hg rebase -r 22619daeed78 -d 005fe5914f78
   resolving manifests
   getting b
   b
   $ glog
-  @  8:6bf44048e43f@default(draft) addb
+  @  8:bede829dd2d3@default(draft) addb
   |
-  o  7:f5ff10856e5a@default(draft) adda
+  o  7:005fe5914f78@default(draft) adda
   |
   | o  3:7a7552255fb5@default(draft) addc
   | |
   $ hg evolve -v
   move:[3] addc
   atop:[8] addb
-  hg rebase -r 7a7552255fb5 -d 6bf44048e43f
+  hg rebase -r 7a7552255fb5 -d bede829dd2d3
   resolving manifests
   getting b
   resolving manifests
   --- successors.old* (glob)
   +++ successors.new* (glob)
   @@ -3,3 +3,4 @@
-   93418d2c0979643ad446f621195e78720edb05b4 f5ff10856e5ab3c8dc420b9c11460e6832a3b78c 0 {'date': '* *', 'user': 'test'} (glob)
-   3a4a591493f80708e46f2bf6d3b4debfad8ff91e 0 {'date': '* *', 'user': 'test'} (glob)
-   ab8cbb6d87ff3ab5526735a051cba6b63f3d6775 6bf44048e43f830accbf7d2bd7bc252ad7a3b99c 0 {'date': '* *', 'user': 'test'} (glob)
-  +7a7552255fb5f8bd745e46fba6f0ca633a4dd716 5e819fbb0d278117c0a83b7f6f6486689732cfb2 0 {'date': '* *', 'user': 'test'} (glob)
+   93418d2c0979643ad446f621195e78720edb05b4 005fe5914f78e8bc64c7eba28117b0b1fa210d0d 0 {'date': '* *', 'user': 'test'} (glob)
+   7a7d76dc97c57751de9e80f61ed2a639bd03cd24 0 {'date': '* *', 'user': 'test'} (glob)
+   22619daeed78036f80fbd326b6852519c4f0c25e bede829dd2d3b2ae9bf198c23432b250dc964458 0 {'date': '* *', 'user': 'test'} (glob)
+  +7a7552255fb5f8bd745e46fba6f0ca633a4dd716 65095d7d0dd5e4f15503bb7b1f433a5fe9bac052 0 {'date': '* *', 'user': 'test'} (glob)
   [1]
+
+
+
   $ glog
-  @  9:5e819fbb0d27@default(draft) addc
+  @  9:65095d7d0dd5@default(draft) addc
   |
-  o  8:6bf44048e43f@default(draft) addb
+  o  8:bede829dd2d3@default(draft) addb
   |
-  o  7:f5ff10856e5a@default(draft) adda
+  o  7:005fe5914f78@default(draft) adda
   |
   o  0:c471ef929e6a@default(draft) addroot
   
   $ hg amend
   1 new unstable changesets
   $ glog
-  @  11:4e7cec6b4afe@default(draft) addb
+  @  11:036cf654e942@default(draft) addb
   |
-  | o  9:5e819fbb0d27@default(draft) addc
+  | o  9:65095d7d0dd5@default(draft) addc
   | |
-  | x  8:6bf44048e43f@default(draft) addb
+  | x  8:bede829dd2d3@default(draft) addb
   |/
-  o  7:f5ff10856e5a@default(draft) adda
+  o  7:005fe5914f78@default(draft) adda
   |
   o  0:c471ef929e6a@default(draft) addroot
   
   $ hg evolve --any -v
   move:[9] addc
   atop:[11] addb
-  hg rebase -r 5e819fbb0d27 -d 4e7cec6b4afe
+  hg rebase -r 65095d7d0dd5 -d 036cf654e942
   resolving manifests
   removing c
   getting b
   getting c
   c
   $ glog
-  @  12:24f95816bb21@default(draft) addc
+  @  12:e99ecf51c867@default(draft) addc
   |
-  o  11:4e7cec6b4afe@default(draft) addb
+  o  11:036cf654e942@default(draft) addb
   |
-  o  7:f5ff10856e5a@default(draft) adda
+  o  7:005fe5914f78@default(draft) adda
   |
   o  0:c471ef929e6a@default(draft) addroot
   

tests/test-stabilize-result.t

   $ hg evolve -v
   move:[2] changea
   atop:[4] changea
-  hg rebase -r cce2c55b8965 -d 1447e1c4828d
+  hg rebase -r cce2c55b8965 -d fb9d051ec0a4
   resolving manifests
   $ glog --hidden
-  @  4:1447e1c4828d@default(draft) bk:[changea] changea
+  @  4:fb9d051ec0a4@default(draft) bk:[changea] changea
   |
-  | x  3:41ad4fe8c795@default(draft) bk:[] amends 102a90ea7b4a3361e4082ed620918c261189a36a
+  | x  3:c5727dbded3c@default(draft) bk:[] temporary amend commit for 102a90ea7b4a
   | |
   | | x  2:cce2c55b8965@default(draft) bk:[] changea
   | |/
   o  0:07f494440405@default(draft) bk:[] adda
   
   $ hg debugobsolete
-  102a90ea7b4a3361e4082ed620918c261189a36a 1447e1c4828d2347df8f858aa041305fa4cf7db1 0 {'date': '* *', 'user': 'test'} (glob)
-  41ad4fe8c79565a06c89f032ef0937b3cbd68a04 0 {'date': '* *', 'user': 'test'} (glob)
+  102a90ea7b4a3361e4082ed620918c261189a36a fb9d051ec0a450a4aa2ffc8c324979832ef88065 0 {'date': '* *', 'user': 'test'} (glob)
+  c5727dbded3c3a6877cf60d6bb552a76812cb844 0 {'date': '* *', 'user': 'test'} (glob)
   cce2c55b896511e0b6e04173c9450ba822ebc740 0 {'date': '* *', 'user': 'test'} (glob)
 
 Test evolve with conflict
   [255]
   $ hg revert -r 'unstable()' a
   $ hg diff
-  diff -r e8cc1b534401 a
+  diff -r 66719795a494 a
   --- a/a	* (glob)
   +++ b/a	* (glob)
   @@ -1,1 +1,3 @@
 (the same parent case is handled in test-evolve.t)
 
   $ glog
-  @  8:e3183e9c0961@default(draft) bk:[] newer a
+  @  8:1cf0aacfd363@default(draft) bk:[] newer a
   |
-  o  7:e8cc1b534401@default(draft) bk:[changea] changea
+  o  7:66719795a494@default(draft) bk:[changea] changea
   |
   o  0:07f494440405@default(draft) bk:[] adda
   
   $ hg phase --hidden --public 8
   1 new bumped changesets
   $ glog
-  @  12:15c83af6f3a3@default(draft) bk:[] newer a
+  @  12:73b15c7566e9@default(draft) bk:[] newer a
   |
-  o  9:355c5cda4de1@default(draft) bk:[] add c
+  o  9:7bc2f5967f5e@default(draft) bk:[] add c
   |
-  | o  8:e3183e9c0961@default(public) bk:[] newer a
+  | o  8:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:e8cc1b534401@default(public) bk:[changea] changea
+  o  7:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
   $ hg evolve --any --dry-run
   recreate:[12] newer a
   atop:[8] newer a
-  hg rebase --rev 15c83af6f3a3 --dest e8cc1b534401;
-  hg update e3183e9c0961;
-  hg revert --all --rev 15c83af6f3a3;
+  hg rebase --rev 73b15c7566e9 --dest 66719795a494;
+  hg update 1cf0aacfd363;
+  hg revert --all --rev 73b15c7566e9;
   hg commit --msg "bumped update to %s" (no-eol)
   $ hg evolve --any
   recreate:[12] newer a
   atop:[8] newer a
-  rebasing to destination parent: e8cc1b534401
+  rebasing to destination parent: 66719795a494
   computing new diff
-  commited as 503ef784bae6
+  commited as a7cabd7bd9c2
   $ glog
-  @  14:503ef784bae6@default(draft) bk:[] bumped update to e3183e9c0961:
+  @  14:a7cabd7bd9c2@default(draft) bk:[] bumped update to 1cf0aacfd363:
   |
-  | o  9:355c5cda4de1@default(draft) bk:[] add c
+  | o  9:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  o |  8:e3183e9c0961@default(public) bk:[] newer a
+  o |  8:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:e8cc1b534401@default(public) bk:[changea] changea
+  o  7:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
   > EOF
   $ hg ci -m 'More addition'
   $ glog
-  @  15:7391601a4bfa@default(draft) bk:[] More addition
+  @  15:3932c176bbaa@default(draft) bk:[] More addition
   |
-  | o  14:503ef784bae6@default(draft) bk:[] bumped update to e3183e9c0961:
+  | o  14:a7cabd7bd9c2@default(draft) bk:[] bumped update to 1cf0aacfd363:
   | |
-  o |  9:355c5cda4de1@default(draft) bk:[] add c
+  o |  9:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  | o  8:e3183e9c0961@default(public) bk:[] newer a
+  | o  8:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:e8cc1b534401@default(public) bk:[changea] changea
+  o  7:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
   $ hg amend
   2 new divergent changesets
   $ glog
-  @  19:3883461cc228@default(draft) bk:[] More addition
+  @  19:eacc9c8240fe@default(draft) bk:[] More addition
   |
-  | o  17:4754d61bc2db@default(draft) bk:[] More addition
+  | o  17:d2f173e25686@default(draft) bk:[] More addition
   |/
-  | o  14:503ef784bae6@default(draft) bk:[] bumped update to e3183e9c0961:
+  | o  14:a7cabd7bd9c2@default(draft) bk:[] bumped update to 1cf0aacfd363:
   | |
-  o |  9:355c5cda4de1@default(draft) bk:[] add c
+  o |  9:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  | o  8:e3183e9c0961@default(public) bk:[] newer a
+  | o  8:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:e8cc1b534401@default(public) bk:[changea] changea
+  o  7:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
 Stabilize It
 
   $ hg evolve -qn --traceback
-  hg update -c 3883461cc228 &&
-  hg merge 4754d61bc2db &&
-  hg commit -m "auto merge resolving conflict between 3883461cc228 and 4754d61bc2db"&&
-  hg up -C 7391601a4bfa &&
+  hg update -c eacc9c8240fe &&
+  hg merge d2f173e25686 &&
+  hg commit -m "auto merge resolving conflict between eacc9c8240fe and d2f173e25686"&&
+  hg up -C 3932c176bbaa &&
   hg revert --all --rev tip &&
-  hg commit -m "`hg log -r 3883461cc228 --template={desc}`";
+  hg commit -m "`hg log -r eacc9c8240fe --template={desc}`";
   $ hg evolve -v
   merge:[19] More addition
   with: [17] More addition
   resolving manifests
   merging a
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  amending changeset eacc9c8240fe
   a
+  copying changeset 283ccd10e2b8 to 7bc2f5967f5e
   a
+  committed changeset 21:f344982e63c4
   $ hg st
-  $ hg amend -d '0 0' -m 'More addition' # kill date variation XXX should be done in evolve
   $ glog
-  @  22:ac6d600735a4@default(draft) bk:[] More addition
+  @  21:f344982e63c4@default(draft) bk:[] More addition
   |
-  | o  14:503ef784bae6@default(draft) bk:[] bumped update to e3183e9c0961:
+  | o  14:a7cabd7bd9c2@default(draft) bk:[] bumped update to 1cf0aacfd363:
   | |
-  o |  9:355c5cda4de1@default(draft) bk:[] add c
+  o |  9:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  | o  8:e3183e9c0961@default(public) bk:[] newer a
+  | o  8:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:e8cc1b534401@default(public) bk:[changea] changea
+  o  7:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
   $ hg summary
-  parent: 22:ac6d600735a4 tip
+  parent: 21:f344982e63c4 tip
    More addition
   branch: default
   commit: (clean)
   # User test
   # Date 0 0
   #      Thu Jan 01 00:00:00 1970 +0000
-  # Node ID ac6d600735a49ee377e29d1f74a0576e8c972e7b
-  # Parent  355c5cda4de162658ed9f961a98a73a10b3167b1
+  # Node ID f344982e63c462b1e44c0371c804685389e673a9
+  # Parent  7bc2f5967f5e4ed277f60a89b7b04cc5d6407ced
   More addition
   
-  diff -r 355c5cda4de1 -r ac6d600735a4 a
+  diff -r 7bc2f5967f5e -r f344982e63c4 a
   --- a/a	Thu Jan 01 00:00:00 1970 +0000
   +++ b/a	Thu Jan 01 00:00:00 1970 +0000
   @@ -1,1 +1,9 @@
   $ hg amend
   2 new divergent changesets
   $ hg phase 'divergent()'
-  22: draft
-  24: draft
+  21: draft
+  23: draft
   $ hg evolve -qn
-  hg update -c c956a4b140b6 &&
-  hg merge ac6d600735a4 &&
-  hg commit -m "auto merge resolving conflict between c956a4b140b6 and ac6d600735a4"&&
-  hg up -C 7391601a4bfa &&
+  hg update -c 36e188246d67 &&
+  hg merge f344982e63c4 &&
+  hg commit -m "auto merge resolving conflict between 36e188246d67 and f344982e63c4"&&
+  hg up -C 3932c176bbaa &&
   hg revert --all --rev tip &&
-  hg commit -m "`hg log -r c956a4b140b6 --template={desc}`";
+  hg commit -m "`hg log -r 36e188246d67 --template={desc}`";
   $ hg evolve
-  merge:[24] More addition
-  with: [22] More addition
+  merge:[23] More addition
+  with: [21] More addition
   base: [15] More addition
   merging a
   warning: conflicts during merge.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.