comparison tests/test_fetch_mappings.py @ 641:67513cca972f

rebuildmeta: handle mapped branch names.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Tue, 13 Jul 2010 12:19:16 +0200
parents b2c8c2079822
children d2ef7220a079
comparison
equal deleted inserted replaced
640:a3d20d6e96b0 641:67513cca972f
2 """ 2 """
3 import os 3 import os
4 import unittest 4 import unittest
5 5
6 from mercurial import commands 6 from mercurial import commands
7 from mercurial import hg
7 from mercurial import node 8 from mercurial import node
8 from mercurial import util as hgutil 9 from mercurial import util as hgutil
9 10
10 import test_util 11 import test_util
11 12
12 from hgsubversion import maps 13 from hgsubversion import maps
14 from hgsubversion import svncommands
13 15
14 class MapTests(test_util.TestBase): 16 class MapTests(test_util.TestBase):
15 @property 17 @property
16 def authors(self): 18 def authors(self):
17 return os.path.join(self.tmpdir, 'authormap') 19 return os.path.join(self.tmpdir, 'authormap')
175 177
176 def test_branchmap_combine_stupid(self): 178 def test_branchmap_combine_stupid(self):
177 '''test combining two branches, but retaining heads (stupid)''' 179 '''test combining two branches, but retaining heads (stupid)'''
178 self.test_branchmap_combine(True) 180 self.test_branchmap_combine(True)
179 181
182 def test_branchmap_rebuildmeta(self, stupid=False):
183 '''test rebuildmeta on a branchmapped clone'''
184 test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump')
185 branchmap = open(self.branchmap, 'w')
186 branchmap.write("badname = dit\n")
187 branchmap.write("feature = dah\n")
188 branchmap.close()
189 ui = self.ui(stupid)
190 ui.setconfig('hgsubversion', 'branchmap', self.branchmap)
191 commands.clone(ui, test_util.fileurl(self.repo_path),
192 self.wc_path, branchmap=self.branchmap)
193 originfo = self.repo.svnmeta().branches
194
195 # clone & rebuild
196 ui = self.ui(stupid)
197 src, dest = hg.clone(ui, self.wc_path, self.wc_path + '_clone',
198 update=False)
199 svncommands.rebuildmeta(ui, dest,
200 args=[test_util.fileurl(self.repo_path)])
201
202 # just check the keys; assume the contents are unaffected by the branch
203 # map and thus properly tested by other tests
204 self.assertEquals(sorted(src.svnmeta().branches),
205 sorted(dest.svnmeta().branches))
206
207 def test_branchmap_rebuildmeta_stupid(self):
208 '''test rebuildmeta on a branchmapped clone (stupid)'''
209 self.test_branchmap_rebuildmeta(True)
210
180 def test_branchmap_no_replacement(self): 211 def test_branchmap_no_replacement(self):
181 ''' 212 '''
182 test that empty mappings are rejected 213 test that empty mappings are rejected
183 214
184 Empty mappings are lines like 'this ='. The most sensible thing to do 215 Empty mappings are lines like 'this ='. The most sensible thing to do