/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/git/tests/test_fetch.py

  • Committer: Jelmer Vernooij
  • Date: 2018-09-11 03:12:02 UTC
  • mfrom: (7101 work)
  • mto: This revision was merged to the branch mainline in revision 7102.
  • Revision ID: jelmer@jelmer.uk-20180911031202-p2wpqy0xzx7wjmid
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
336
336
        factory = knit.make_file_factory(True, versionedfile.PrefixMapper())
337
337
        self._texts = factory(self.get_transport('texts'))
338
338
 
 
339
    def test_import_blob_missing_in_one_parent(self):
 
340
        builder = self.make_branch_builder('br')
 
341
        builder.start_series()
 
342
        rev_root = builder.build_snapshot(None, [
 
343
            ('add', ('', b'rootid', 'directory', ''))])
 
344
        rev1 = builder.build_snapshot([rev_root], [
 
345
            ('add', ('bla', self._mapping.generate_file_id('bla'), 'file', b'content'))])
 
346
        rev2 = builder.build_snapshot([rev_root], [])
 
347
        builder.finish_series()
 
348
        branch = builder.get_branch()
 
349
 
 
350
        blob = Blob.from_string(b"bar")
 
351
        objs = { "blobname": blob}
 
352
        ret = import_git_blob(self._texts, self._mapping, b"bla", b"bla",
 
353
            (None, "blobname"),
 
354
            branch.repository.revision_tree(rev1), b'rootid', b"somerevid",
 
355
            [branch.repository.revision_tree(r) for r in [rev1, rev2]],
 
356
            objs.__getitem__,
 
357
            (None, DEFAULT_FILE_MODE), DummyStoreUpdater(),
 
358
            self._mapping.generate_file_id)
 
359
        self.assertEqual(set([(b'git:bla', b'somerevid')]), self._texts.keys())
 
360
 
339
361
    def test_import_blob_simple(self):
340
362
        blob = Blob.from_string(b"bar")
341
 
        base_inv = Inventory()
342
363
        objs = { "blobname": blob}
343
364
        ret = import_git_blob(self._texts, self._mapping, b"bla", b"bla",
344
365
            (None, "blobname"),
345
 
            base_inv, None, b"somerevid", [], objs.__getitem__,
 
366
            None, None, b"somerevid", [], objs.__getitem__,
346
367
            (None, DEFAULT_FILE_MODE), DummyStoreUpdater(),
347
368
            self._mapping.generate_file_id)
348
369
        self.assertEqual(set([(b'git:bla', b'somerevid')]), self._texts.keys())
358
379
        self.assertEqual(osutils.sha_strings([b"bar"]), ie.text_sha1)
359
380
 
360
381
    def test_import_tree_empty_root(self):
361
 
        base_inv = Inventory(root_id=None)
362
382
        tree = Tree()
363
383
        ret, child_modes = import_git_tree(self._texts, self._mapping, b"", b"",
364
 
               (None, tree.id), base_inv,
 
384
               (None, tree.id), None,
365
385
               None, b"somerevid", [], {tree.id: tree}.__getitem__,
366
386
               (None, stat.S_IFDIR), DummyStoreUpdater(),
367
387
               self._mapping.generate_file_id)
378
398
        self.assertEqual(None, ie.text_sha1)
379
399
 
380
400
    def test_import_tree_empty(self):
381
 
        base_inv = Inventory()
382
401
        tree = Tree()
383
402
        ret, child_modes = import_git_tree(self._texts, self._mapping, b"bla", b"bla",
384
 
           (None, tree.id), base_inv, None, b"somerevid", [],
 
403
           (None, tree.id), None, None, b"somerevid", [],
385
404
           { tree.id: tree }.__getitem__,
386
405
           (None, stat.S_IFDIR), DummyStoreUpdater(),
387
406
           self._mapping.generate_file_id)
398
417
        self.assertEqual(None, ie.text_sha1)
399
418
 
400
419
    def test_import_tree_with_file(self):
401
 
        base_inv = Inventory()
402
420
        blob = Blob.from_string(b"bar1")
403
421
        tree = Tree()
404
422
        tree.add(b"foo", stat.S_IFREG | 0o644, blob.id)
405
423
        objects = { blob.id: blob, tree.id: tree }
406
424
        ret, child_modes = import_git_tree(self._texts, self._mapping, b"bla", b"bla",
407
 
                (None, tree.id), base_inv, None, b"somerevid", [],
 
425
                (None, tree.id), None, None, b"somerevid", [],
408
426
            objects.__getitem__, (None, stat.S_IFDIR), DummyStoreUpdater(),
409
427
            self._mapping.generate_file_id)
410
428
        self.assertEqual(child_modes, {})
423
441
        self.assertEqual(False, ie.executable)
424
442
 
425
443
    def test_import_tree_with_unusual_mode_file(self):
426
 
        base_inv = Inventory()
427
444
        blob = Blob.from_string(b"bar1")
428
445
        tree = Tree()
429
446
        tree.add(b"foo", stat.S_IFREG | 0o664, blob.id)
430
447
        objects = { blob.id: blob, tree.id: tree }
431
448
        ret, child_modes = import_git_tree(self._texts, self._mapping,
432
 
            b"bla", b"bla", (None, tree.id), base_inv, None, b"somerevid", [],
 
449
            b"bla", b"bla", (None, tree.id), None, None, b"somerevid", [],
433
450
            objects.__getitem__, (None, stat.S_IFDIR), DummyStoreUpdater(),
434
451
            self._mapping.generate_file_id)
435
452
        self.assertEqual(child_modes, { b"bla/foo": stat.S_IFREG | 0o664 })
436
453
 
437
454
    def test_import_tree_with_file_exe(self):
438
 
        base_inv = Inventory(root_id=None)
439
455
        blob = Blob.from_string(b"bar")
440
456
        tree = Tree()
441
457
        tree.add(b"foo", 0o100755, blob.id)
442
458
        objects = { blob.id: blob, tree.id: tree }
443
459
        ret, child_modes = import_git_tree(self._texts, self._mapping, b"", b"",
444
 
                (None, tree.id), base_inv, None, b"somerevid", [],
 
460
                (None, tree.id), None, None, b"somerevid", [],
445
461
            objects.__getitem__, (None, stat.S_IFDIR), DummyStoreUpdater(),
446
462
            self._mapping.generate_file_id)
447
463
        self.assertEqual(child_modes, {})