Mercurial > hgsubversion
view tests/test_diff.py @ 950:a80b01ceb1fc
editor: relax copyfrom dir checks to avoid extra missing entries
When renaming a branch you get something like:
D /branch/bar
A /branch/foo (from /branch/foo:42)
Unfortunately, the branch layout for the revision being converted is
computed before starting to convert it. It means the copyfrom path
supplied in the add_directory() for /branch/foo will be be considered
invalid, be added to missing and fetched the slow way despite being in
the repository history. Avoid that by checking the path looks like a
branch path and matching it with the filemap. It will be resolved
afterwards anyway.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Sat, 06 Oct 2012 10:10:35 +0200 |
parents | 312b37bc5e20 |
children | d741f536f23a |
line wrap: on
line source
import test_util import unittest from mercurial import ui from hgsubversion import wrappers expected_diff_output = '''Index: alpha =================================================================== --- alpha\t(revision 3) +++ alpha\t(working copy) @@ -1,1 +1,3 @@ -file: alpha +alpha + +added line Index: foo =================================================================== new file mode 100644 --- foo\t(revision 0) +++ foo\t(working copy) @@ -0,0 +1,1 @@ +This is missing a newline. \ No newline at end of file ''' class DiffTests(test_util.TestBase): def test_diff_output(self): self._load_fixture_and_fetch('two_revs.svndump') self.commitchanges([('foo', 'foo', 'This is missing a newline.'), ('alpha', 'alpha', 'alpha\n\nadded line\n'), ]) u = ui.ui() u.pushbuffer() wrappers.diff(lambda x, y, z: None, u, self.repo, svn=True) self.assertEqual(u.popbuffer(), expected_diff_output) def suite(): all_tests = [unittest.TestLoader().loadTestsFromTestCase(DiffTests), ] return unittest.TestSuite(all_tests)