Mercurial > hgsubversion
comparison tests/test_fetch_command.py @ 304:ce676eff002b
First merge, totally untested.
| author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
|---|---|
| date | Fri, 01 May 2009 10:28:59 +0200 |
| parents | d978192f0d63 |
| children | bb00f7ca5b8c |
comparison
equal
deleted
inserted
replaced
| 303:f423a8780832 | 304:ce676eff002b |
|---|---|
| 4 from mercurial import node | 4 from mercurial import node |
| 5 from mercurial import ui | 5 from mercurial import ui |
| 6 | 6 |
| 7 import test_util | 7 import test_util |
| 8 | 8 |
| 9 class TestBasicRepoLayout(test_util.TestBase): | |
| 9 | 10 |
| 10 class TestBasicRepoLayout(test_util.TestBase): | 11 def test_no_dates(self): |
| 12 repo = self._load_fixture_and_fetch('test_no_dates.svndump') | |
| 13 local_epoch = repo[0].date() | |
| 14 self.assertEqual(local_epoch[0], local_epoch[1]) | |
| 15 self.assertEqual(repo[1].date(), repo[2].date()) | |
| 16 | |
| 11 def test_fresh_fetch_single_rev(self): | 17 def test_fresh_fetch_single_rev(self): |
| 12 repo = self._load_fixture_and_fetch('single_rev.svndump') | 18 repo = self._load_fixture_and_fetch('single_rev.svndump') |
| 13 self.assertEqual(node.hex(repo['tip'].node()), | 19 self.assertEqual(node.hex(repo['tip'].node()), |
| 14 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 20 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 15 self.assertEqual(repo['tip'].extra()['convert_revision'], | 21 self.assertEqual(repo['tip'].extra()['convert_revision'], |
| 16 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@2') | 22 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@2') |
| 17 self.assertEqual(repo['tip'], repo[0]) | 23 self.assertEqual(repo['tip'], repo[0]) |
| 18 | 24 |
| 19 def test_fresh_fetch_two_revs(self): | 25 def test_fresh_fetch_two_revs(self): |
| 20 repo = self._load_fixture_and_fetch('two_revs.svndump') | 26 repo = self._load_fixture_and_fetch('two_revs.svndump') |
| 21 # TODO there must be a better way than repo[0] for this check | |
| 22 self.assertEqual(node.hex(repo[0].node()), | 27 self.assertEqual(node.hex(repo[0].node()), |
| 23 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 28 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 24 self.assertEqual(node.hex(repo['tip'].node()), | 29 self.assertEqual(node.hex(repo['tip'].node()), |
| 25 'c95251e0dd04697deee99b79cc407d7db76e6a5f') | 30 'c95251e0dd04697deee99b79cc407d7db76e6a5f') |
| 26 self.assertEqual(repo['tip'], repo[1]) | 31 self.assertEqual(repo['tip'], repo[1]) |
| 27 | 32 |
| 28 def test_branches(self): | 33 def test_branches(self): |
| 29 repo = self._load_fixture_and_fetch('simple_branch.svndump') | 34 repo = self._load_fixture_and_fetch('simple_branch.svndump') |
| 30 # TODO there must be a better way than repo[0] for this check | |
| 31 self.assertEqual(node.hex(repo[0].node()), | 35 self.assertEqual(node.hex(repo[0].node()), |
| 32 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 36 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 33 self.assertEqual(node.hex(repo['tip'].node()), | 37 self.assertEqual(node.hex(repo['tip'].node()), |
| 34 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') | 38 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
| 35 self.assertEqual(len(repo['tip'].parents()), 1) | 39 self.assertEqual(len(repo['tip'].parents()), 1) |
| 40 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@3') | 44 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@3') |
| 41 self.assertEqual(len(repo.heads()), 1) | 45 self.assertEqual(len(repo.heads()), 1) |
| 42 | 46 |
| 43 def test_two_branches_with_heads(self): | 47 def test_two_branches_with_heads(self): |
| 44 repo = self._load_fixture_and_fetch('two_heads.svndump') | 48 repo = self._load_fixture_and_fetch('two_heads.svndump') |
| 45 # TODO there must be a better way than repo[0] for this check | |
| 46 self.assertEqual(node.hex(repo[0].node()), | 49 self.assertEqual(node.hex(repo[0].node()), |
| 47 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 50 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 48 self.assertEqual(node.hex(repo['tip'].node()), | 51 self.assertEqual(node.hex(repo['tip'].node()), |
| 49 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') | 52 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') |
| 50 self.assertEqual(node.hex(repo['the_branch'].node()), | 53 self.assertEqual(node.hex(repo['the_branch'].node()), |
| 55 self.assertEqual(repo['tip'], repo['default']) | 58 self.assertEqual(repo['tip'], repo['default']) |
| 56 self.assertEqual(len(repo.heads()), 2) | 59 self.assertEqual(len(repo.heads()), 2) |
| 57 | 60 |
| 58 def test_many_special_cases_replay(self): | 61 def test_many_special_cases_replay(self): |
| 59 repo = self._load_fixture_and_fetch('many_special_cases.svndump') | 62 repo = self._load_fixture_and_fetch('many_special_cases.svndump') |
| 60 # TODO there must be a better way than repo[0] for this check | |
| 61 self._many_special_cases_checks(repo) | 63 self._many_special_cases_checks(repo) |
| 62 | 64 |
| 63 | 65 |
| 64 def test_many_special_cases_diff(self): | 66 def test_many_special_cases_diff(self): |
| 65 repo = self._load_fixture_and_fetch('many_special_cases.svndump', | 67 repo = self._load_fixture_and_fetch('many_special_cases.svndump', |
| 66 stupid=True) | 68 stupid=True) |
| 67 # TODO there must be a better way than repo[0] for this check | |
| 68 self._many_special_cases_checks(repo) | 69 self._many_special_cases_checks(repo) |
| 69 | 70 |
| 70 def _many_special_cases_checks(self, repo): | 71 def _many_special_cases_checks(self, repo): |
| 71 self.assertEqual(node.hex(repo[0].node()), | 72 self.assertEqual(node.hex(repo[0].node()), |
| 72 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 73 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 83 def test_file_mixed_with_branches(self): | 84 def test_file_mixed_with_branches(self): |
| 84 repo = self._load_fixture_and_fetch('file_mixed_with_branches.svndump') | 85 repo = self._load_fixture_and_fetch('file_mixed_with_branches.svndump') |
| 85 self.assertEqual(node.hex(repo['default'].node()), | 86 self.assertEqual(node.hex(repo['default'].node()), |
| 86 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 87 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 87 assert 'README' not in repo | 88 assert 'README' not in repo |
| 88 self.assertEqual(repo['tip'].branch(), | 89 assert '../branches' not in repo |
| 89 '../branches') | |
| 90 | |
| 91 | 90 |
| 92 def test_files_copied_from_outside_btt(self): | 91 def test_files_copied_from_outside_btt(self): |
| 93 repo = self._load_fixture_and_fetch( | 92 repo = self._load_fixture_and_fetch( |
| 94 'test_files_copied_from_outside_btt.svndump') | 93 'test_files_copied_from_outside_btt.svndump') |
| 95 self.assertEqual(node.hex(repo['tip'].node()), | 94 self.assertEqual(node.hex(repo['tip'].node()), |
| 97 self.assertEqual(len(repo.changelog), 2) | 96 self.assertEqual(len(repo.changelog), 2) |
| 98 | 97 |
| 99 def test_file_renamed_in_from_outside_btt(self): | 98 def test_file_renamed_in_from_outside_btt(self): |
| 100 repo = self._load_fixture_and_fetch( | 99 repo = self._load_fixture_and_fetch( |
| 101 'file_renamed_in_from_outside_btt.svndump') | 100 'file_renamed_in_from_outside_btt.svndump') |
| 102 self.assert_('LICENSE.file' in repo['tip']) | 101 self.assert_('LICENSE.file' in repo['default']) |
| 103 | 102 |
| 104 def test_renamed_dir_in_from_outside_btt_not_repo_root(self): | 103 def test_renamed_dir_in_from_outside_btt_not_repo_root(self): |
| 105 repo = self._load_fixture_and_fetch( | 104 repo = self._load_fixture_and_fetch( |
| 106 'fetch_missing_files_subdir.svndump', subdir='foo') | 105 'fetch_missing_files_subdir.svndump', subdir='foo') |
| 107 self.assertEqual(node.hex(repo['tip'].node()), | 106 self.assertEqual(node.hex(repo['tip'].node()), |
| 139 def test_entry_deletion_stupid(self): | 138 def test_entry_deletion_stupid(self): |
| 140 self.test_entry_deletion(stupid=True) | 139 self.test_entry_deletion(stupid=True) |
| 141 | 140 |
| 142 def test_fetch_when_trunk_has_no_files(self, stupid=False): | 141 def test_fetch_when_trunk_has_no_files(self, stupid=False): |
| 143 repo = self._load_fixture_and_fetch('file_not_in_trunk_root.svndump', stupid=stupid) | 142 repo = self._load_fixture_and_fetch('file_not_in_trunk_root.svndump', stupid=stupid) |
| 144 print repo['tip'].branch() | |
| 145 print repo['tip'] | |
| 146 print repo['tip'].files() | |
| 147 self.assertEqual(repo['tip'].branch(), 'default') | 143 self.assertEqual(repo['tip'].branch(), 'default') |
| 148 | 144 |
| 149 def test_fetch_when_trunk_has_no_files_stupid(self): | 145 def test_fetch_when_trunk_has_no_files_stupid(self): |
| 150 self.test_fetch_when_trunk_has_no_files(stupid=True) | 146 self.test_fetch_when_trunk_has_no_files(stupid=True) |
| 151 | 147 |
| 153 def test_stupid(self): | 149 def test_stupid(self): |
| 154 repo = test_util.load_fixture_and_fetch('two_heads.svndump', | 150 repo = test_util.load_fixture_and_fetch('two_heads.svndump', |
| 155 self.repo_path, | 151 self.repo_path, |
| 156 self.wc_path, | 152 self.wc_path, |
| 157 True) | 153 True) |
| 158 # TODO there must be a better way than repo[0] for this check | |
| 159 self.assertEqual(node.hex(repo[0].node()), | 154 self.assertEqual(node.hex(repo[0].node()), |
| 160 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 155 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 161 self.assertEqual(node.hex(repo['tip'].node()), | 156 self.assertEqual(node.hex(repo['tip'].node()), |
| 162 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') | 157 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') |
| 163 self.assertEqual(node.hex(repo['the_branch'].node()), | 158 self.assertEqual(node.hex(repo['the_branch'].node()), |
