At http://people.samba.org/bzr/jelmer/bzr-svn/0.5

------------------------------------------------------------
revno: 2268
revision-id: [email protected]
parent: [email protected]
committer: Jelmer Vernooij <[email protected]>
branch nick: 0.5
timestamp: Tue 2008-12-16 02:26:33 +0100
message:
  Add better exception.
modified:
  errors.py                      errors.py-20061226172623-w1sbj8ynpo0eojqp-1
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
=== modified file 'errors.py'
--- a/errors.py 2008-11-30 17:01:54 +0000
+++ b/errors.py 2008-12-16 01:26:33 +0000
@@ -170,3 +170,12 @@
            ' branch "%(location)s".')
 
 
+class FileIdMapIncomplete(BzrError):
+    _fmt = """Unable to find file id for child '%(child)s' in '%(parent)s' in 
%(revmeta)r."""
+
+    def __init__(self, child, parent, revmeta):
+        BzrError.__init__(self)
+        self.child = child
+        self.parent = parent
+        self.revmeta = revmeta
+

=== modified file 'fetch.py'
--- a/fetch.py  2008-12-08 19:13:32 +0000
+++ b/fetch.py  2008-12-16 01:26:33 +0000
@@ -34,7 +34,7 @@
 from subvertpy import properties, SubversionException
 from subvertpy.delta import apply_txdelta_handler
 
-from bzrlib.plugins.svn.errors import InvalidFileName
+from bzrlib.plugins.svn.errors import InvalidFileName, FileIdMapIncomplete
 from bzrlib.plugins.svn.foreign import escape_commit_message
 from bzrlib.plugins.svn.mapping import SVN_PROP_BZR_PREFIX
 from bzrlib.plugins.svn.repository import SvnRepository, SvnRepositoryFormat
@@ -568,10 +568,16 @@
         basename = urlutils.basename(old_path)
         parent_id_basename_index = getattr(self.old_inventory, 
"parent_id_basename_to_file_id", None)
         if parent_id_basename_index is None:
-            return self.old_inventory[parent_id].children[basename].file_id
+            try:
+                return self.old_inventory[parent_id].children[basename].file_id
+            except KeyError:
+                raise FileIdMapIncomplete(basename, 
self.old_inventory.id2path(parent_id), self.revmeta) 
         else:
             ret = parent_id_basename_index.iteritems([(parent_id, basename)])
-            return ret.next()[1]
+            try:
+                return ret.next()[1]
+            except IndexError:
+                raise FileIdMapIncomplete(basename, 
self.old_inventory.id2path(parent_id), self.revmeta) 
 
     def _get_existing_id(self, old_parent_id, new_parent_id, path):
         assert isinstance(path, unicode)


-- 
bazaar-commits mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/bazaar-commits

Reply via email to