diff -r e22d6b1dec1d -r f30226b1a46a mercurial/cmdutil.py --- a/mercurial/cmdutil.py Fri May 11 02:32:26 2012 -0700 +++ b/mercurial/cmdutil.py Fri May 11 18:33:45 2012 +0300 @@ -1311,6 +1311,12 @@ # | # base o - parent of amending changeset + # Update extra dict from amended commit (e.g. to preserve graft source) + extra.update(old.extra()) + + # Also update it from the intermediate commit or from the wctx + extra.update(ctx.extra()) + files = set(old.files()) # Second, we use either the commit we just did, or if there were no @@ -1322,7 +1328,6 @@ user = ctx.user() date = ctx.date() message = ctx.description() - extra = ctx.extra() # Recompute copies (avoid recording a -> b -> a) copied = copies.pathcopies(base, ctx)