Mercurial > hgsubversion
view tests/test_fetch_truncated.py @ 862:6ef6c413d6de
editor: work around svn 1.7 closing the output fp in apply_textdelta()
Calling close() on the output cStringIO when done with patching prevents us to
retrieve the result with getvalue().
Note: I found this bug has been fixed already by 794f3e41ec1e. I feel ignoring
the close() call is a little cleaner than storing the value before the
handler() call for there is no guarantee the handler does not modify the value
in its last call. Looking at text_delta.c, it does not in 1.7.1. So, do what
you want with this patch.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Thu, 19 Apr 2012 15:08:09 +0200 |
parents | 312b37bc5e20 |
children | 20e73b5ab6f7 |
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 test_util.load_svndump_fixture(self.repo_path, 'truncatedhistory.svndump') svn_url = test_util.fileurl(self.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)