diff -r 82f840109f76 -r 9e7e24052745 mercurial/merge.py --- a/mercurial/merge.py Wed Dec 08 22:14:18 2010 -0600 +++ b/mercurial/merge.py Tue Dec 07 03:29:21 2010 +0100 @@ -524,7 +524,7 @@ action += manifestmerge(repo, wc, p2, pa, overwrite, partial) ### apply phase - if not branchmerge: # just jump to the new rev + if not branchmerge or fastforward: # just jump to the new rev fp1, fp2, xp1, xp2 = fp2, nullid, xp2, '' if not partial: repo.hook('preupdate', throw=True, parent1=xp1, parent2=xp2) @@ -533,7 +533,7 @@ if not partial: repo.dirstate.setparents(fp1, fp2) - recordupdates(repo, action, branchmerge) + recordupdates(repo, action, branchmerge and not fastforward) if not branchmerge and not fastforward: repo.dirstate.setbranch(p2.branch()) finally: