hgext/evolve.py
changeset 622 8cbada2b0c43
parent 618 c39afce52e31
parent 621 e50a5d9a6cbf
child 625 e291e5271694
child 630 722b52c75f02
--- a/hgext/evolve.py	Wed Nov 21 11:37:30 2012 +0100
+++ b/hgext/evolve.py	Tue Nov 27 14:28:41 2012 +0100
@@ -1809,7 +1809,8 @@
         lockmod.release(lock, wlock)
 
 @command('^fold',
-    [('r', 'rev', [], 'revisions to fold'),],
+    [('r', 'rev', [], 'revisions to fold'),
+    ],
     # allow to choose the seed ?
     _('[-r] revs'))
 def fold(ui, repo, *revs, **opts):
@@ -1839,10 +1840,14 @@
         try:
             allctx = [repo[r] for r in revs]
             targetphase = max(c.phase() for c in allctx)
-            msg = '\n\n***\n\n'.join(c.description() for c in allctx)
+            msgs = ["HG: This is a fold of %d changesets." % len(allctx)]
+            msgs += ["HG: Commit message of changeset %s.\n\n%s\n" %
+                     (c.rev(), c.description()) for c in allctx]
+            commitopts = {'message': "\n".join(msgs)}
+            commitopts['edit'] = True
             newid, _ = rewrite(repo, root, allctx, head,
                              [root.p1().node(), root.p2().node()],
-                             commitopts={'message': msg})
+                             commitopts=commitopts)
             phases.retractboundary(repo, targetphase, [newid])
             createmarkers(repo, [(ctx, (repo[newid],))
                                  for ctx in allctx])