--- 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: