Mercurial > hgsubversion
annotate tests/test_fetch_mappings.py @ 755:9c9565643704
svn metacommand: improved argument checking
We now fail gracefully in case of a missing or invalid argument to
'update', and in case of an unknown subcommand.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Thu, 18 Nov 2010 14:03:39 +0100 |
parents | c2b9e08ecf10 |
children | 13a2137d3c15 |
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 |
430
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
15 |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
16 class MapTests(test_util.TestBase): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
17 @property |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
18 def authors(self): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 return os.path.join(self.tmpdir, 'authormap') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
20 |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
21 @property |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 def filemap(self): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 return os.path.join(self.tmpdir, 'filemap') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 |
574
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
25 @property |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
26 def branchmap(self): |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
27 return os.path.join(self.tmpdir, 'branchmap') |
729 | 28 |
29 @property | |
30 def tagmap(self): | |
31 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
|
32 |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
33 def test_author_map(self, stupid=False): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
34 test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
35 authormap = open(self.authors, 'w') |
360
27e9fea5d114
Author maps: strip comments.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
358
diff
changeset
|
36 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
|
37 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
|
38 authormap.close() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
39 ui = self.ui(stupid) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
40 ui.setconfig('hgsubversion', 'authormap', self.authors) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
41 commands.clone(ui, test_util.fileurl(self.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
|
42 self.wc_path, authors=self.authors) |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
43 self.assertEqual(self.repo[0].user(), |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
44 'Augie Fackler <durin42@gmail.com>') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
45 self.assertEqual(self.repo['tip'].user(), |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
46 'evil@5b65bade-98f3-4993-a01f-b7a6710da339') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
47 |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
48 def test_author_map_stupid(self): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
49 self.test_author_map(True) |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
50 |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
51 def test_author_map_closing_author(self, stupid=False): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
52 test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
53 authormap = open(self.authors, 'w') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
54 authormap.write("evil=Testy <test@test>") |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
55 authormap.close() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
56 ui = self.ui(stupid) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
57 ui.setconfig('hgsubversion', 'authormap', self.authors) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
58 commands.clone(ui, test_util.fileurl(self.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
|
59 self.wc_path, authors=self.authors) |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
60 self.assertEqual(self.repo[0].user(), |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
61 'Augie@5b65bade-98f3-4993-a01f-b7a6710da339') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
62 self.assertEqual(self.repo['tip'].user(), |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
63 'Testy <test@test>') |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
64 |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
65 def test_author_map_closing_author_stupid(self): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
66 self.test_author_map_closing_author(True) |
203
907c160c6289
Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents:
179
diff
changeset
|
67 |
735
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
68 def test_author_map_no_author(self, stupid=False): |
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
69 self._load_fixture_and_fetch('no-author.svndump') |
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() |
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
78 ui = self.ui(stupid) |
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) |
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
80 commands.clone(ui, test_util.fileurl(self.repo_path), |
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 |
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
86 def test_author_map_no_author_stupid(self): |
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
87 self.test_author_map_no_author(True) |
c2b9e08ecf10
maps: map a missing author to '(no author)'
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
729
diff
changeset
|
88 |
430
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
89 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
|
90 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
|
91 orig = os.path.join(cwd, 'fixtures', 'author-map-test.txt') |
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
92 new = open(self.authors, 'w') |
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
93 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
|
94 new.close() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
95 test = maps.AuthorMap(self.ui(), self.authors) |
430
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
96 fromself = set(test) |
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
97 test.load(orig) |
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
98 all = set(test) |
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
99 self.assertEqual(fromself.symmetric_difference(all), set()) |
2851b81c65ce
maps: make sure AuthorMaps don't overwrite themselves, fix overriding
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
360
diff
changeset
|
100 |
179
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
101 def test_file_map(self, stupid=False): |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
102 test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
103 filemap = open(self.filemap, 'w') |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
104 filemap.write("include alpha\n") |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
105 filemap.close() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
106 ui = self.ui(stupid) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
107 ui.setconfig('hgsubversion', 'filemap', self.filemap) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
108 commands.clone(ui, test_util.fileurl(self.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
|
109 self.wc_path, filemap=self.filemap) |
179
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
110 self.assertEqual(node.hex(self.repo[0].node()), '88e2c7492d83e4bf30fbb2dcbf6aa24d60ac688d') |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
111 self.assertEqual(node.hex(self.repo['default'].node()), 'e524296152246b3837fe9503c83b727075835155') |
203
907c160c6289
Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents:
179
diff
changeset
|
112 |
179
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
113 def test_file_map_stupid(self): |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
114 self.test_file_map(True) |
203
907c160c6289
Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents:
179
diff
changeset
|
115 |
179
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
116 def test_file_map_exclude(self, stupid=False): |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
117 test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
118 filemap = open(self.filemap, 'w') |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
119 filemap.write("exclude alpha\n") |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
120 filemap.close() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
121 ui = self.ui(stupid) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
122 ui.setconfig('hgsubversion', 'filemap', self.filemap) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
123 commands.clone(ui, test_util.fileurl(self.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
|
124 self.wc_path, filemap=self.filemap) |
179
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
125 self.assertEqual(node.hex(self.repo[0].node()), '2c48f3525926ab6c8b8424bcf5eb34b149b61841') |
203
907c160c6289
Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents:
179
diff
changeset
|
126 self.assertEqual(node.hex(self.repo['default'].node()), 'b37a3c0297b71f989064d9b545b5a478bbed7cc1') |
907c160c6289
Refactor branch handling to be much more dynamic (and hopefully robust).
Augie Fackler <durin42@gmail.com>
parents:
179
diff
changeset
|
127 |
179
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
128 def test_file_map_exclude_stupid(self): |
a336e3e82648
Fetch: add a filemap argument for use in converting old repositories to
Graham Booker <gbooker@cod3r.com>
parents:
168
diff
changeset
|
129 self.test_file_map_exclude(True) |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
130 |
574
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
131 def test_branchmap(self, stupid=False): |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
132 test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
133 branchmap = open(self.branchmap, 'w') |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
134 branchmap.write("badname = good-name # stuffy\n") |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
135 branchmap.write("feature = default\n") |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
136 branchmap.close() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
137 ui = self.ui(stupid) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
138 ui.setconfig('hgsubversion', 'branchmap', self.branchmap) |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
574
diff
changeset
|
139 commands.clone(ui, test_util.fileurl(self.repo_path), |
574
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
140 self.wc_path, branchmap=self.branchmap) |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
141 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
|
142 self.assert_('badname' not in branches) |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
143 self.assert_('good-name' in branches) |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
144 self.assertEquals(self.repo[2].branch(), 'default') |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
145 |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
146 def test_branchmap_stupid(self): |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
147 self.test_branchmap(True) |
8e025a6f0db4
add basic branchmap functionality, to rename branches
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
430
diff
changeset
|
148 |
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
|
149 def test_branchmap_tagging(self, stupid=False): |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
150 '''test tagging a renamed branch, which used to raise an exception''' |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
151 test_util.load_svndump_fixture(self.repo_path, 'commit-to-tag.svndump') |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
152 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
|
153 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
|
154 branchmap.close() |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
155 ui = self.ui(stupid) |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
156 ui.setconfig('hgsubversion', '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
|
157 commands.clone(ui, test_util.fileurl(self.repo_path), |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
158 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
|
159 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
|
160 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
|
161 |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
162 def test_branchmap_tagging_stupid(self): |
a400f3bf5611
replay/stupid: fix tagging on a branch renamed using a branch map
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
576
diff
changeset
|
163 self.test_branchmap_tagging(True) |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
164 |
635
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
165 def test_branchmap_empty_commit(self, stupid=False): |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
166 '''test mapping an empty commit on a renamed branch''' |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
167 test_util.load_svndump_fixture(self.repo_path, 'propset-branch.svndump') |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
168 branchmap = open(self.branchmap, 'w') |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
169 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
|
170 branchmap.close() |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
171 ui = self.ui(stupid) |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
172 ui.setconfig('hgsubversion', 'branchmap', self.branchmap) |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
173 commands.clone(ui, test_util.fileurl(self.repo_path), |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
174 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
|
175 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
|
176 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
|
177 |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
178 def test_branchmap_empty_commit_stupid(self): |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
179 '''test mapping an empty commit on a renamed branch (stupid)''' |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
180 self.test_branchmap_empty_commit(True) |
e2c3349b2cca
branchmap: map empty commits in replay mode.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
634
diff
changeset
|
181 |
639
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
182 def test_branchmap_combine(self, stupid=False): |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
183 '''test combining two branches, but retaining heads''' |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
184 test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
185 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
|
186 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
|
187 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
|
188 branchmap.close() |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
189 ui = self.ui(stupid) |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
190 ui.setconfig('hgsubversion', '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
|
191 commands.clone(ui, test_util.fileurl(self.repo_path), |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
198 # 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
|
199 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
|
200 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
|
201 [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
|
202 |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
203 def test_branchmap_combine_stupid(self): |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
204 '''test combining two branches, but retaining heads (stupid)''' |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
205 self.test_branchmap_combine(True) |
b2c8c2079822
tests: add test for combining two branches using the branchmap
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
636
diff
changeset
|
206 |
641
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
207 def test_branchmap_rebuildmeta(self, stupid=False): |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
208 '''test rebuildmeta on a branchmapped clone''' |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
209 test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
210 branchmap = open(self.branchmap, 'w') |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
211 branchmap.write("badname = dit\n") |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
212 branchmap.write("feature = dah\n") |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
213 branchmap.close() |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
214 ui = self.ui(stupid) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
215 ui.setconfig('hgsubversion', 'branchmap', self.branchmap) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
216 commands.clone(ui, test_util.fileurl(self.repo_path), |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
217 self.wc_path, branchmap=self.branchmap) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
218 originfo = self.repo.svnmeta().branches |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
219 |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
220 # clone & rebuild |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
221 ui = self.ui(stupid) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
222 src, dest = hg.clone(ui, self.wc_path, self.wc_path + '_clone', |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
223 update=False) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
224 svncommands.rebuildmeta(ui, dest, |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
225 args=[test_util.fileurl(self.repo_path)]) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
226 |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
227 # 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
|
228 # 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
|
229 self.assertEquals(sorted(src.svnmeta().branches), |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
230 sorted(dest.svnmeta().branches)) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
231 |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
232 def test_branchmap_rebuildmeta_stupid(self): |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
233 '''test rebuildmeta on a branchmapped clone (stupid)''' |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
234 self.test_branchmap_rebuildmeta(True) |
67513cca972f
rebuildmeta: handle mapped branch names.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
639
diff
changeset
|
235 |
702
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
236 def test_branchmap_verify(self, stupid=False): |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
237 '''test verify on a branchmapped clone''' |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
238 test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
239 branchmap = open(self.branchmap, 'w') |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
240 branchmap.write("badname = dit\n") |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
241 branchmap.write("feature = dah\n") |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
242 branchmap.close() |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
243 ui = self.ui(stupid) |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
244 ui.setconfig('hgsubversion', 'branchmap', self.branchmap) |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
245 commands.clone(ui, test_util.fileurl(self.repo_path), |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
246 self.wc_path, branchmap=self.branchmap) |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
247 repo = self.repo |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
248 |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
249 for r in repo: |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
250 self.assertEquals(svncommands.verify(ui, repo, rev=r), 0) |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
251 |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
252 def test_branchmap_verify_stupid(self): |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
253 '''test verify on a branchmapped clone (stupid)''' |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
254 self.test_branchmap_verify(True) |
841399d10c79
verify: fix verifying mapped branches.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
255 |
636
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
256 def test_branchmap_no_replacement(self): |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
257 ''' |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
258 test that empty mappings are rejected |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
259 |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
260 Empty mappings are lines like 'this ='. The most sensible thing to do |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
261 is to not convert the 'this' branches. Until we can do that, we settle |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
262 with aborting. |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
263 ''' |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
264 test_util.load_svndump_fixture(self.repo_path, 'propset-branch.svndump') |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
265 branchmap = open(self.branchmap, 'w') |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
266 branchmap.write("closeme =\n") |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
267 branchmap.close() |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
268 self.assertRaises(hgutil.Abort, |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
269 maps.BranchMap, self.ui(), self.branchmap) |
d4f433ee709a
branchmap: reject empty mappings
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
635
diff
changeset
|
270 |
729 | 271 def test_tagmap(self, stupid=False): |
272 test_util.load_svndump_fixture(self.repo_path, | |
273 'basic_tag_tests.svndump') | |
274 tagmap = open(self.tagmap, 'w') | |
275 tagmap.write("tag_r3 = 3.x # stuffy\n") | |
276 tagmap.write("copied_tag = \n") | |
277 tagmap.close() | |
278 | |
279 ui = self.ui(stupid) | |
280 ui.setconfig('hgsubversion', 'tagmap', self.tagmap) | |
281 commands.clone(ui, test_util.fileurl(self.repo_path), | |
282 self.wc_path, tagmap=self.tagmap) | |
283 tags = self.repo.tags() | |
284 assert 'tag_r3' not in tags | |
285 assert '3.x' in tags | |
286 assert 'copied_tag' not in tags | |
287 | |
288 def test_tagmap_stupid(self): | |
289 self.test_tagmap(True) | |
290 | |
291 def test_tagren_changed(self, stupid=False): | |
292 test_util.load_svndump_fixture(self.repo_path, | |
293 'commit-to-tag.svndump') | |
294 tagmap = open(self.tagmap, 'w') | |
295 tagmap.write("edit-at-create = edit-past\n") | |
296 tagmap.write("also-edit = \n") | |
297 tagmap.write("will-edit = edit-future\n") | |
298 tagmap.close() | |
299 | |
300 ui = self.ui(stupid) | |
301 ui.setconfig('hgsubversion', 'tagmap', self.tagmap) | |
302 commands.clone(ui, test_util.fileurl(self.repo_path), | |
303 self.wc_path, tagmap=self.tagmap) | |
304 tags = self.repo.tags() | |
305 | |
306 def test_tagren_changed_stupid(self): | |
307 self.test_tagren_changed(True) | |
308 | |
168
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
309 def suite(): |
4f26fa049452
authormap: Add tests, fix in stupid mode.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
310 return unittest.TestLoader().loadTestsFromTestCase(MapTests) |