Rev 1429: Add find_tags. in file:///data/jelmer/bzr-svn/tags/
Jelmer Vernooij
jelmer at samba.org
Thu Jul 3 19:53:24 BST 2008
At file:///data/jelmer/bzr-svn/tags/
------------------------------------------------------------
revno: 1429
revision-id: jelmer at samba.org-20080703185323-pfj2a2qtitnh6zop
parent: jelmer at samba.org-20080703184844-6s1i7aakg9glmmfh
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: tags
timestamp: Thu 2008-07-03 20:53:23 +0200
message:
Add find_tags.
modified:
repository.py repository.py-20060306123302-1f8c5069b3fe0265
tests/test_repository.py test_repos.py-20060508151940-ddc49a59257ca712
=== modified file 'repository.py'
--- a/repository.py 2008-07-03 17:39:58 +0000
+++ b/repository.py 2008-07-03 18:53:23 +0000
@@ -728,6 +728,30 @@
pb.finished()
return branches
+ @needs_read_lock
+ def find_tags(self, layout=None, revnum=None):
+ """Find branches underneath this repository.
+
+ """
+ if layout is None:
+ layout = self.get_layout()
+
+ if revnum is None:
+ revnum = self.get_latest_revnum()
+
+ tags = {}
+ pb = ui.ui_factory.nested_progress_bar()
+ try:
+ for project, bp, nick in layout.get_tags(revnum, pb=pb):
+ try:
+ tags[nick] = self.generate_revision_id(revnum, bp,
+ self.get_mapping())
+ except NotBranchError: # Skip non-directories
+ pass
+ finally:
+ pb.finished()
+ return tags
+
def find_branchpaths(self, layout, from_revnum=0, to_revnum=None):
"""Find all branch paths that were changed in the specified revision
range.
=== modified file 'tests/test_repository.py'
--- a/tests/test_repository.py 2008-07-01 12:46:51 +0000
+++ b/tests/test_repository.py 2008-07-03 18:53:23 +0000
@@ -401,6 +401,21 @@
self.assertEquals(urlutils.join(repos.base, "branches/branchab"),
branches[0].base)
+ def test_find_tags(self):
+ repos_url = self.make_client('a', 'dc')
+ self.build_tree({
+ 'dc/tags/brancha': None,
+ 'dc/tags/branchab': None,
+ 'dc/tags/brancha/data': "data",
+ "dc/tags/branchab/data":"data"})
+ self.client_add("dc/tags")
+ self.client_commit("dc", "My Message")
+ repos = Repository.open(repos_url)
+ set_branching_scheme(repos, TrunkBranchingScheme())
+ tags = repos.find_tags()
+ self.assertEquals({"brancha": repos.generate_revision_id(1, "tags/brancha", repos.get_mapping()),
+ "branchab": repos.generate_revision_id(1, "tags/branchab", repos.get_mapping())}, tags)
+
def test_find_branchpaths_moved(self):
repos_url = self.make_client("a", "dc")
self.build_tree({
More information about the bazaar-commits
mailing list