# HG changeset patch # User Pierre-Yves David # Date 1354022870 -3600 # Node ID e50a5d9a6cbf75ba7418d7041c72cfc636c51bb0 # Parent 469befc27b26e7bda577d311f72a8d6156c8c8c7# Parent 232536f5c9874e2eed6445972a2ebce4ce8c3d43 merge with Denis improvement diff -r 469befc27b26 -r e50a5d9a6cbf hgext/evolve.py --- a/hgext/evolve.py Wed Nov 21 11:14:20 2012 +0100 +++ b/hgext/evolve.py Tue Nov 27 14:27:50 2012 +0100 @@ -1813,7 +1813,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): @@ -1843,10 +1844,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 469befc27b26 -r e50a5d9a6cbf tests/test-evolve.t --- a/tests/test-evolve.t Wed Nov 21 11:14:20 2012 +0100 +++ b/tests/test-evolve.t Tue Nov 27 14:27:50 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