/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/tests/test_commit.py

  • Committer: Jelmer Vernooij
  • Date: 2017-11-19 18:35:20 UTC
  • mfrom: (6809.4.27 swap-arguments)
  • Revision ID: jelmer@jelmer.uk-20171119183520-fmw89uw30e0tbhwz
Merge lp:~jelmer/brz/swap-arguments.

Show diffs side-by-side

added added

removed removed

Lines of Context:
101
101
 
102
102
        tree1 = b.repository.revision_tree(rev1)
103
103
        tree1.lock_read()
104
 
        text = tree1.get_file_text(file_id)
 
104
        text = tree1.get_file_text('hello')
105
105
        tree1.unlock()
106
106
        self.assertEqual('hello world', text)
107
107
 
108
108
        tree2 = b.repository.revision_tree(rev2)
109
109
        tree2.lock_read()
110
 
        text = tree2.get_file_text(file_id)
 
110
        text = tree2.get_file_text('hello')
111
111
        tree2.unlock()
112
112
        self.assertEqual('version 2', text)
113
113
 
243
243
        tree2.lock_read()
244
244
        self.addCleanup(tree2.unlock)
245
245
        self.assertTrue(tree2.has_filename('hello'))
246
 
        self.assertEqual(tree2.get_file_text('hello-id'), 'hello')
247
 
        self.assertEqual(tree2.get_file_text('buongia-id'), 'new text')
 
246
        self.assertEqual(tree2.get_file_text('hello'), 'hello')
 
247
        self.assertEqual(tree2.get_file_text('buongia'), 'new text')
248
248
 
249
249
        tree3 = b.repository.revision_tree('test@rev-3')
250
250
        tree3.lock_read()
251
251
        self.addCleanup(tree3.unlock)
252
252
        self.assertFalse(tree3.has_filename('hello'))
253
 
        self.assertEqual(tree3.get_file_text('buongia-id'), 'new text')
 
253
        self.assertEqual(tree3.get_file_text('buongia'), 'new text')
254
254
 
255
255
    def test_commit_rename(self):
256
256
        """Test commit of a revision where a file is renamed."""
268
268
        tree1.lock_read()
269
269
        self.addCleanup(tree1.unlock)
270
270
        eq(tree1.id2path('hello-id'), 'hello')
271
 
        eq(tree1.get_file_text('hello-id'), 'contents of hello\n')
 
271
        eq(tree1.get_file_text('hello'), 'contents of hello\n')
272
272
        self.assertFalse(tree1.has_filename('fruity'))
273
273
        self.check_tree_shape(tree1, ['hello'])
274
 
        eq(tree1.get_file_revision('hello-id'), 'test@rev-1')
 
274
        eq(tree1.get_file_revision('hello'), 'test@rev-1')
275
275
 
276
276
        tree2 = b.repository.revision_tree('test@rev-2')
277
277
        tree2.lock_read()
278
278
        self.addCleanup(tree2.unlock)
279
279
        eq(tree2.id2path('hello-id'), 'fruity')
280
 
        eq(tree2.get_file_text('hello-id'), 'contents of hello\n')
 
280
        eq(tree2.get_file_text('fruity'), 'contents of hello\n')
281
281
        self.check_tree_shape(tree2, ['fruity'])
282
 
        eq(tree2.get_file_revision('hello-id'), 'test@rev-2')
 
282
        eq(tree2.get_file_revision('fruity'), 'test@rev-2')
283
283
 
284
284
    def test_reused_rev_id(self):
285
285
        """Test that a revision id cannot be reused in a branch"""
646
646
        timestamp_1ms = round(timestamp, 3)
647
647
        self.assertEqual(timestamp_1ms, timestamp)
648
648
 
649
 
    def assertBasisTreeKind(self, kind, tree, file_id):
 
649
    def assertBasisTreeKind(self, kind, tree, path):
650
650
        basis = tree.basis_tree()
651
651
        basis.lock_read()
652
652
        try:
653
 
            self.assertEqual(kind, basis.kind(file_id))
 
653
            self.assertEqual(kind, basis.kind(path))
654
654
        finally:
655
655
            basis.unlock()
656
656
 
660
660
        os.symlink('target', 'name')
661
661
        tree.add('name', 'a-file-id')
662
662
        tree.commit('Added a symlink')
663
 
        self.assertBasisTreeKind('symlink', tree, 'a-file-id')
 
663
        self.assertBasisTreeKind('symlink', tree, 'name')
664
664
 
665
665
        os.unlink('name')
666
666
        self.build_tree(['name'])
667
667
        tree.commit('Changed symlink to file')
668
 
        self.assertBasisTreeKind('file', tree, 'a-file-id')
 
668
        self.assertBasisTreeKind('file', tree, 'name')
669
669
 
670
670
        os.unlink('name')
671
671
        os.symlink('target', 'name')
672
672
        tree.commit('file to symlink')
673
 
        self.assertBasisTreeKind('symlink', tree, 'a-file-id')
 
673
        self.assertBasisTreeKind('symlink', tree, 'name')
674
674
 
675
675
        os.unlink('name')
676
676
        os.mkdir('name')
677
677
        tree.commit('symlink to directory')
678
 
        self.assertBasisTreeKind('directory', tree, 'a-file-id')
 
678
        self.assertBasisTreeKind('directory', tree, 'name')
679
679
 
680
680
        os.rmdir('name')
681
681
        os.symlink('target', 'name')
682
682
        tree.commit('directory to symlink')
683
 
        self.assertBasisTreeKind('symlink', tree, 'a-file-id')
 
683
        self.assertBasisTreeKind('symlink', tree, 'name')
684
684
 
685
685
        # prepare for directory <-> file tests
686
686
        os.unlink('name')
687
687
        os.mkdir('name')
688
688
        tree.commit('symlink to directory')
689
 
        self.assertBasisTreeKind('directory', tree, 'a-file-id')
 
689
        self.assertBasisTreeKind('directory', tree, 'name')
690
690
 
691
691
        os.rmdir('name')
692
692
        self.build_tree(['name'])
693
693
        tree.commit('Changed directory to file')
694
 
        self.assertBasisTreeKind('file', tree, 'a-file-id')
 
694
        self.assertBasisTreeKind('file', tree, 'name')
695
695
 
696
696
        os.unlink('name')
697
697
        os.mkdir('name')
698
698
        tree.commit('file to directory')
699
 
        self.assertBasisTreeKind('directory', tree, 'a-file-id')
 
699
        self.assertBasisTreeKind('directory', tree, 'name')
700
700
 
701
701
    def test_commit_unversioned_specified(self):
702
702
        """Commit should raise if specified files isn't in basis or worktree"""