merge: handle no file parent in backwards merge (
issue2364)
--- a/mercurial/merge.py Sat Oct 09 14:52:58 2010 -0500
+++ b/mercurial/merge.py Sat Oct 09 14:50:20 2010 -0500
@@ -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:
--- a/tests/test-merge1.t Sat Oct 09 14:52:58 2010 -0500
+++ b/tests/test-merge1.t Sat Oct 09 14:50:20 2010 -0500
@@ -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