view tests/test_fetch_truncated.py @ 1476:581f72f9478b

maps: do not ask sqlite for min(rev), max(rev) together When min(rev) and max(rev) are being asked in a single sql query, sqlite is not smart enough to use the index and will iterate all rows. This patch splits the query so it could be answered instantly.
author Jun Wu <quark@fb.com>
date Thu, 23 Jun 2016 10:29:58 +0100
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')