Rev 1363: Properly raise nosuchrevision exception. in http://people.samba.org/bzr/jelmer/bzr-svn/0.4

Jelmer Vernooij jelmer at samba.org
Fri Jun 27 00:27:15 BST 2008


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

------------------------------------------------------------
revno: 1363
revision-id: jelmer at samba.org-20080626232702-6yo7ecvt7z9nbx7j
parent: jelmer at samba.org-20080626225821-7sm60iyxqkumi3qr
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Fri 2008-06-27 01:27:02 +0200
message:
  Properly raise nosuchrevision exception.
modified:
  branch.py                      svnbranch.py-20051017135706-11c749eb0dab04a7
=== modified file 'branch.py'
--- a/branch.py	2008-06-26 22:38:40 +0000
+++ b/branch.py	2008-06-26 23:27:02 +0000
@@ -76,8 +76,6 @@
         assert isinstance(self._branch_path, str)
         try:
             revnum = self.get_revnum()
-            if revnum is None:
-                raise NotBranchError(self.base)
             if self.repository.transport.check_path(branch_path.strip("/"), 
                 revnum) != core.NODE_DIR:
                 raise NotBranchError(self.base)
@@ -130,7 +128,8 @@
             return self._cached_revnum
         latest_revnum = self.repository.get_latest_revnum()
         self._cached_revnum = self.repository._log.find_latest_change(self.get_branch_path(), latest_revnum)
-        assert self._cached_revnum is not None
+        if self._cached_revnum is None:
+            raise NotBranchError(self.base)
         return self._cached_revnum
 
     def check(self):
@@ -200,8 +199,13 @@
     def generate_revision_id(self, revnum):
         """Generate a new revision id for a revision on this branch."""
         assert isinstance(revnum, int)
-        return self.repository.generate_revision_id(
+        try:
+            return self.repository.generate_revision_id(
                 revnum, self.get_branch_path(revnum), self.mapping)
+        except SubversionException, (_, num):
+            if num == ERR_FS_NO_SUCH_REVISION:
+                raise NoSuchRevision(self, revnum)
+            raise
 
     def get_config(self):
         return BranchConfig(self)




More information about the bazaar-commits mailing list