changeset 37:2d319e162598

Add a test that proves renaming a branch to make a tag works properly.
author Augie Fackler <durin42@gmail.com>
date Mon, 20 Oct 2008 16:39:53 -0500
parents c4523e651325
children 9ee7ce0505eb
files tests/fixtures/tag_by_rename_branch.svndump tests/test_tags.py
diffstat 2 files changed, 252 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tag_by_rename_branch.svndump
@@ -0,0 +1,239 @@
+SVN-fs-dump-format-version: 2
+
+UUID: df2126f7-00ab-4d49-b42c-7e981dde0bcf
+
+Revision-number: 0
+Prop-content-length: 56
+Content-length: 56
+
+K 8
+svn:date
+V 27
+2008-10-07T22:49:12.059692Z
+PROPS-END
+
+Revision-number: 1
+Prop-content-length: 111
+Content-length: 111
+
+K 7
+svn:log
+V 11
+Empty dirs.
+K 10
+svn:author
+V 5
+durin
+K 8
+svn:date
+V 27
+2008-10-07T22:49:41.118037Z
+PROPS-END
+
+Node-path: branches
+Node-kind: dir
+Node-action: add
+Prop-content-length: 10
+Content-length: 10
+
+PROPS-END
+
+
+Node-path: tags
+Node-kind: dir
+Node-action: add
+Prop-content-length: 10
+Content-length: 10
+
+PROPS-END
+
+
+Node-path: trunk
+Node-kind: dir
+Node-action: add
+Prop-content-length: 10
+Content-length: 10
+
+PROPS-END
+
+
+Revision-number: 2
+Prop-content-length: 108
+Content-length: 108
+
+K 7
+svn:log
+V 9
+Add alpha
+K 10
+svn:author
+V 5
+durin
+K 8
+svn:date
+V 27
+2008-10-07T23:23:02.991743Z
+PROPS-END
+
+Node-path: trunk/alpha
+Node-kind: file
+Node-action: add
+Prop-content-length: 10
+Text-content-length: 12
+Text-content-md5: 3c72ebf8bbd7fa88b1fdcee5398b5a17
+Content-length: 22
+
+PROPS-END
+file: alpha
+
+
+Revision-number: 3
+Prop-content-length: 107
+Content-length: 107
+
+K 7
+svn:log
+V 8
+Add beta
+K 10
+svn:author
+V 5
+durin
+K 8
+svn:date
+V 27
+2008-10-07T23:28:22.651398Z
+PROPS-END
+
+Node-path: trunk/beta
+Node-kind: file
+Node-action: add
+Prop-content-length: 10
+Text-content-length: 13
+Text-content-md5: 981d1eb5fd0bbe05354c292105944863
+Content-length: 23
+
+PROPS-END
+Data of beta
+
+
+Revision-number: 4
+Prop-content-length: 110
+Content-length: 110
+
+K 7
+svn:log
+V 10
+tagging r3
+K 10
+svn:author
+V 5
+durin
+K 8
+svn:date
+V 27
+2008-10-08T23:18:29.837825Z
+PROPS-END
+
+Node-path: tags/tag_r3
+Node-kind: dir
+Node-action: add
+Node-copyfrom-rev: 3
+Node-copyfrom-path: trunk
+Prop-content-length: 34
+Content-length: 34
+
+K 13
+svn:mergeinfo
+V 0
+
+PROPS-END
+
+
+Revision-number: 5
+Prop-content-length: 114
+Content-length: 114
+
+K 7
+svn:log
+V 14
+tag from a tag
+K 10
+svn:author
+V 5
+durin
+K 8
+svn:date
+V 27
+2008-10-08T23:18:51.091356Z
+PROPS-END
+
+Node-path: tags/copied_tag
+Node-kind: dir
+Node-action: add
+Node-copyfrom-rev: 4
+Node-copyfrom-path: tags/tag_r3
+
+
+Revision-number: 6
+Prop-content-length: 113
+Content-length: 113
+
+K 7
+svn:log
+V 13
+make a branch
+K 10
+svn:author
+V 5
+Augie
+K 8
+svn:date
+V 27
+2008-10-20T21:31:18.706649Z
+PROPS-END
+
+Node-path: branches/dummy
+Node-kind: dir
+Node-action: add
+Node-copyfrom-rev: 5
+Node-copyfrom-path: trunk
+Prop-content-length: 34
+Content-length: 34
+
+K 13
+svn:mergeinfo
+V 0
+
+PROPS-END
+
+
+Revision-number: 7
+Prop-content-length: 118
+Content-length: 118
+
+K 7
+svn:log
+V 18
+make a tag with mv
+K 10
+svn:author
+V 5
+Augie
+K 8
+svn:date
+V 27
+2008-10-20T21:31:41.138126Z
+PROPS-END
+
+Node-path: branches/dummy
+Node-action: delete
+
+
+Node-path: tags/dummy
+Node-kind: dir
+Node-action: add
+Node-copyfrom-rev: 6
+Node-copyfrom-path: branches/dummy
+
+
--- a/tests/test_tags.py
+++ b/tests/test_tags.py
@@ -82,6 +82,19 @@ class TestTags(unittest.TestCase):
     
     def test_branch_from_tag_stupid(self):
         self.test_branch_from_tag(stupid=True)
+    
+    def test_tag_by_renaming_branch(self, stupid=False):
+        repo = self._load_fixture_and_fetch('tag_by_rename_branch.svndump', 
+                                            stupid=stupid)
+        svncommand.generate_hg_tags(ui.ui(), self.wc_path)
+        repo = hg.repository(ui.ui(), self.wc_path)
+        self.assertEqual(node.hex(repo['tip'].node()),
+                         '1b941f92acc343939274bd8bbf25984fa9706bb9')
+        self.assertEqual(node.hex(repo['tag/dummy'].node()),
+                         '68f5f7d82b00a2efe3aca28b615ebab98235d55f')
+    
+    def test_tag_by_renaming_branch_stupid(self):
+        self.test_tag_by_renaming_branch(stupid=True)    
 
 def suite():
     return unittest.TestLoader().loadTestsFromTestCase(TestTags)