Rev 1490: Return project name in mapping3's parse function. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk

Jelmer Vernooij jelmer at samba.org
Wed Jul 23 01:35:04 BST 2008


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

------------------------------------------------------------
revno: 1490
revision-id: jelmer at samba.org-20080723003503-9j7dwt36h7ceh8qt
parent: jelmer at samba.org-20080723001453-24ogvagndkndt93d
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Wed 2008-07-23 02:35:03 +0200
message:
  Return project name in mapping3's parse function.
modified:
  mapping3/__init__.py           __init__.py-20080502174630-9324zh25kka98vlw-1
  mapping3/scheme.py             scheme.py-20060516195850-95181aae6b272f9e
  tests/test_scheme.py           test_scheme.py-20060621221855-va2xabhlxpmc9llx-1
=== modified file 'mapping3/__init__.py'
--- a/mapping3/__init__.py	2008-07-09 00:06:53 +0000
+++ b/mapping3/__init__.py	2008-07-23 00:35:03 +0000
@@ -75,12 +75,12 @@
         self.scheme = scheme
 
     def parse(self, path):
-        (bp, rp) = self.scheme.unprefix(path)
+        (proj, bp, rp) = self.scheme.unprefix(path)
         if self.scheme.is_tag(bp):
             type = "tag"
         else:
             type = "branch"
-        return (type, "", bp, rp)
+        return (type, proj, bp, rp)
 
     def _get_root_paths(self, revnum, verify_fn, project="", pb=None):
         def check_path(path):
@@ -299,7 +299,7 @@
         return self._generate_revision_id(uuid, revnum, path, self.scheme)
 
     def unprefix(self, branch_path, repos_path):
-        (bp, np) = self.scheme.unprefix(repos_path)
+        (proj, bp, np) = self.scheme.unprefix(repos_path)
         assert branch_path == bp
         return np
 

=== modified file 'mapping3/scheme.py'
--- a/mapping3/scheme.py	2008-07-08 21:35:18 +0000
+++ b/mapping3/scheme.py	2008-07-23 00:35:03 +0000
@@ -43,7 +43,7 @@
         """Split up a Subversion path into a branch-path and inside-branch path.
 
         :param path: Path to split up.
-        :return: Tuple with branch-path and inside-branch path.
+        :return: Tuple with project name,branch-path and inside-branch path.
         """
         raise NotImplementedError
 
@@ -193,7 +193,7 @@
         parts = path.strip("/").split("/")
         for pattern in self.split_branch_list:
             if self._pattern_cmp(parts[:len(pattern)], pattern):
-                return ("/".join(parts[:len(pattern)]), 
+                return ("", "/".join(parts[:len(pattern)]), 
                         "/".join(parts[len(pattern):]))
         raise InvalidSvnBranchPath(path, self)
 
@@ -233,7 +233,7 @@
     def unprefix(self, path):
         """See BranchingScheme.unprefix()."""
         assert isinstance(path, str)
-        return ("", path.strip("/"))
+        return ("", "", path.strip("/"))
 
     def __str__(self):
         return "none"
@@ -303,11 +303,13 @@
             raise InvalidSvnBranchPath(path, self)
 
         if parts[self.level] == "trunk" or parts[self.level] == "hooks":
-            return ("/".join(parts[0:self.level+1]).strip("/"), 
+            return ("/".join(parts[0:self.level]).strip("/"),
+                    "/".join(parts[0:self.level+1]).strip("/"), 
                     "/".join(parts[self.level+1:]).strip("/"))
         elif ((parts[self.level] == "tags" or parts[self.level] == "branches") and 
               len(parts) >= self.level+2):
-            return ("/".join(parts[0:self.level+2]).strip("/"), 
+            return ("/".join(parts[0:self.level]).strip("/"),
+                    "/".join(parts[0:self.level+2]).strip("/"), 
                     "/".join(parts[self.level+2:]).strip("/"))
         else:
             raise InvalidSvnBranchPath(path, self)
@@ -363,7 +365,8 @@
         if not path.startswith(self.path):
             raise InvalidSvnBranchPath(path, self)
 
-        return (path[0:len(self.path)].strip("/"), 
+        return (self.path, 
+                path[0:len(self.path)].strip("/"), 
                 path[len(self.path):].strip("/"))
 
     def __str__(self):

=== modified file 'tests/test_scheme.py'
--- a/tests/test_scheme.py	2008-07-08 21:35:18 +0000
+++ b/tests/test_scheme.py	2008-07-23 00:35:03 +0000
@@ -117,16 +117,16 @@
         self.assertFalse(NoBranchingScheme().is_tag("/"))
 
     def test_unprefix(self):
-        self.assertEqual(NoBranchingScheme().unprefix(""), ("", ""))
+        self.assertEqual(NoBranchingScheme().unprefix(""), ("", "", ""))
 
     def test_unprefix_slash(self):
-        self.assertEqual(NoBranchingScheme().unprefix("/"), ("", ""))
+        self.assertEqual(NoBranchingScheme().unprefix("/"), ("", "", ""))
 
     def test_unprefix_nested(self):
-        self.assertEqual(NoBranchingScheme().unprefix("foo/foo"), ("", "foo/foo"))
+        self.assertEqual(NoBranchingScheme().unprefix("foo/foo"), ("", "", "foo/foo"))
 
     def test_unprefix_slash_nested(self):
-        self.assertEqual(NoBranchingScheme().unprefix("/foo/foo"), ("", "foo/foo"))
+        self.assertEqual(NoBranchingScheme().unprefix("/foo/foo"), ("", "", "foo/foo"))
 
     def test_is_branch_parent_root(self):
         self.assertFalse(NoBranchingScheme().is_branch_parent(""))
@@ -221,12 +221,12 @@
 
     def test_unprefix_wildcard(self):
         scheme = ListBranchingScheme(["*/trunk"])
-        self.assertEquals(("bla/trunk", "foo"), 
+        self.assertEquals(("", "bla/trunk", "foo"), 
                           scheme.unprefix("bla/trunk/foo"))
 
     def test_unprefix_wildcard_multiple(self):
         scheme = ListBranchingScheme(["trunk/*/*"])
-        self.assertEquals(("trunk/foo/bar", "bla/blie"), 
+        self.assertEquals(("", "trunk/foo/bar", "bla/blie"), 
                           scheme.unprefix("trunk/foo/bar/bla/blie"))
 
     def test_unprefix_wildcard_nonexistant(self):
@@ -242,25 +242,25 @@
         self.assertRaises(NotBranchError, self.scheme.unprefix, "blie/bloe/bla")
 
     def test_unprefix_branch_slash(self):
-        self.assertEqual(self.scheme.unprefix("/foo"), ("foo", ""))
+        self.assertEqual(self.scheme.unprefix("/foo"), ("", "foo", ""))
 
     def test_unprefix_branch(self):
-        self.assertEqual(self.scheme.unprefix("foo"), ("foo", ""))
+        self.assertEqual(self.scheme.unprefix("foo"), ("", "foo", ""))
 
     def test_unprefix_nested_slash(self):
-        self.assertEqual(self.scheme.unprefix("/foo/foo"), ("foo", "foo"))
+        self.assertEqual(self.scheme.unprefix("/foo/foo"), ("", "foo", "foo"))
 
     def test_unprefix_nested(self):
-        self.assertEqual(self.scheme.unprefix("foo/bar"), ("foo", "bar"))
+        self.assertEqual(self.scheme.unprefix("foo/bar"), ("", "foo", "bar"))
 
     def test_unprefix_double_nested(self):
-        self.assertEqual(self.scheme.unprefix("foo/bar/bla"), ("foo", "bar/bla"))
+        self.assertEqual(self.scheme.unprefix("foo/bar/bla"), ("", "foo", "bar/bla"))
 
     def test_unprefix_double_slash(self):
-        self.assertEqual(self.scheme.unprefix("//foo/"), ("foo", ""))
+        self.assertEqual(self.scheme.unprefix("//foo/"), ("", "foo", ""))
 
     def test_unprefix_nested_branch(self):
-        self.assertEqual(self.scheme.unprefix("bar/bloe"), ("bar/bloe", ""))
+        self.assertEqual(self.scheme.unprefix("bar/bloe"), ("", "bar/bloe", ""))
 
     def test_str(self):
         self.assertEqual("list-QlpoOTFBWSZTWSDz6woAAAPRgAAQAACzBJAAIAAiDRo9QgyYjmbjatAeLuSKcKEgQefWFA..", str(self.scheme))
@@ -366,19 +366,19 @@
         self.assertRaises(NotBranchError, TrunkBranchingScheme().unprefix, "aa")
 
     def test_unprefix_slash_branch(self):
-        self.assertEqual(TrunkBranchingScheme().unprefix("/trunk"), ("trunk", ""))
+        self.assertEqual(TrunkBranchingScheme().unprefix("/trunk"), ("", "trunk", ""))
 
     def test_unprefix_nested_branch_sub(self):
-        self.assertEqual(TrunkBranchingScheme().unprefix("branches/ver1/foo"), ("branches/ver1", "foo"))
+        self.assertEqual(TrunkBranchingScheme().unprefix("branches/ver1/foo"), ("", "branches/ver1", "foo"))
 
     def test_unprefix_nested_tag_sub(self):
-        self.assertEqual(TrunkBranchingScheme().unprefix("tags/ver1"), ("tags/ver1", ""))
+        self.assertEqual(TrunkBranchingScheme().unprefix("tags/ver1"), ("", "tags/ver1", ""))
 
     def test_unprefix_doubleslash_branch(self):
-        self.assertEqual(TrunkBranchingScheme().unprefix("//trunk/foo"), ("trunk", "foo"))
+        self.assertEqual(TrunkBranchingScheme().unprefix("//trunk/foo"), ("", "trunk", "foo"))
 
     def test_unprefix_slash_tag(self):
-        self.assertEqual(TrunkBranchingScheme().unprefix("/tags/ver2/foo/bar"), ("tags/ver2", "foo/bar"))
+        self.assertEqual(TrunkBranchingScheme().unprefix("/tags/ver2/foo/bar"), ("", "tags/ver2", "foo/bar"))
 
     def test_unprefix_level(self):
         self.assertRaises(NotBranchError, TrunkBranchingScheme(1).unprefix, "trunk")
@@ -390,10 +390,10 @@
         self.assertRaises(NotBranchError, TrunkBranchingScheme(1).unprefix, "branches/ver1/foo")
 
     def test_unprefix_level_correct_branch(self):
-        self.assertEqual(TrunkBranchingScheme(1).unprefix("/foo/trunk"), ("foo/trunk", ""))
+        self.assertEqual(TrunkBranchingScheme(1).unprefix("/foo/trunk"), ("foo", "foo/trunk", ""))
 
     def test_unprefix_level_correct_nested(self):
-        self.assertEqual(TrunkBranchingScheme(1).unprefix("data/tags/ver1"), ("data/tags/ver1", ""))
+        self.assertEqual(TrunkBranchingScheme(1).unprefix("data/tags/ver1"), ("data", "data/tags/ver1", ""))
 
     def test_str0(self):
         self.assertEqual("trunk0", TrunkBranchingScheme().__str__())
@@ -486,10 +486,10 @@
         self.assertFalse(SingleBranchingScheme("bla/bloe").is_tag("bla/bloe"))
 
     def test_unprefix(self):
-        self.assertEquals(("ha", "ho"), SingleBranchingScheme("ha").unprefix("ha/ho"))
+        self.assertEquals(("ha", "ha", "ho"), SingleBranchingScheme("ha").unprefix("ha/ho"))
 
     def test_unprefix_branch(self):
-        self.assertEquals(("ha", ""), SingleBranchingScheme("ha").unprefix("ha"))
+        self.assertEquals(("ha", "ha", ""), SingleBranchingScheme("ha").unprefix("ha"))
 
     def test_unprefix_raises(self):
         self.assertRaises(NotBranchError, SingleBranchingScheme("ha").unprefix, "bla")




More information about the bazaar-commits mailing list