Mercurial > hgsubversion
diff tests/test_fetch_truncated.py @ 88:3b60f223893a
fetch_command: handle nullid parent in stupid non-diffy mode
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 14 Nov 2008 16:18:24 -0600 |
parents | |
children | 4950b18cf949 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/tests/test_fetch_truncated.py @@ -0,0 +1,40 @@ +import unittest + +from mercurial import hg +from mercurial import ui + +import fetch_command +import test_util + +class TestFetchTruncatedHistory(test_util.TestBase): + def test_truncated_history(self, stupid=False): + # Test repository does not follow the usual layout + test_util.load_svndump_fixture(self.repo_path, 'truncatedhistory.svndump') + svn_url = test_util.fileurl(self.repo_path + '/project2') + fetch_command.fetch_revisions(ui.ui(), + svn_url=svn_url, + hg_repo_path=self.wc_path, + stupid=stupid) + repo = hg.repository(ui.ui(), self.wc_path) + + # We are converting /project2/trunk coming from: + # + # Changed paths: + # D /project1 + # A /project2/trunk (from /project1:2) + # + # Here a full fetch should be performed since we are starting + # the conversion on an already filled branch. + tip = repo['tip'] + files = tip.manifest().keys() + files.sort() + self.assertEqual(files, ['a', 'b']) + self.assertEqual(repo['tip']['a'].data(), 'a\n') + + def test_truncated_history_stupid(self): + self.test_truncated_history(True) + +def suite(): + all = [unittest.TestLoader().loadTestsFromTestCase(TestFetchTruncatedHistory), + ] + return unittest.TestSuite(all)