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
