95
95
shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
97
self._bad_id_tag = 'demo@DONOTUSE/c--bad-id--0'
98
self._bad_id_tag_bzr_base = revision_id(self._bad_id_tag + '--base-0')
99
self._bad_id_tag_bzr = revision_id(self._bad_id_tag + '--patch-1')
100
pybaz.Revision('demo@DONOTUSE/c--import--0--base-0').make_continuation(
101
pybaz.Version(self._bad_id_tag))
102
tree = pybaz.Revision(self._bad_id_tag + '--base-0').get(
103
os.path.join(self._tmpdir, 'tree'))
104
from bzrlib.plugins.bzrtools.baz_import import add_file
105
add_file(os.path.join(self._tmpdir,'tree/path'), 'text', 'this_id/needs%escaping')
106
msg = tree.log_message()
107
msg["summary"] = "commit something which needs escaping."
109
shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
97
111
self.make_import_symlink()
98
112
self.make_missing_ancestor()
390
404
self.assertRaises(NoSuchRevision, branch.get_revision,
391
405
self._baz._missing_import_bzr)
407
def test_bad_file_id(self):
408
import_version('output', pybaz.Version(self._baz._bad_id_tag),
411
# three commits, one files, revision identifiers of
412
# 'demo@DONOTUSE_c--import--0--base-0' ,
413
# 'demo@DONOTUSE/c--bad-id--0--base-0' ,
414
# ''demo@DONOTUSE/c--bad-id--0--patch-1'
415
branch = Branch.open('output')
416
self.assertEqual(branch.revision_history(),
417
['Arch-1:demo@DONOTUSE%c--import--0--base-0',
418
self._baz._bad_id_tag_bzr_base,
419
self._baz._bad_id_tag_bzr])
420
rev = branch.get_revision(self._baz._bad_id_tag_bzr)
421
inv = branch.get_inventory(self._baz._bad_id_tag_bzr)
422
self.assertEqual(inv.path2id('path'), 'x_this_id%2fneeds%25escaping')
423
self.assertEqual('path', inv.id2path('x_this_id%2fneeds%25escaping'))
425
def test_appending_revisions_already_present(self):
426
import_version('output', pybaz.Version(self._baz._bad_id_tag),
427
self.collect, max_count=2)
429
# three commits, one files, revision identifiers of
430
# 'demo@DONOTUSE_c--import--0--base-0' ,
431
# 'demo@DONOTUSE/c--bad-id--0--base-0' ,
432
# ''demo@DONOTUSE/c--bad-id--0--patch-1'
433
branch = Branch.open('output')
434
self.assertEqual(branch.revision_history(),
435
['Arch-1:demo@DONOTUSE%c--import--0--base-0',
436
self._baz._bad_id_tag_bzr_base])
437
branch.set_revision_history(
438
['Arch-1:demo@DONOTUSE%c--import--0--base-0'])
440
branch = Branch.open('output')
441
self.assertEqual(branch.revision_history(),
442
['Arch-1:demo@DONOTUSE%c--import--0--base-0'])
444
import_version('output', pybaz.Version(self._baz._bad_id_tag),
446
branch = Branch.open('output')
447
self.assertEqual(branch.revision_history(),
448
['Arch-1:demo@DONOTUSE%c--import--0--base-0',
449
self._baz._bad_id_tag_bzr_base,
450
self._baz._bad_id_tag_bzr])
451
rev = branch.get_revision(self._baz._bad_id_tag_bzr)
452
inv = branch.get_inventory(self._baz._bad_id_tag_bzr)
453
self.assertEqual(inv.path2id('path'), 'x_this_id%2fneeds%25escaping')
454
self.assertEqual('path', inv.id2path('x_this_id%2fneeds%25escaping'))
456
def test_appending_revisions_all_already_present(self):
457
import_version('output', pybaz.Version(self._baz._bad_id_tag),
460
# three commits, one files, revision identifiers of
461
# 'demo@DONOTUSE_c--import--0--base-0' ,
462
# 'demo@DONOTUSE/c--bad-id--0--base-0' ,
463
# ''demo@DONOTUSE/c--bad-id--0--patch-1'
464
branch = Branch.open('output')
465
self.assertEqual(branch.revision_history(),
466
['Arch-1:demo@DONOTUSE%c--import--0--base-0',
467
self._baz._bad_id_tag_bzr_base,
468
self._baz._bad_id_tag_bzr])
469
branch.set_revision_history(
470
['Arch-1:demo@DONOTUSE%c--import--0--base-0'])
472
branch = Branch.open('output')
473
self.assertEqual(branch.revision_history(),
474
['Arch-1:demo@DONOTUSE%c--import--0--base-0'])
476
import_version('output', pybaz.Version(self._baz._bad_id_tag),
478
branch = Branch.open('output')
479
self.assertEqual(branch.revision_history(),
480
['Arch-1:demo@DONOTUSE%c--import--0--base-0',
481
self._baz._bad_id_tag_bzr_base,
482
self._baz._bad_id_tag_bzr])
483
rev = branch.get_revision(self._baz._bad_id_tag_bzr)
484
inv = branch.get_inventory(self._baz._bad_id_tag_bzr)
485
self.assertEqual(inv.path2id('path'), 'x_this_id%2fneeds%25escaping')
486
self.assertEqual('path', inv.id2path('x_this_id%2fneeds%25escaping'))
394
489
class TestNamespacePrevious(TestCase):