Rev 1432: Implement tag lookup. in file:///data/jelmer/bzr-svn/tags/

Jelmer Vernooij jelmer at samba.org
Thu Jul 3 21:39:45 BST 2008


At file:///data/jelmer/bzr-svn/tags/

------------------------------------------------------------
revno: 1432
revision-id: jelmer at samba.org-20080703203944-ro3eh9caweh59aav
parent: jelmer at samba.org-20080703203327-5bplovdvone200dp
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: tags
timestamp: Thu 2008-07-03 22:39:44 +0200
message:
  Implement tag lookup.
modified:
  branch.py                      svnbranch.py-20051017135706-11c749eb0dab04a7
  tests/test_branch.py           test_branch.py-20060508162215-74ffeb5d608f8e20
=== modified file 'branch.py'
--- a/branch.py	2008-07-03 20:33:27 +0000
+++ b/branch.py	2008-07-03 20:39:44 +0000
@@ -62,8 +62,10 @@
         raise NotImplementedError
 
     def lookup_tag(self, tag_name):
-        # TODO: Check if tags/tag_name exists and return revid
-        raise NotImplementedError
+        try:
+            return self.get_tag_dict()[tag_name]
+        except KeyError:
+            raise NoSuchTag(tag_name)
 
     def get_tag_dict(self):
         return self.repository.find_tags(project=self.project, 

=== modified file 'tests/test_branch.py'
--- a/tests/test_branch.py	2008-07-03 20:33:27 +0000
+++ b/tests/test_branch.py	2008-07-03 20:39:44 +0000
@@ -73,8 +73,34 @@
         b = Branch.open(repos_url + "/trunk")
         self.assertEquals([], b.tags.get_tag_dict().keys())
 
+    def test_tag_lookup(self):
+        repos_url = self.make_repository("a")
+       
+        dc = self.get_commit_editor(repos_url)
+        tags = dc.add_dir("tags")
+        tags.add_dir("tags/foo")
+        dc.add_dir("trunk")
+        dc.close()
+
+        b = Branch.open(repos_url + "/trunk")
+        self.assertEquals(b.repository.generate_revision_id(1, "tags/foo", b.repository.get_mapping()), b.tags.lookup_tag("foo"))
+
+    def test_tag_lookup_nonexistant(self):
+        repos_url = self.make_repository("a")
+
+        dc = self.get_commit_editor(repos_url)
+        dc.add_dir("trunk")
+        dc.close()
+       
+        b = Branch.open(repos_url + "/trunk")
+        self.assertRaises(NoSuchTag, b.tags.lookup_tag, "foo")
+
     def test_tags_delete_nonexistent(self):
         repos_url = self.make_repository("a")
+
+        dc = self.get_commit_editor(repos_url)
+        dc.add_dir("trunk")
+        dc.close()
        
         b = Branch.open(repos_url + "/trunk")
         self.assertRaises(NoSuchTag, b.tags.delete_tag, "foo")




More information about the bazaar-commits mailing list