Mercurial > hgsubversion
comparison tests/test_fetch_command.py @ 154:6fa97cfbf62f
fetch: Refactor extra creation to be shared by real and diff replay.
Add convert-compatible meta information to extra.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 23 Dec 2008 11:10:32 -0600 |
parents | 19aabf67c792 |
children | 906d3f302b45 |
comparison
equal
deleted
inserted
replaced
153:46f6b872c988 | 154:6fa97cfbf62f |
---|---|
9 | 9 |
10 class TestBasicRepoLayout(test_util.TestBase): | 10 class TestBasicRepoLayout(test_util.TestBase): |
11 def test_fresh_fetch_single_rev(self): | 11 def test_fresh_fetch_single_rev(self): |
12 repo = self._load_fixture_and_fetch('single_rev.svndump') | 12 repo = self._load_fixture_and_fetch('single_rev.svndump') |
13 self.assertEqual(node.hex(repo['tip'].node()), | 13 self.assertEqual(node.hex(repo['tip'].node()), |
14 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 14 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
15 self.assertEqual(repo['tip'].extra()['convert_revision'], | |
16 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@2') | |
15 self.assertEqual(repo['tip'], repo[0]) | 17 self.assertEqual(repo['tip'], repo[0]) |
16 | 18 |
17 def test_fresh_fetch_two_revs(self): | 19 def test_fresh_fetch_two_revs(self): |
18 repo = self._load_fixture_and_fetch('two_revs.svndump') | 20 repo = self._load_fixture_and_fetch('two_revs.svndump') |
19 # TODO there must be a better way than repo[0] for this check | 21 # TODO there must be a better way than repo[0] for this check |
20 self.assertEqual(node.hex(repo[0].node()), | 22 self.assertEqual(node.hex(repo[0].node()), |
21 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 23 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
22 self.assertEqual(node.hex(repo['tip'].node()), | 24 self.assertEqual(node.hex(repo['tip'].node()), |
23 'bf3767835b3b32ecc775a298c2fa27134dd91c11') | 25 'c95251e0dd04697deee99b79cc407d7db76e6a5f') |
24 self.assertEqual(repo['tip'], repo[1]) | 26 self.assertEqual(repo['tip'], repo[1]) |
25 | 27 |
26 def test_branches(self): | 28 def test_branches(self): |
27 repo = self._load_fixture_and_fetch('simple_branch.svndump') | 29 repo = self._load_fixture_and_fetch('simple_branch.svndump') |
28 # TODO there must be a better way than repo[0] for this check | 30 # TODO there must be a better way than repo[0] for this check |
29 self.assertEqual(node.hex(repo[0].node()), | 31 self.assertEqual(node.hex(repo[0].node()), |
30 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 32 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
31 self.assertEqual(node.hex(repo['tip'].node()), | 33 self.assertEqual(node.hex(repo['tip'].node()), |
32 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') | 34 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
33 self.assertEqual(len(repo['tip'].parents()), 1) | 35 self.assertEqual(len(repo['tip'].parents()), 1) |
34 self.assertEqual(repo['tip'].parents()[0], repo['default']) | 36 self.assertEqual(repo['tip'].parents()[0], repo['default']) |
37 self.assertEqual(repo['tip'].extra()['convert_revision'], | |
38 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/branches/the_branch@4') | |
39 self.assertEqual(repo['default'].extra()['convert_revision'], | |
40 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@3') | |
35 self.assertEqual(len(repo.heads()), 1) | 41 self.assertEqual(len(repo.heads()), 1) |
36 | 42 |
37 def test_two_branches_with_heads(self): | 43 def test_two_branches_with_heads(self): |
38 repo = self._load_fixture_and_fetch('two_heads.svndump') | 44 repo = self._load_fixture_and_fetch('two_heads.svndump') |
39 # TODO there must be a better way than repo[0] for this check | 45 # TODO there must be a better way than repo[0] for this check |
40 self.assertEqual(node.hex(repo[0].node()), | 46 self.assertEqual(node.hex(repo[0].node()), |
41 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 47 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
42 self.assertEqual(node.hex(repo['tip'].node()), | 48 self.assertEqual(node.hex(repo['tip'].node()), |
43 'a595c77cfcaa3d1ba9e04b2c55c68bc6bf2b0fbf') | 49 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') |
44 self.assertEqual(node.hex(repo['the_branch'].node()), | 50 self.assertEqual(node.hex(repo['the_branch'].node()), |
45 '8ccaba5f0eae124487e413abd904a013f7f6fdeb') | 51 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') |
46 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | 52 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), |
47 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') | 53 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
48 self.assertEqual(len(repo['tip'].parents()), 1) | 54 self.assertEqual(len(repo['tip'].parents()), 1) |
49 self.assertEqual(repo['tip'], repo['default']) | 55 self.assertEqual(repo['tip'], repo['default']) |
50 self.assertEqual(len(repo.heads()), 2) | 56 self.assertEqual(len(repo.heads()), 2) |
51 | 57 |
52 def test_many_special_cases_replay(self): | 58 def test_many_special_cases_replay(self): |
61 # TODO there must be a better way than repo[0] for this check | 67 # TODO there must be a better way than repo[0] for this check |
62 self._many_special_cases_checks(repo) | 68 self._many_special_cases_checks(repo) |
63 | 69 |
64 def _many_special_cases_checks(self, repo): | 70 def _many_special_cases_checks(self, repo): |
65 self.assertEqual(node.hex(repo[0].node()), | 71 self.assertEqual(node.hex(repo[0].node()), |
66 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 72 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
67 self.assertEqual(node.hex(repo['tip'].node()), | 73 self.assertEqual(node.hex(repo['tip'].node()), |
68 '179fb7d9bc77eef78288661f0430e0c1dff56b6f') | 74 'b7bdc73041b1852563deb1ef3f4153c2fe4484f2') |
69 self.assertEqual(node.hex(repo['the_branch'].node()), | 75 self.assertEqual(node.hex(repo['the_branch'].node()), |
70 '8ccaba5f0eae124487e413abd904a013f7f6fdeb') | 76 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') |
71 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | 77 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), |
72 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') | 78 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
73 self.assertEqual(len(repo['tip'].parents()), 1) | 79 self.assertEqual(len(repo['tip'].parents()), 1) |
74 self.assertEqual(repo['tip'], repo['default']) | 80 self.assertEqual(repo['tip'], repo['default']) |
75 self.assertEqual(len(repo.heads()), 2) | 81 self.assertEqual(len(repo.heads()), 2) |
76 | 82 |
77 def test_file_mixed_with_branches(self): | 83 def test_file_mixed_with_branches(self): |
78 repo = self._load_fixture_and_fetch('file_mixed_with_branches.svndump') | 84 repo = self._load_fixture_and_fetch('file_mixed_with_branches.svndump') |
79 self.assertEqual(node.hex(repo['tip'].node()), | 85 self.assertEqual(node.hex(repo['tip'].node()), |
80 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 86 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
81 assert 'README' not in repo | 87 assert 'README' not in repo |
82 | 88 |
83 def test_files_copied_from_outside_btt(self): | 89 def test_files_copied_from_outside_btt(self): |
84 repo = self._load_fixture_and_fetch( | 90 repo = self._load_fixture_and_fetch( |
85 'test_files_copied_from_outside_btt.svndump') | 91 'test_files_copied_from_outside_btt.svndump') |
86 self.assertEqual(node.hex(repo['tip'].node()), | 92 self.assertEqual(node.hex(repo['tip'].node()), |
87 'c4e669a763a70f751c71d4534a34a65f398d71d4') | 93 '3c78170e30ddd35f2c32faa0d8646ab75bba4f73') |
88 self.assertEqual(len(repo.changelog), 2) | 94 self.assertEqual(len(repo.changelog), 2) |
89 | 95 |
90 def test_file_renamed_in_from_outside_btt(self): | 96 def test_file_renamed_in_from_outside_btt(self): |
91 repo = self._load_fixture_and_fetch( | 97 repo = self._load_fixture_and_fetch( |
92 'file_renamed_in_from_outside_btt.svndump') | 98 'file_renamed_in_from_outside_btt.svndump') |
94 | 100 |
95 def test_renamed_dir_in_from_outside_btt_not_repo_root(self): | 101 def test_renamed_dir_in_from_outside_btt_not_repo_root(self): |
96 repo = self._load_fixture_and_fetch( | 102 repo = self._load_fixture_and_fetch( |
97 'fetch_missing_files_subdir.svndump', subdir='foo') | 103 'fetch_missing_files_subdir.svndump', subdir='foo') |
98 self.assertEqual(node.hex(repo['tip'].node()), | 104 self.assertEqual(node.hex(repo['tip'].node()), |
99 '2fae2544a5858d0bc6c04976683b3dcc0416d6e3') | 105 '269dcdd4361b2847e9f4288d4500e55d35df1f52') |
100 self.assert_('bar/alpha' in repo['tip']) | 106 self.assert_('bar/alpha' in repo['tip']) |
101 self.assert_('foo' in repo['tip']) | 107 self.assert_('foo' in repo['tip']) |
102 self.assert_('bar/alpha' not in repo['tip'].parents()[0]) | 108 self.assert_('bar/alpha' not in repo['tip'].parents()[0]) |
103 self.assert_('foo' in repo['tip'].parents()[0]) | 109 self.assert_('foo' in repo['tip'].parents()[0]) |
104 | 110 |
105 def test_oldest_not_trunk_and_tag_vendor_branch(self): | 111 def test_oldest_not_trunk_and_tag_vendor_branch(self): |
106 repo = self._load_fixture_and_fetch( | 112 repo = self._load_fixture_and_fetch( |
107 'tagged_vendor_and_oldest_not_trunk.svndump') | 113 'tagged_vendor_and_oldest_not_trunk.svndump') |
108 self.assertEqual(node.hex(repo['oldest'].node()), | 114 self.assertEqual(node.hex(repo['oldest'].node()), |
109 'd73002bcdeffe389a8df81ee43303d36e79e8ca4') | 115 '926671740dec045077ab20f110c1595f935334fa') |
110 self.assertEqual(repo['tip'].parents()[0].parents()[0], | 116 self.assertEqual(repo['tip'].parents()[0].parents()[0], |
111 repo['oldest']) | 117 repo['oldest']) |
112 self.assertEqual(node.hex(repo['tip'].node()), | 118 self.assertEqual(node.hex(repo['tip'].node()), |
113 '9cf09e6ff7fa938188c3bcc9dd87abd7842c080c') | 119 '1a6c3f30911d57abb67c257ec0df3e7bc44786f7') |
114 | 120 |
115 def test_propedit_with_nothing_else(self, stupid=False): | 121 def test_propedit_with_nothing_else(self, stupid=False): |
116 repo = self._load_fixture_and_fetch('branch_prop_edit.svndump', | 122 repo = self._load_fixture_and_fetch('branch_prop_edit.svndump', |
117 stupid=stupid) | 123 stupid=stupid) |
118 self.assertEqual(repo['tip'].description(), 'Commit bogus propchange.') | 124 self.assertEqual(repo['tip'].description(), 'Commit bogus propchange.') |
137 self.repo_path, | 143 self.repo_path, |
138 self.wc_path, | 144 self.wc_path, |
139 True) | 145 True) |
140 # TODO there must be a better way than repo[0] for this check | 146 # TODO there must be a better way than repo[0] for this check |
141 self.assertEqual(node.hex(repo[0].node()), | 147 self.assertEqual(node.hex(repo[0].node()), |
142 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 148 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
143 self.assertEqual(node.hex(repo['tip'].node()), | 149 self.assertEqual(node.hex(repo['tip'].node()), |
144 'a595c77cfcaa3d1ba9e04b2c55c68bc6bf2b0fbf') | 150 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') |
145 self.assertEqual(node.hex(repo['the_branch'].node()), | 151 self.assertEqual(node.hex(repo['the_branch'].node()), |
146 '8ccaba5f0eae124487e413abd904a013f7f6fdeb') | 152 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') |
153 self.assertEqual(repo['the_branch'].extra()['convert_revision'], | |
154 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/branches/the_branch@5') | |
147 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | 155 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), |
148 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') | 156 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
149 self.assertEqual(len(repo['tip'].parents()), 1) | 157 self.assertEqual(len(repo['tip'].parents()), 1) |
158 self.assertEqual(repo['default'].extra()['convert_revision'], | |
159 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@6') | |
150 self.assertEqual(repo['tip'], repo['default']) | 160 self.assertEqual(repo['tip'], repo['default']) |
151 self.assertEqual(len(repo.heads()), 2) | 161 self.assertEqual(len(repo.heads()), 2) |
152 | 162 |
153 def test_oldest_not_trunk_and_tag_vendor_branch(self): | 163 def test_oldest_not_trunk_and_tag_vendor_branch(self): |
154 repo = test_util.load_fixture_and_fetch( | 164 repo = test_util.load_fixture_and_fetch( |
156 self.repo_path, | 166 self.repo_path, |
157 self.wc_path, | 167 self.wc_path, |
158 True) | 168 True) |
159 repo = hg.repository(ui.ui(), self.wc_path) | 169 repo = hg.repository(ui.ui(), self.wc_path) |
160 self.assertEqual(node.hex(repo['oldest'].node()), | 170 self.assertEqual(node.hex(repo['oldest'].node()), |
161 'd73002bcdeffe389a8df81ee43303d36e79e8ca4') | 171 '926671740dec045077ab20f110c1595f935334fa') |
162 self.assertEqual(repo['tip'].parents()[0].parents()[0], | 172 self.assertEqual(repo['tip'].parents()[0].parents()[0], |
163 repo['oldest']) | 173 repo['oldest']) |
164 self.assertEqual(node.hex(repo['tip'].node()), | 174 self.assertEqual(node.hex(repo['tip'].node()), |
165 '9cf09e6ff7fa938188c3bcc9dd87abd7842c080c') | 175 '1a6c3f30911d57abb67c257ec0df3e7bc44786f7') |
166 | 176 |
167 def suite(): | 177 def suite(): |
168 all = [unittest.TestLoader().loadTestsFromTestCase(TestBasicRepoLayout), | 178 all = [unittest.TestLoader().loadTestsFromTestCase(TestBasicRepoLayout), |
169 unittest.TestLoader().loadTestsFromTestCase(TestStupidPull), | 179 unittest.TestLoader().loadTestsFromTestCase(TestStupidPull), |
170 ] | 180 ] |