view tests/test_fetch_truncated.py @ 938:f9014e28721b

editor: start separating svn copies from open files The separation is not complete as we still have to update the RevisionData deleted set when registering svn copies. This will be cleaned up once open files are themselves separated from RevisionData. Copied symlinks are also being prefixed with 'link '.
author Patrick Mezard <patrick@mezard.eu>
date Wed, 03 Oct 2012 21:27:02 +0200
parents 20e73b5ab6f7
children d741f536f23a
line wrap: on
line source

import test_util

import unittest

from mercurial import commands
from mercurial import hg

class TestFetchTruncatedHistory(test_util.TestBase):
    def test_truncated_history(self, stupid=False):
        # 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(stupid), svn_url, self.wc_path, noupdate=True)
        repo = hg.repository(self.ui(stupid), 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_tests = [unittest.TestLoader().loadTestsFromTestCase(TestFetchTruncatedHistory),
          ]
    return unittest.TestSuite(all_tests)