Mercurial > hgsubversion
annotate tests/test_pull.py @ 741:b3128fec5d54
editor: handle property changes to links.
Previously, property changes to links caused 'link ' to be prepended
to the link destination. Removing a line that prepended it in
Revision::set() appears to fix it. In these cases, the "file marked as
link, but contains data" warning might be triggered. This should be
safe, so it's lowered to a note and the language made less conclusive.
In order to test this, extra revisions are added to the
'symlinks.svndump' fixture. As one of the new revisions add a link
that points to 'link to this', a check that asserted that link
destinations must not start with 'link ' was removed. This change is
safe, as the test later on asserts exact equality with the contents of
the 'links' dictionary.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Tue, 09 Nov 2010 13:05:16 +0100 |
parents | 35a1e93b6f78 |
children | b64173a27ce8 |
rev | line source |
---|---|
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
1 import test_util |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
2 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
3 import os.path |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
4 import subprocess |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
5 from mercurial import ui |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
6 from mercurial import util as hgutil |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
7 from mercurial import commands |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
8 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
9 class TestPull(test_util.TestBase): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
10 def setUp(self): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
11 super(TestPull, self).setUp() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
12 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
13 def _load_fixture_and_fetch(self, fixture_name): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
14 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
15 self.wc_path, stupid=False, |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
16 noupdate=False) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
17 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
18 def test_nochanges(self): |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
19 self._load_fixture_and_fetch('single_rev.svndump') |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
20 state = self.repo.parents() |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
21 commands.pull(self.repo.ui, self.repo) |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
22 self.assertEqual(state, self.repo.parents()) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
23 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
24 def test_onerevision_noupdate(self): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
25 repo = self._load_fixture_and_fetch('single_rev.svndump') |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
26 state = repo.parents() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
27 self._add_svn_rev({'trunk/alpha': 'Changed'}) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
28 commands.pull(self.repo.ui, repo) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
29 self.assertEqual(state, repo.parents()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
30 self.assertTrue('tip' not in repo[None].tags()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
31 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
32 def test_onerevision_doupdate(self): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
33 repo = self._load_fixture_and_fetch('single_rev.svndump') |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
34 state = repo.parents() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
35 self._add_svn_rev({'trunk/alpha': 'Changed'}) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
36 commands.pull(self.repo.ui, repo, update=True) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
37 self.failIfEqual(state, repo.parents()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
38 self.assertTrue('tip' in repo[None].tags()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
39 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
40 def test_onerevision_divergent(self): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
41 repo = self._load_fixture_and_fetch('single_rev.svndump') |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
42 self.commitchanges((('alpha', 'alpha', 'Changed another way'),)) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
43 state = repo.parents() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
44 self._add_svn_rev({'trunk/alpha': 'Changed one way'}) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
45 self.assertRaises(hgutil.Abort, commands.pull, |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
46 self.repo.ui, repo, update=True) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
47 self.assertEqual(state, repo.parents()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
48 self.assertTrue('tip' not in repo[None].tags()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
49 self.assertEqual(len(repo.heads()), 2) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
50 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
51 def suite(): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
52 import unittest, sys |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
53 return unittest.findTestCases(sys.modules[__name__]) |