diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -540,7 +540,7 @@ def update(repo, node, branchmerge, forc action += manifestmerge(repo, wc, p2, pa, overwrite, partial) ### apply phase - if not branchmerge or fastforward: # just jump to the new rev + if not branchmerge: # 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) @@ -549,7 +549,7 @@ def update(repo, node, branchmerge, forc if not partial: repo.dirstate.setparents(fp1, fp2) - recordupdates(repo, action, branchmerge and not fastforward) + recordupdates(repo, action, branchmerge) if not branchmerge and not fastforward: repo.dirstate.setbranch(p2.branch()) finally: diff --git a/tests/test-issue619.t b/tests/test-issue619.t --- a/tests/test-issue619.t +++ b/tests/test-issue619.t @@ -19,12 +19,7 @@ Fast-forward: $ hg merge b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) - $ hg branch - default - $ hg parent --template '{rev}:{node|short} {branches}: {desc}\n' - 1:06c2121185be b: b $ hg ci -Ammerge - created new head Bogus fast-forward should fail: diff --git a/tests/test-newbranch.t b/tests/test-newbranch.t --- a/tests/test-newbranch.t +++ b/tests/test-newbranch.t @@ -209,11 +209,12 @@ Fastforward merge: $ hg branch foo $ hg commit -m'Merge ff into foo' - created new head $ hg parents - changeset: 6:6af8030670c9 + changeset: 6:917eb54e1b4b branch: foo tag: tip + parent: 4:98d14f698afe + parent: 5:6683a60370cb user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Merge ff into foo diff --git a/tests/test-push-warn.t b/tests/test-push-warn.t --- a/tests/test-push-warn.t +++ b/tests/test-push-warn.t @@ -413,7 +413,6 @@ Check prepush logic with merged branches (branch merge, don't forget to commit) $ hg -R k ci -m merge - created new head $ hg -R k push -r a j pushing to j