Mercurial > hgsubversion
comparison tests/test_tags.py @ 452:ae35c389cdef
tags: allow editing tags of closed branches without reopening the branch
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Fri, 26 Jun 2009 14:53:58 -0500 |
parents | e533e78f1b2f |
children | bb612e625be6 |
comparison
equal
deleted
inserted
replaced
451:e533e78f1b2f | 452:ae35c389cdef |
---|---|
90 self.test_edited_tag(True) | 90 self.test_edited_tag(True) |
91 | 91 |
92 def test_edited_tag(self, stupid=False): | 92 def test_edited_tag(self, stupid=False): |
93 repo = self._load_fixture_and_fetch('commit-to-tag.svndump', | 93 repo = self._load_fixture_and_fetch('commit-to-tag.svndump', |
94 stupid=stupid) | 94 stupid=stupid) |
95 self.assertEqual(len(repo.heads()), 3) | 95 self.assertEqual(len(repo.heads()), 4) |
96 heads = repo.heads() | 96 heads = repo.heads() |
97 openheads = [h for h in heads if not repo[h].extra().get('close', False)] | 97 openheads = [h for h in heads if not repo[h].extra().get('close', False)] |
98 closedheads = set(heads) - set(openheads) | 98 closedheads = set(heads) - set(openheads) |
99 self.assertEqual(len(openheads), 1) | 99 self.assertEqual(len(openheads), 0) |
100 self.assertEqual(len(closedheads), 2) | 100 self.assertEqual(len(closedheads), 4) |
101 closedheads = sorted(list(closedheads), cmp=lambda x,y: cmp(repo[x].rev(), | 101 closedheads = sorted(list(closedheads), cmp=lambda x,y: cmp(repo[x].rev(), |
102 repo[y].rev())) | 102 repo[y].rev())) |
103 willedit, alsoedit = closedheads | 103 # closeme has no open heads |
104 for h in openheads: | |
105 self.assertNotEqual('closeme', repo[openheads[0]].branch()) | |
106 | |
107 self.assertEqual(1, len(self.repo.branchheads('magic'))) | |
108 | |
109 willedit, alsoedit, editlater, closeme = closedheads | |
104 self.assertEqual( | 110 self.assertEqual( |
105 repo[willedit].extra(), | 111 repo[willedit].extra(), |
106 {'close': '1', | 112 {'close': '1', |
107 'branch': 'magic', | 113 'branch': 'magic', |
108 'convert_revision': 'svn:af82cc90-c2d2-43cd-b1aa-c8a78449440a/tags/will-edit@9'}) | 114 'convert_revision': 'svn:af82cc90-c2d2-43cd-b1aa-c8a78449440a/tags/will-edit@9'}) |
125 'iota', | 131 'iota', |
126 'gamma', | 132 'gamma', |
127 'lambda', | 133 'lambda', |
128 ]) | 134 ]) |
129 | 135 |
136 self.assertEqual(editlater, repo['edit-later'].node()) | |
137 self.assertEqual( | |
138 repo[closeme].extra(), | |
139 {'close': '1', | |
140 'branch': 'closeme', | |
141 'convert_revision': 'svn:af82cc90-c2d2-43cd-b1aa-c8a78449440a/branches/closeme@17'}) | |
142 | |
130 def test_tags_in_unusual_location(self): | 143 def test_tags_in_unusual_location(self): |
131 repo = self._load_fixture_and_fetch('tag_name_same_as_branch.svndump') | 144 repo = self._load_fixture_and_fetch('tag_name_same_as_branch.svndump') |
132 self.assertEqual(len(repo.heads()), 1) | 145 self.assertEqual(len(repo.heads()), 1) |
133 branches = set(repo[h].extra()['branch'] | 146 branches = set(repo[h].extra()['branch'] |
134 for h in repo.heads()) | 147 for h in repo.heads()) |