Mercurial > hgsubversion
view tests/test_fetch_truncated.py @ 1251:46cec117dda2
maps.RevMap: disable GC while loading the revmap
The revmap load process creates lots of tiny objects.
With just the bare minimum Mercurial runtime, loading a million-file revmap
goes from 6.83 seconds to 6.28. For longer running processes (e.g. hg push a
series of changes) the difference will probably be dramatic.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sun, 02 Nov 2014 02:01:05 -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')