annotate tests/test_pull.py @ 820:09f7c1c09207

authormap: only append new or changed authors Previously, specifying an extra authormap with the hgsubversion.authormap configuration variable would cause the entirety of the other authormap to be appended to the one in '.hg/svn/authors' on each subversion access (e.g. hg in/out/pull/push). This also changes the authormap to preserve comments and the like in the authormap file.
author maugustin <maugustin@gmx.net>
date Sat, 23 Jul 2011 19:33:50 -0500
parents 8c7447b4b004
children f28e0f54a6ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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())
808
b64173a27ce8 test_pull: clean up whitespace
Augie Fackler <durin42@gmail.com>
parents: 689
diff changeset
31
283
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'})
812
8c7447b4b004 test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents: 808
diff changeset
45 try:
8c7447b4b004 test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents: 808
diff changeset
46 commands.pull(self.repo.ui, repo, update=True)
8c7447b4b004 test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents: 808
diff changeset
47 except hgutil.Abort:
8c7447b4b004 test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents: 808
diff changeset
48 # hg < 1.9 raised when crossing branches
8c7447b4b004 test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents: 808
diff changeset
49 pass
283
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
50 self.assertEqual(state, repo.parents())
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
51 self.assertTrue('tip' not in repo[None].tags())
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
52 self.assertEqual(len(repo.heads()), 2)
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
53
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
54 def suite():
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
55 import unittest, sys
521d9c1bb11d Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff changeset
56 return unittest.findTestCases(sys.modules[__name__])