Mercurial > hgsubversion
comparison tests/test_externals.py @ 175:2412800b1258
Support svn:externals changes via .hgsvnexternals updates
| author | Patrick Mezard <pmezard@gmail.com> |
|---|---|
| date | Fri, 02 Jan 2009 15:54:05 -0600 |
| parents | f80132c5fea5 |
| children | c4115b3918e9 |
comparison
equal
deleted
inserted
replaced
| 174:f80132c5fea5 | 175:2412800b1258 |
|---|---|
| 79 self.assertEqual(ref4, repo[4]['.hgsvnexternals'].data()) | 79 self.assertEqual(ref4, repo[4]['.hgsvnexternals'].data()) |
| 80 | 80 |
| 81 def test_externals_stupid(self): | 81 def test_externals_stupid(self): |
| 82 self.test_externals(True) | 82 self.test_externals(True) |
| 83 | 83 |
| 84 | |
| 85 class TestPushExternals(test_util.TestBase): | |
| 86 def setUp(self): | |
| 87 test_util.TestBase.setUp(self) | |
| 88 test_util.load_fixture_and_fetch('pushexternals.svndump', | |
| 89 self.repo_path, | |
| 90 self.wc_path) | |
| 91 | |
| 92 def test_push_externals(self, stupid=False): | |
| 93 # Add a new reference on an existing and non-existing directory | |
| 94 changes = [ | |
| 95 ('.hgsvnexternals', '.hgsvnexternals', | |
| 96 """\ | |
| 97 [dir] | |
| 98 ../externals/project2 deps/project2 | |
| 99 [subdir1] | |
| 100 ../externals/project1 deps/project1 | |
| 101 [subdir2] | |
| 102 ../externals/project2 deps/project2 | |
| 103 """), | |
| 104 ('subdir1/a', 'subdir1/a', 'a'), | |
| 105 ('subdir2/a', 'subdir2/a', 'a'), | |
| 106 ] | |
| 107 self.commitchanges(changes) | |
| 108 self.pushrevisions(stupid) | |
| 109 self.assertchanges(changes, self.repo['tip']) | |
| 110 | |
| 111 # Remove all references from one directory, add a new one | |
| 112 # to the other (test multiline entries) | |
| 113 changes = [ | |
| 114 ('.hgsvnexternals', '.hgsvnexternals', | |
| 115 """\ | |
| 116 [subdir1] | |
| 117 ../externals/project1 deps/project1 | |
| 118 ../externals/project2 deps/project2 | |
| 119 """), | |
| 120 # This removal used to trigger the parent directory removal | |
| 121 ('subdir1/a', None, None), | |
| 122 ] | |
| 123 self.commitchanges(changes) | |
| 124 self.pushrevisions(stupid) | |
| 125 self.assertchanges(changes, self.repo['tip']) | |
| 126 # Check subdir2/a is still there even if the externals were removed | |
| 127 self.assertTrue('subdir2/a' in self.repo['tip']) | |
| 128 self.assertTrue('subdir1/a' not in self.repo['tip']) | |
| 129 | |
| 130 def test_push_externals_stupid(self): | |
| 131 self.test_push_externals(True) | |
| 132 | |
| 133 | |
| 84 def suite(): | 134 def suite(): |
| 85 all = [unittest.TestLoader().loadTestsFromTestCase(TestFetchExternals), | 135 all = [unittest.TestLoader().loadTestsFromTestCase(TestFetchExternals), |
| 136 unittest.TestLoader().loadTestsFromTestCase(TestPushExternals), | |
| 86 ] | 137 ] |
| 87 return unittest.TestSuite(all) | 138 return unittest.TestSuite(all) |
