annotate tests/test_fetch_mappings.py @ 1588:e2d38f6b8afe

tests: make output comaptible with hash changes in hg-4.8 46da52f4b820 in core mercurial added logic to try hard to reuse manifest if we can. In the tests of hgsubversion, there are lot of cases we create an empty commit with just branch name changed. In hg < 4.8, hgsubversion used to create a new manifest entry for that commit but after that patch, empty commit started using the manifest of the parent leading to hash change.
author Pulkit Goyal <pulkit@yandex-team.ru>
date Wed, 31 Oct 2018 17:04:57 +0300
parents d55c9d0ba350
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
1 """Tests for author maps and file maps.
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
2 """
643
d2ef7220a079 tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 641
diff changeset
3 import test_util
d2ef7220a079 tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 641
diff changeset
4
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
5 import os
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
6 import unittest
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
7
331
75f082b5897e Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 257
diff changeset
8 from mercurial import commands
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
9 from mercurial import hg
179
a336e3e82648 Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents: 168
diff changeset
10 from mercurial import node
636
d4f433ee709a branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 635
diff changeset
11 from mercurial import util as hgutil
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
12
430
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
13 from hgsubversion import maps
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
14 from hgsubversion import svncommands
769
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
15 from hgsubversion import util
899
7f90bb48c9de svn verify: use a custom editor and get_revision()
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 897
diff changeset
16 from hgsubversion import verify
430
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
17
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
18 revsymbol = test_util.revsymbol
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
19
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
20 class MapTests(test_util.TestBase):
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
21 stupid_mode_tests = True
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
22
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
23 @property
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
24 def authors(self):
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
25 return os.path.join(self.tmpdir, 'authormap')
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
26
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
27 @property
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
28 def filemap(self):
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
29 return os.path.join(self.tmpdir, 'filemap')
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
30
574
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
31 @property
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
32 def branchmap(self):
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
33 return os.path.join(self.tmpdir, 'branchmap')
822
033b86e0f56d stupid/filemap: disable this since it doesn't currently work
Augie Fackler <durin42@gmail.com>
parents: 816
diff changeset
34
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
35 @property
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
36 def tagmap(self):
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
37 return os.path.join(self.tmpdir, 'tagmap')
574
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
38
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
39 def test_author_map(self):
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
40 repo_path = self.load_svndump('replace_trunk_with_branch.svndump')
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
41 authormap = open(self.authors, 'w')
360
27e9fea5d114 Author maps: strip comments.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 358
diff changeset
42 authormap.write('Augie=Augie Fackler <durin42@gmail.com> # stuffy\n')
358
2c0649064455 Author maps: handle lines without = gracefully.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 331
diff changeset
43 authormap.write("Augie Fackler <durin42@gmail.com>\n")
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
44 authormap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
45 ui = self.ui()
576
d96aa92d9ad9 tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 574
diff changeset
46 ui.setconfig('hgsubversion', 'authormap', self.authors)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
47 commands.clone(ui, test_util.fileurl(repo_path),
331
75f082b5897e Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 257
diff changeset
48 self.wc_path, authors=self.authors)
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
49 self.assertEqual(self.repo[0].user(),
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
50 'Augie Fackler <durin42@gmail.com>')
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
51 self.assertEqual(revsymbol(self.repo, 'tip').user(),
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
52 'evil@5b65bade-98f3-4993-a01f-b7a6710da339')
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
53
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
54 def test_author_map_closing_author(self):
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
55 repo_path = self.load_svndump('replace_trunk_with_branch.svndump')
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
56 authormap = open(self.authors, 'w')
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
57 authormap.write("evil=Testy <test@test>")
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
58 authormap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
59 ui = self.ui()
576
d96aa92d9ad9 tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 574
diff changeset
60 ui.setconfig('hgsubversion', 'authormap', self.authors)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
61 commands.clone(ui, test_util.fileurl(repo_path),
331
75f082b5897e Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 257
diff changeset
62 self.wc_path, authors=self.authors)
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
63 self.assertEqual(self.repo[0].user(),
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
64 'Augie@5b65bade-98f3-4993-a01f-b7a6710da339')
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
65 self.assertEqual(revsymbol(self.repo, 'tip').user(),
168
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
66 'Testy <test@test>')
4f26fa049452 authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
67
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
68 def test_author_map_no_author(self):
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
69 repo, repo_path = self.load_and_fetch('no-author.svndump')
735
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
70 users = set(self.repo[r].user() for r in self.repo)
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
71 expected_users = ['(no author)@%s' % self.repo.svnmeta().uuid]
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
72 self.assertEqual(sorted(users), expected_users)
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
73 test_util.rmtree(self.wc_path)
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
74
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
75 authormap = open(self.authors, 'w')
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
76 authormap.write("(no author)=Testy <test@example.com>")
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
77 authormap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
78 ui = self.ui()
735
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
79 ui.setconfig('hgsubversion', 'authormap', self.authors)
867
50c13e01c7e3 test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents: 866
diff changeset
80 commands.clone(ui, test_util.fileurl(repo_path),
735
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
81 self.wc_path, authors=self.authors)
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
82 users = set(self.repo[r].user() for r in self.repo)
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
83 expected_users = ['Testy <test@example.com>']
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
84 self.assertEqual(sorted(users), expected_users)
c2b9e08ecf10 maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 729
diff changeset
85
430
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
86 def test_author_map_no_overwrite(self):
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
87 cwd = os.path.dirname(__file__)
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
88 orig = os.path.join(cwd, 'fixtures', 'author-map-test.txt')
1194
49791c40a8a5 maps: change authormap to initialize with an svnmeta object
Sean Farley <sean.michael.farley@gmail.com>
parents: 1098
diff changeset
89 # create a fake hgsubversion repo
49791c40a8a5 maps: change authormap to initialize with an svnmeta object
Sean Farley <sean.michael.farley@gmail.com>
parents: 1098
diff changeset
90 repopath = os.path.join(self.wc_path, '.hg')
49791c40a8a5 maps: change authormap to initialize with an svnmeta object
Sean Farley <sean.michael.farley@gmail.com>
parents: 1098
diff changeset
91 repopath = os.path.join(repopath, 'svn')
49791c40a8a5 maps: change authormap to initialize with an svnmeta object
Sean Farley <sean.michael.farley@gmail.com>
parents: 1098
diff changeset
92 if not os.path.isdir(repopath):
49791c40a8a5 maps: change authormap to initialize with an svnmeta object
Sean Farley <sean.michael.farley@gmail.com>
parents: 1098
diff changeset
93 os.makedirs(repopath)
49791c40a8a5 maps: change authormap to initialize with an svnmeta object
Sean Farley <sean.michael.farley@gmail.com>
parents: 1098
diff changeset
94 new = open(os.path.join(repopath, 'authors'), 'w')
430
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
95 new.write(open(orig).read())
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
96 new.close()
1429
3a723188051e AuthorMap: make local implementation concerns stop using self.meta
Augie Fackler <raf@durin42.com>
parents: 1402
diff changeset
97 meta = self.repo.svnmeta(skiperrorcheck=True)
1442
a0ba38def79b AuthorMap: no longer take a meta
Augie Fackler <raf@durin42.com>
parents: 1429
diff changeset
98 test = maps.AuthorMap(
a0ba38def79b AuthorMap: no longer take a meta
Augie Fackler <raf@durin42.com>
parents: 1429
diff changeset
99 meta.ui, meta.authormap_file, meta.defaulthost,
a0ba38def79b AuthorMap: no longer take a meta
Augie Fackler <raf@durin42.com>
parents: 1429
diff changeset
100 meta.caseignoreauthors, meta.mapauthorscmd, meta.defaultauthors)
430
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
101 fromself = set(test)
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
102 test.load(orig)
833
312b37bc5e20 tests: avoid shadowing Python builtin all()
Yonggang Luo <luoyonggang@gmail.com>
parents: 822
diff changeset
103 all_tests = set(test)
312b37bc5e20 tests: avoid shadowing Python builtin all()
Yonggang Luo <luoyonggang@gmail.com>
parents: 822
diff changeset
104 self.assertEqual(fromself.symmetric_difference(all_tests), set())
430
2851b81c65ce maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 360
diff changeset
105
1097
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
106 def test_author_map_caseignore(self):
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
107 repo_path = self.load_svndump('replace_trunk_with_branch.svndump')
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
108 authormap = open(self.authors, 'w')
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
109 authormap.write('augie=Augie Fackler <durin42@gmail.com> # stuffy\n')
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
110 authormap.write("Augie Fackler <durin42@gmail.com>\n")
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
111 authormap.close()
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
112 ui = self.ui()
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
113 ui.setconfig('hgsubversion', 'authormap', self.authors)
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
114 ui.setconfig('hgsubversion', 'caseignoreauthors', True)
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
115 commands.clone(ui, test_util.fileurl(repo_path),
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
116 self.wc_path, authors=self.authors)
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
117 self.assertEqual(self.repo[0].user(),
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
118 'Augie Fackler <durin42@gmail.com>')
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
119 self.assertEqual(revsymbol(self.repo, 'tip').user(),
1097
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
120 'evil@5b65bade-98f3-4993-a01f-b7a6710da339')
e015cd34168d authormap: allow case-insensitive authormaps for easier conversions
maugustin
parents: 1058
diff changeset
121
1374
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
122 def test_author_map_mapauthorscmd(self):
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
123 repo_path = self.load_svndump('replace_trunk_with_branch.svndump')
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
124 ui = self.ui()
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
125 ui.setconfig('hgsubversion', 'mapauthorscmd', 'echo "svn: %s"')
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
126 commands.clone(ui, test_util.fileurl(repo_path),
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
127 self.wc_path)
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
128 self.assertEqual(self.repo[0].user(), 'svn: Augie')
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
129 self.assertEqual(revsymbol(self.repo, 'tip').user(), 'svn: evil')
1374
a17d8874a099 Added dynamic author mapping.
Jerome M. BERGER <jeberger@free.fr>
parents: 1356
diff changeset
130
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
131 def _loadwithfilemap(self, svndump, filemapcontent,
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
132 failonmissing=True):
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
133 repo_path = self.load_svndump(svndump)
179
a336e3e82648 Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents: 168
diff changeset
134 filemap = open(self.filemap, 'w')
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
135 filemap.write(filemapcontent)
179
a336e3e82648 Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents: 168
diff changeset
136 filemap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
137 ui = self.ui()
576
d96aa92d9ad9 tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 574
diff changeset
138 ui.setconfig('hgsubversion', 'filemap', self.filemap)
960
502613f6b583 editor: ignore added or copied files excluded by a filemap
Patrick Mezard <patrick@mezard.eu>
parents: 954
diff changeset
139 ui.setconfig('hgsubversion', 'failoninvalidreplayfile', 'true')
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
140 ui.setconfig('hgsubversion', 'failonmissing', failonmissing)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
141 commands.clone(ui, test_util.fileurl(repo_path),
331
75f082b5897e Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 257
diff changeset
142 self.wc_path, filemap=self.filemap)
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
143 return self.repo
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
144
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
145 @test_util.requiresreplay
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
146 def test_file_map(self):
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
147 repo = self._loadwithfilemap('replace_trunk_with_branch.svndump',
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
148 "include alpha\n")
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
149 self.assertEqual(node.hex(repo[0].node()), '88e2c7492d83e4bf30fbb2dcbf6aa24d60ac688d')
1588
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
150 self.assertTrue(node.hex(revsymbol(repo, 'default').node()) in
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
151 ('e524296152246b3837fe9503c83b727075835155',
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
152 'ecf9b521a1799ebb0e01c1d1e86305ea8b542d2e'))
203
907c160c6289 Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents: 179
diff changeset
153
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
154 @test_util.requiresreplay
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
155 def test_file_map_exclude(self):
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
156 repo = self._loadwithfilemap('replace_trunk_with_branch.svndump',
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
157 "exclude alpha\n")
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
158 self.assertEqual(node.hex(repo[0].node()), '2c48f3525926ab6c8b8424bcf5eb34b149b61841')
1588
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
159 self.assertTrue(node.hex(revsymbol(repo, 'default').node()) in
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
160 ('b37a3c0297b71f989064d9b545b5a478bbed7cc1',
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
161 'e494691507b55deeb85c9c362d47b427f5c644ad'))
203
907c160c6289 Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents: 179
diff changeset
162
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
163 @test_util.requiresreplay
847
0de18c5c2e35 Respect filemap rule order (rules that come first are overridden by rules that come later)
Vitaliy Filippov <vitalif@yourcmc.ru>
parents: 833
diff changeset
164 def test_file_map_rule_order(self):
954
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
165 repo = self._loadwithfilemap('replace_trunk_with_branch.svndump',
1f77bd6ec0e5 test_fetch_mappings: reduce copy/paste
Patrick Mezard <patrick@mezard.eu>
parents: 930
diff changeset
166 "exclude alpha\ninclude .\nexclude gamma\n")
848
4e203a47102a filemap tests: check the attributes we care about, rather than shas
Augie Fackler <durin42@gmail.com>
parents: 847
diff changeset
167 # The exclusion of alpha is overridden by the later rule to
4e203a47102a filemap tests: check the attributes we care about, rather than shas
Augie Fackler <durin42@gmail.com>
parents: 847
diff changeset
168 # include all of '.', whereas gamma should remain excluded
4e203a47102a filemap tests: check the attributes we care about, rather than shas
Augie Fackler <durin42@gmail.com>
parents: 847
diff changeset
169 # because it's excluded after the root directory.
1482
253b2ab253a1 tests: add some sorted() calls on unsorted sets
Augie Fackler <raf@durin42.com>
parents: 1215
diff changeset
170 self.assertEqual(sorted(self.repo[0].manifest().keys()),
848
4e203a47102a filemap tests: check the attributes we care about, rather than shas
Augie Fackler <durin42@gmail.com>
parents: 847
diff changeset
171 ['alpha', 'beta'])
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
172 self.assertEqual(sorted(revsymbol(self.repo, 'default').manifest().keys()),
848
4e203a47102a filemap tests: check the attributes we care about, rather than shas
Augie Fackler <durin42@gmail.com>
parents: 847
diff changeset
173 ['alpha', 'beta'])
847
0de18c5c2e35 Respect filemap rule order (rules that come first are overridden by rules that come later)
Vitaliy Filippov <vitalif@yourcmc.ru>
parents: 833
diff changeset
174
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
175 @test_util.requiresreplay
960
502613f6b583 editor: ignore added or copied files excluded by a filemap
Patrick Mezard <patrick@mezard.eu>
parents: 954
diff changeset
176 def test_file_map_copy(self):
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
177 # Exercise excluding files copied from a non-excluded directory.
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
178 # There will be missing files as we are copying from an excluded
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
179 # directory.
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
180 repo = self._loadwithfilemap('copies.svndump', "exclude dir2\n",
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
181 failonmissing=False)
963
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
182 self.assertEqual(['dir/a', 'dir3/a'], list(repo[2]))
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
183
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
184 @test_util.requiresreplay
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
185 def test_file_map_exclude_copy_source_and_dest(self):
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
186 # dir3 is excluded and copied from dir2 which is also excluded.
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
187 # dir3 files should not be marked as missing and fetched.
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
188 repo = self._loadwithfilemap('copies.svndump',
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
189 "exclude dir2\nexclude dir3\n")
963
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
190 self.assertEqual(['dir/a'], list(repo[2]))
960
502613f6b583 editor: ignore added or copied files excluded by a filemap
Patrick Mezard <patrick@mezard.eu>
parents: 954
diff changeset
191
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
192 @test_util.requiresreplay
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
193 def test_file_map_include_file_exclude_dir(self):
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
194 # dir3 is excluded but we want dir3/a, which is also copied from
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
195 # an exluded dir2. dir3/a should be fetched.
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
196 repo = self._loadwithfilemap('copies.svndump',
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
197 "include .\nexclude dir2\nexclude dir3\ninclude dir3/a\n",
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
198 failonmissing=False)
963
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
199 self.assertEqual(['dir/a', 'dir3/a'], list(repo[2]))
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
200
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
201 @test_util.requiresreplay
963
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
202 def test_file_map_delete_dest(self):
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
203 repo = self._loadwithfilemap('copies.svndump', 'exclude dir3\n')
64d961130a07 editor: do not record invalid path deletion
Patrick Mezard <patrick@mezard.eu>
parents: 962
diff changeset
204 self.assertEqual(['dir/a', 'dir2/a'], list(repo[3]))
962
8648ccfb8325 editor: process missing files with regular files
Patrick Mezard <patrick@mezard.eu>
parents: 960
diff changeset
205
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
206 def test_branchmap(self):
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
207 repo_path = self.load_svndump('branchmap.svndump')
574
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
208 branchmap = open(self.branchmap, 'w')
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
209 branchmap.write("badname = good-name # stuffy\n")
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
210 branchmap.write("feature = default\n")
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
211 branchmap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
212 ui = self.ui()
576
d96aa92d9ad9 tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 574
diff changeset
213 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
214 commands.clone(ui, test_util.fileurl(repo_path),
574
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
215 self.wc_path, branchmap=self.branchmap)
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
216 branches = set(self.repo[i].branch() for i in self.repo)
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
217 self.assert_('badname' not in branches)
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
218 self.assert_('good-name' in branches)
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
219 self.assertEquals(self.repo[2].branch(), 'default')
8e025a6f0db4 add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 430
diff changeset
220
1402
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
221 def test_branchmap_regex_and_glob(self):
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
222 repo_path = self.load_svndump('branchmap.svndump')
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
223 branchmap = open(self.branchmap, 'w')
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
224 branchmap.write("syntax:re\n")
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
225 branchmap.write("bad(.*) = good-\\1 # stuffy\n")
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
226 branchmap.write("glob:feat* = default\n")
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
227 branchmap.close()
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
228 ui = self.ui()
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
229 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
230 commands.clone(ui, test_util.fileurl(repo_path),
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
231 self.wc_path, branchmap=self.branchmap)
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
232 branches = set(self.repo[i].branch() for i in self.repo)
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
233 self.assert_('badname' not in branches)
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
234 self.assert_('good-name' in branches)
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
235 self.assertEquals(self.repo[2].branch(), 'default')
94eb844fd4ab tests: add test for regex and glob
Sean Farley <sean.michael.farley@gmail.com>
parents: 1374
diff changeset
236
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
237 def test_branchmap_tagging(self):
634
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
238 '''test tagging a renamed branch, which used to raise an exception'''
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
239 repo_path = self.load_svndump('commit-to-tag.svndump')
634
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
240 branchmap = open(self.branchmap, 'w')
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
241 branchmap.write("magic = art\n")
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
242 branchmap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
243 ui = self.ui()
634
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
244 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
245 commands.clone(ui, test_util.fileurl(repo_path),
634
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
246 self.wc_path, branchmap=self.branchmap)
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
247 branches = set(self.repo[i].branch() for i in self.repo)
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
248 self.assertEquals(sorted(branches), ['art', 'closeme'])
a400f3bf5611 replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 576
diff changeset
249
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
250 def test_branchmap_empty_commit(self):
635
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
251 '''test mapping an empty commit on a renamed branch'''
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
252 repo_path = self.load_svndump('propset-branch.svndump')
635
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
253 branchmap = open(self.branchmap, 'w')
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
254 branchmap.write("the-branch = bob\n")
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
255 branchmap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
256 ui = self.ui()
635
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
257 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
258 commands.clone(ui, test_util.fileurl(repo_path),
635
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
259 self.wc_path, branchmap=self.branchmap)
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
260 branches = set(self.repo[i].branch() for i in self.repo)
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
261 self.assertEquals(sorted(branches), ['bob', 'default'])
e2c3349b2cca branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 634
diff changeset
262
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
263 def test_branchmap_combine(self):
639
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
264 '''test combining two branches, but retaining heads'''
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
265 repo_path = self.load_svndump('branchmap.svndump')
639
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
266 branchmap = open(self.branchmap, 'w')
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
267 branchmap.write("badname = default\n")
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
268 branchmap.write("feature = default\n")
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
269 branchmap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
270 ui = self.ui()
639
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
271 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
272 commands.clone(ui, test_util.fileurl(repo_path),
639
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
273 self.wc_path, branchmap=self.branchmap)
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
274 branches = set(self.repo[i].branch() for i in self.repo)
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
275 self.assertEquals(sorted(branches), ['default'])
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
276 self.assertEquals(len(self.repo.heads()), 2)
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
277 self.assertEquals(len(self.repo.branchheads('default')), 2)
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
278
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
279 # test that the mapping does not affect branch info
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
280 branches = self.repo.svnmeta().branches
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
281 self.assertEquals(sorted(branches.keys()),
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
282 [None, 'badname', 'feature'])
b2c8c2079822 tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 636
diff changeset
283
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
284 def test_branchmap_rebuildmeta(self):
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
285 '''test rebuildmeta on a branchmapped clone'''
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
286 repo_path = self.load_svndump('branchmap.svndump')
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
287 branchmap = open(self.branchmap, 'w')
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
288 branchmap.write("badname = dit\n")
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
289 branchmap.write("feature = dah\n")
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
290 branchmap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
291 ui = self.ui()
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
292 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
293 commands.clone(ui, test_util.fileurl(repo_path),
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
294 self.wc_path, branchmap=self.branchmap)
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
295 originfo = self.repo.svnmeta().branches
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
296
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
297 # clone & rebuild
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
298 ui = self.ui()
816
86d124a8768e Fix hg.clone() calls changed by d976542986d2
Patrick Mezard <pmezard@gmail.com>
parents: 770
diff changeset
299 src, dest = test_util.hgclone(ui, self.wc_path, self.wc_path + '_clone',
86d124a8768e Fix hg.clone() calls changed by d976542986d2
Patrick Mezard <pmezard@gmail.com>
parents: 770
diff changeset
300 update=False)
930
5bacb9c63e3e Fix more peer breakage with old hg versions
Patrick Mezard <patrick@mezard.eu>
parents: 916
diff changeset
301 src = test_util.getlocalpeer(src)
5bacb9c63e3e Fix more peer breakage with old hg versions
Patrick Mezard <patrick@mezard.eu>
parents: 916
diff changeset
302 dest = test_util.getlocalpeer(dest)
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
303 svncommands.rebuildmeta(ui, dest,
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
304 args=[test_util.fileurl(repo_path)])
641
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
305
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
306 # just check the keys; assume the contents are unaffected by the branch
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
307 # map and thus properly tested by other tests
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
308 self.assertEquals(sorted(src.svnmeta().branches),
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
309 sorted(dest.svnmeta().branches))
67513cca972f rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 639
diff changeset
310
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
311 def test_branchmap_verify(self):
702
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
312 '''test verify on a branchmapped clone'''
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
313 repo_path = self.load_svndump('branchmap.svndump')
702
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
314 branchmap = open(self.branchmap, 'w')
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
315 branchmap.write("badname = dit\n")
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
316 branchmap.write("feature = dah\n")
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
317 branchmap.close()
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
318 ui = self.ui()
702
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
319 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
320 commands.clone(ui, test_util.fileurl(repo_path),
702
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
321 self.wc_path, branchmap=self.branchmap)
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
322 repo = self.repo
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
323
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
324 for r in repo:
897
6bc8046e3d0a move verify to a file of its own
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 867
diff changeset
325 self.assertEquals(verify.verify(ui, repo, rev=r), 0)
702
841399d10c79 verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 643
diff changeset
326
1356
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
327 def test_branchmap_no_replacement(self):
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
328 '''test that empty mappings are accepted
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
329
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
330 Empty mappings are lines like 'this ='. We check that such branches are
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
331 not converted.
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
332 '''
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
333 repo_path = self.load_svndump('branchmap.svndump')
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
334 branchmap = open(self.branchmap, 'w')
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
335 branchmap.write("badname =\n")
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
336 branchmap.close()
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
337 ui = self.ui()
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
338 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
339 commands.clone(ui, test_util.fileurl(repo_path),
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
340 self.wc_path, branchmap=self.branchmap)
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
341 branches = set(self.repo[i].branch() for i in self.repo)
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
342 self.assertEquals(sorted(branches), ['default', 'feature'])
57d65269d30c maps: allow an empty map to not convert specific branches
Sean Farley <sean@farley.io>
parents: 1215
diff changeset
343
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
344 def test_tagmap(self):
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
345 repo_path = self.load_svndump('basic_tag_tests.svndump')
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
346 tagmap = open(self.tagmap, 'w')
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
347 tagmap.write("tag_r3 = 3.x # stuffy\n")
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
348 tagmap.write("copied_tag = \n")
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
349 tagmap.close()
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
350
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
351 ui = self.ui()
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
352 ui.setconfig('hgsubversion', 'tagmap', self.tagmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
353 commands.clone(ui, test_util.fileurl(repo_path),
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
354 self.wc_path, tagmap=self.tagmap)
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
355 tags = self.repo.tags()
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
356 assert 'tag_r3' not in tags
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
357 assert '3.x' in tags
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
358 assert 'copied_tag' not in tags
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
359
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
360 def test_tagren_changed(self):
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
361 repo_path = self.load_svndump('commit-to-tag.svndump')
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
362 tagmap = open(self.tagmap, 'w')
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
363 tagmap.write("edit-at-create = edit-past\n")
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
364 tagmap.write("also-edit = \n")
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
365 tagmap.write("will-edit = edit-future\n")
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
366 tagmap.close()
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
367
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
368 ui = self.ui()
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
369 ui.setconfig('hgsubversion', 'tagmap', self.tagmap)
866
20e73b5ab6f7 test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents: 848
diff changeset
370 commands.clone(ui, test_util.fileurl(repo_path),
729
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
371 self.wc_path, tagmap=self.tagmap)
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
372 tags = self.repo.tags()
467b95348e6a implement tag renames
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 702
diff changeset
373
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
374 def test_empty_log_message(self):
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
375 repo, repo_path = self.load_and_fetch('empty-log-message.svndump')
769
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
376
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
377 self.assertEqual(revsymbol(repo, 'tip').description(), '')
769
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
378
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
379 test_util.rmtree(self.wc_path)
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
380
1058
bc71d8c8fde9 filemap tests: use stupid mode metaclass & decorator
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
381 ui = self.ui()
769
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
382 ui.setconfig('hgsubversion', 'defaultmessage', 'blyf')
867
50c13e01c7e3 test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents: 866
diff changeset
383 commands.clone(ui, test_util.fileurl(repo_path), self.wc_path)
769
cc1d4aa3ba41 configurable substitution for empty commit message (fixes #195)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 768
diff changeset
384
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
385 self.assertEqual(revsymbol(self.repo, 'tip').description(), 'blyf')