Rev 1488: Use project name when finding tags. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk

Jelmer Vernooij jelmer at samba.org
Mon Jul 21 22:07:46 BST 2008


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

------------------------------------------------------------
revno: 1488
revision-id: jelmer at samba.org-20080721210745-28ed2bjxu6bp9361
parent: jelmer at samba.org-20080721210418-i4t2wsxno5lqflig
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Mon 2008-07-21 23:07:45 +0200
message:
  Use project name when finding tags.
modified:
  branch.py                      svnbranch.py-20051017135706-11c749eb0dab04a7
=== modified file 'branch.py'
--- a/branch.py	2008-07-21 20:17:38 +0000
+++ b/branch.py	2008-07-21 21:07:45 +0000
@@ -56,14 +56,12 @@
 
 
 class SubversionTags(BasicTags):
-    def __init__(self, branch, layout=None, project=""):
+    def __init__(self, branch):
         self.branch = branch
         self.repository = branch.repository
-        self.layout = layout or self.repository.get_layout()
-        self.project = project
 
     def set_tag(self, tag_name, tag_target):
-        path = self.layout.get_tag_path(tag_name, self.project)
+        path = self.branch.layout.get_tag_path(tag_name, self.branch.project)
         parent = urlutils.dirname(path)
         try:
             (from_bp, from_revnum, mapping) = self.repository.lookup_revision_id(tag_target)
@@ -96,8 +94,8 @@
             raise NoSuchTag(tag_name)
 
     def get_tag_dict(self):
-        return self.repository.find_tags(project=self.project, 
-                                         layout=self.layout)
+        return self.repository.find_tags(project=self.branch.project, 
+                                         layout=self.branch.layout)
 
     def get_reverse_tag_dict(self):
         """Returns a dict with revisions as keys
@@ -112,7 +110,7 @@
         return rev
 
     def delete_tag(self, tag_name):
-        path = self.layout.get_tag_path(tag_name, self.project)
+        path = self.branch.layout.get_tag_path(tag_name, self.branch.project)
         parent = urlutils.dirname(path)
         conn = self.repository.transport.connections.get(urlutils.join(self.repository.base, parent))
         if conn.check_path(urlutils.basename(path), self.repository.get_latest_revnum()) != core.NODE_DIR:
@@ -159,6 +157,7 @@
         self._lock_mode = None
         self._lock_count = 0
         self.mapping = self.repository.get_mapping()
+        self.layout = self.repository.get_layout()
         self._branch_path = branch_path.strip("/")
         self.base = urlutils.join(self.repository.base, self._branch_path).rstrip("/")
         self._revmeta_cache = None
@@ -172,7 +171,8 @@
             if num == ERR_FS_NO_SUCH_REVISION:
                 raise NotBranchError(self.base)
             raise
-        if not self.mapping.is_branch(branch_path):
+        (type, self.project, _, ip) = self.layout.parse(branch_path)
+        if type != 'branch' or ip != '':
             raise NotSvnBranchPath(branch_path, mapping=self.mapping)
 
     def _make_tags(self):




More information about the bazaar-commits mailing list