diff --git a/mercurial/merge.py b/mercurial/merge.py index 8269af351a64b186a575fdd492e19e28e9575397_bWVyY3VyaWFsL21lcmdlLnB5..545ec17750210b31b51261092c0f010fc9376e32_bWVyY3VyaWFsL21lcmdlLnB5 100644 --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -276,7 +276,10 @@ fcl = wctx[f] fco = mctx[f2] if mctx == actx: # backwards, use working dir parent as ancestor - fca = fcl.parents()[0] + if fcl.parents(): + fca = fcl.parents()[0] + else: + fca = repo.filectx(f, fileid=nullrev) else: fca = fcl.ancestor(fco, actx) if not fca: diff --git a/tests/test-merge1.t b/tests/test-merge1.t index 8269af351a64b186a575fdd492e19e28e9575397_dGVzdHMvdGVzdC1tZXJnZTEudA==..545ec17750210b31b51261092c0f010fc9376e32_dGVzdHMvdGVzdC1tZXJnZTEudA== 100644 --- a/tests/test-merge1.t +++ b/tests/test-merge1.t @@ -166,3 +166,11 @@ +This is file b33 $ hg status M b + +Test for issue2364 + + $ hg up -qC . + $ hg rm b + $ hg ci -md + $ hg revert -r -2 b + $ hg up -q -- -2