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