[PATCH 3 of 7] imerge: Fix unbound name error and add a test case

Joel Rosdahl joel at rosdahl.net
Thu Mar 6 15:52:14 CST 2008


# HG changeset patch
# User Joel Rosdahl <joel at rosdahl.net>
# Date 1204838621 -3600
# Node ID d0671233cf16d306db9a1072f042291cf23182a4
# Parent  4d3b021ae9e46562d88f90e2e51f1abaf5fa75d0
imerge: Fix unbound name error and add a test case

diff --git a/hgext/imerge.py b/hgext/imerge.py
--- a/hgext/imerge.py
+++ b/hgext/imerge.py
@@ -8,7 +8,7 @@
 from mercurial.i18n import _
 from mercurial.node import hex, short
 from mercurial import commands, cmdutil, dispatch, fancyopts
-from mercurial import hg, filemerge, util
+from mercurial import hg, filemerge, util, revlog
 import os, tarfile
 
 class InvalidStateFileException(Exception): pass
@@ -78,8 +78,8 @@
 
         try:
             parents = [self.repo.changectx(n) for n in status[:2]]
-        except LookupError:
-            raise util.Abort('merge parent %s not in repository' % short(p))
+        except revlog.LookupError, e:
+            raise util.Abort('merge parent %s not in repository' % e.name)
 
         status = status[2:]
         conflicts = int(status.pop(0)) * 3
diff --git a/tests/test-imerge b/tests/test-imerge
--- a/tests/test-imerge
+++ b/tests/test-imerge
@@ -61,4 +61,10 @@
 echo % nothing to merge
 hg imerge
 
+cd ..
+hg -q clone -r 0 base clone
+cd clone
+echo % load unknown parent
+hg imerge load ../savedmerge
+
 exit 0
diff --git a/tests/test-imerge.out b/tests/test-imerge.out
--- a/tests/test-imerge.out
+++ b/tests/test-imerge.out
@@ -46,3 +46,5 @@
 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
 % nothing to merge
 abort: there is nothing to merge - use "hg update" instead
+% load unknown parent
+abort: merge parent e6da4671640124fe5d3d70d2f54441d6cd76ae35 not in repository


More information about the Mercurial-devel mailing list