Mercurial > hgsubversion
view tests/test_fetch_truncated.py @ 1099:c6f7a8cfeca9
pull: correctly handle replacing the root of a branch with a non-copied directory
Prior to this diff, we would either crash, or continue past the
replacement without actually recording the change. This could lead to
later failing varify if the state before and after weren't identical.
author | David Schleimer <dschleimer@fb.com> |
---|---|
date | Sat, 16 Nov 2013 16:16:59 -0800 |
parents | 825fd4c0396c |
children |
line wrap: on
line source
import test_util import unittest from mercurial import commands from mercurial import hg class TestFetchTruncatedHistory(test_util.TestBase): stupid_mode_tests = True def test_truncated_history(self): # Test repository does not follow the usual layout repo_path = self.load_svndump('truncatedhistory.svndump') svn_url = test_util.fileurl(repo_path + '/project2') commands.clone(self.ui(), svn_url, self.wc_path, noupdate=True) repo = hg.repository(self.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')