diff -r a8e6897dffbe -r 51930a7180bd mercurial/commands.py --- a/mercurial/commands.py Sun Apr 05 11:55:38 2015 -0700 +++ b/mercurial/commands.py Sun Apr 05 12:12:02 2015 -0700 @@ -3547,9 +3547,12 @@ continue source = ctx.extra().get('source') - if not source: - source = ctx.hex() - extra = {'source': source} + extra = {} + if source: + extra['source'] = source + extra['intermediate-source'] = ctx.hex() + else: + extra['source'] = ctx.hex() user = ctx.user() if opts.get('user'): user = opts['user']