# HG changeset patch # User Pierre-Yves David # Date 1354022921 -3600 # Node ID 8cbada2b0c437db92854f99f851a8388907eb6de # Parent c39afce52e311d7c16cece4fe01b1a7ce22cf54f# Parent e50a5d9a6cbf75ba7418d7041c72cfc636c51bb0 merge with Denis improvement diff -r c39afce52e31 -r 8cbada2b0c43 hgext/evolve.py --- 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]) diff -r c39afce52e31 -r 8cbada2b0c43 tests/test-evolve.t --- a/tests/test-evolve.t Wed Nov 21 11:37:30 2012 +0100 +++ b/tests/test-evolve.t Tue Nov 27 14:28:41 2012 +0100 @@ -575,7 +575,6 @@ $ hg log -r 11 --template '{desc}\n' add 1 - *** conflict $ hg debugrebuildstate @@ -598,15 +597,12 @@ $ hg log -r 12 --template '{desc}\n' add 4 - *** add 3 - *** add 1 - *** conflict $ hg debugrebuildstate