diff -r ae04af1ce78d -r dc9fb7015d7f mercurial/commands.py --- a/mercurial/commands.py Sun Nov 13 00:29:26 2011 +0000 +++ b/mercurial/commands.py Sat Nov 12 13:15:40 2011 +0100 @@ -2590,7 +2590,10 @@ cont = False # commit - extra = {'source': ctx.hex()} + source = ctx.extra().get('source') + if not source: + source = ctx.hex() + extra = {'source': source} user = ctx.user() if opts.get('user'): user = opts['user']