/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/per_intertree/test_compare.py

  • Committer: Jelmer Vernooij
  • Date: 2019-06-29 13:16:26 UTC
  • mto: This revision was merged to the branch mainline in revision 7376.
  • Revision ID: jelmer@jelmer.uk-20190629131626-qioafloyemhdbm4w
Remove Tree.get_root_id() in favour of Tree.path2id('').

Show diffs side-by-side

added added

removed removed

Lines of Context:
73
73
    def test_compare_empty_trees(self):
74
74
        tree1 = self.make_branch_and_tree('1')
75
75
        tree2 = self.make_to_branch_and_tree('2')
76
 
        tree2.set_root_id(tree1.get_root_id())
 
76
        tree2.set_root_id(tree1.path2id(''))
77
77
        tree1 = self.get_tree_no_parents_no_content(tree1)
78
78
        tree2 = self.get_tree_no_parents_no_content(tree2)
79
79
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
87
87
    def test_empty_to_abc_content(self):
88
88
        tree1 = self.make_branch_and_tree('1')
89
89
        tree2 = self.make_to_branch_and_tree('2')
90
 
        tree2.set_root_id(tree1.get_root_id())
 
90
        tree2.set_root_id(tree1.path2id(''))
91
91
        tree1 = self.get_tree_no_parents_no_content(tree1)
92
92
        tree2 = self.get_tree_no_parents_abc_content(tree2)
93
93
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
109
109
        # the test.
110
110
        tree1 = self.make_branch_and_tree('1')
111
111
        tree2 = self.make_to_branch_and_tree('2')
112
 
        tree2.set_root_id(tree1.get_root_id())
 
112
        tree2.set_root_id(tree1.path2id(''))
113
113
        self.build_tree(['2/a'])
114
114
        tree2.add('a')
115
115
        os.unlink('2/a')
131
131
    def test_abc_content_to_empty(self):
132
132
        tree1 = self.make_branch_and_tree('1')
133
133
        tree2 = self.make_to_branch_and_tree('2')
134
 
        tree2.set_root_id(tree1.get_root_id())
 
134
        tree2.set_root_id(tree1.path2id(''))
135
135
        tree1 = self.get_tree_no_parents_abc_content(tree1)
136
136
        tree2 = self.get_tree_no_parents_no_content(tree2)
137
137
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
148
148
    def test_content_modification(self):
149
149
        tree1 = self.make_branch_and_tree('1')
150
150
        tree2 = self.make_to_branch_and_tree('2')
151
 
        tree2.set_root_id(tree1.get_root_id())
 
151
        tree2.set_root_id(tree1.path2id(''))
152
152
        tree1 = self.get_tree_no_parents_abc_content(tree1)
153
153
        tree2 = self.get_tree_no_parents_abc_content_2(tree2)
154
154
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
163
163
    def test_meta_modification(self):
164
164
        tree1 = self.make_branch_and_tree('1')
165
165
        tree2 = self.make_to_branch_and_tree('2')
166
 
        tree2.set_root_id(tree1.get_root_id())
 
166
        tree2.set_root_id(tree1.path2id(''))
167
167
        tree1 = self.get_tree_no_parents_abc_content(tree1)
168
168
        tree2 = self.get_tree_no_parents_abc_content_3(tree2)
169
169
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
178
178
    def test_file_rename(self):
179
179
        tree1 = self.make_branch_and_tree('1')
180
180
        tree2 = self.make_to_branch_and_tree('2')
181
 
        tree2.set_root_id(tree1.get_root_id())
 
181
        tree2.set_root_id(tree1.path2id(''))
182
182
        tree1 = self.get_tree_no_parents_abc_content(tree1)
183
183
        tree2 = self.get_tree_no_parents_abc_content_4(tree2)
184
184
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
193
193
    def test_file_rename_and_modification(self):
194
194
        tree1 = self.make_branch_and_tree('1')
195
195
        tree2 = self.make_to_branch_and_tree('2')
196
 
        tree2.set_root_id(tree1.get_root_id())
 
196
        tree2.set_root_id(tree1.path2id(''))
197
197
        tree1 = self.get_tree_no_parents_abc_content(tree1)
198
198
        tree2 = self.get_tree_no_parents_abc_content_5(tree2)
199
199
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
208
208
    def test_file_rename_and_meta_modification(self):
209
209
        tree1 = self.make_branch_and_tree('1')
210
210
        tree2 = self.make_to_branch_and_tree('2')
211
 
        tree2.set_root_id(tree1.get_root_id())
 
211
        tree2.set_root_id(tree1.path2id(''))
212
212
        tree1 = self.get_tree_no_parents_abc_content(tree1)
213
213
        tree2 = self.get_tree_no_parents_abc_content_6(tree2)
214
214
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
223
223
    def test_empty_to_abc_content_a_only(self):
224
224
        tree1 = self.make_branch_and_tree('1')
225
225
        tree2 = self.make_to_branch_and_tree('2')
226
 
        tree2.set_root_id(tree1.get_root_id())
 
226
        tree2.set_root_id(tree1.path2id(''))
227
227
        tree1 = self.get_tree_no_parents_no_content(tree1)
228
228
        tree2 = self.get_tree_no_parents_abc_content(tree2)
229
229
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
349
349
    def test_default_ignores_unversioned_files(self):
350
350
        tree1 = self.make_branch_and_tree('tree1')
351
351
        tree2 = self.make_to_branch_and_tree('tree2')
352
 
        tree2.set_root_id(tree1.get_root_id())
 
352
        tree2.set_root_id(tree1.path2id(''))
353
353
        self.build_tree(['tree1/a', 'tree1/c',
354
354
                         'tree2/a', 'tree2/b', 'tree2/c'])
355
355
        tree1.add(['a', 'c'], [b'a-id', b'c-id'])
368
368
    def test_unversioned_paths_in_tree(self):
369
369
        tree1 = self.make_branch_and_tree('tree1')
370
370
        tree2 = self.make_to_branch_and_tree('tree2')
371
 
        tree2.set_root_id(tree1.get_root_id())
 
371
        tree2.set_root_id(tree1.path2id(''))
372
372
        self.build_tree(['tree2/file', 'tree2/dir/'])
373
373
        if has_symlinks():
374
374
            os.symlink('target', 'tree2/link')
495
495
        """Create a tree with filenames chosen to exercise the walk order."""
496
496
        tree1 = self.make_branch_and_tree('tree1')
497
497
        tree2 = self.make_to_branch_and_tree('tree2')
498
 
        tree2.set_root_id(tree1.get_root_id())
 
498
        tree2.set_root_id(tree1.path2id(''))
499
499
        paths, path_ids = self._create_special_names(tree2, 'tree2')
500
500
        tree2.commit('initial', rev_id=b'rev-1')
501
501
        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
508
508
        """
509
509
        tree1 = self.make_branch_and_tree('tree1')
510
510
        tree2 = self.make_to_branch_and_tree('tree2')
511
 
        tree2.set_root_id(tree1.get_root_id())
 
511
        tree2.set_root_id(tree1.path2id(''))
512
512
        paths, path_ids = self._create_special_names(tree1, 'tree1')
513
513
        paths, path_ids = self._create_special_names(tree2, 'tree2')
514
514
        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
808
808
        tree1.put_file_bytes_non_atomic(
809
809
            'changing/unchanging/file', b'a file')
810
810
        tree2 = self.make_to_branch_and_tree('2')
811
 
        tree2.set_root_id(tree1.get_root_id())
 
811
        tree2.set_root_id(tree1.path2id(''))
812
812
        tree2.mkdir('changed', b'parent-id')
813
813
        tree2.mkdir('changed/unchanging', b'mid-id')
814
814
        tree2.add(['changed/unchanging/file'], [b'file-id'], ['file'])
887
887
        tree1.add(['a'], [b'a-id'], ['file'])
888
888
        tree1.put_file_bytes_non_atomic('a', b'a file')
889
889
        tree2 = self.make_to_branch_and_tree('2')
890
 
        tree2.set_root_id(tree1.get_root_id())
 
890
        tree2.set_root_id(tree1.path2id(''))
891
891
        tree2.mkdir('a', b'b-id')
892
892
        tree2.add(['a/c'], [b'c-id'], ['file'])
893
893
        tree2.put_file_bytes_non_atomic('a/c', b'another file')
907
907
        tree1.mkdir('a/reparented', b'reparented-id')
908
908
        tree1.mkdir('a/deleted', b'deleted-id')
909
909
        tree2 = self.make_to_branch_and_tree('2')
910
 
        tree2.set_root_id(tree1.get_root_id())
 
910
        tree2.set_root_id(tree1.path2id(''))
911
911
        tree2.mkdir('a', b'a-new-id')
912
912
        tree2.mkdir('a/reparented', b'reparented-id')
913
913
        tree2.add(['b'], [b'a-old-id'], ['file'])
931
931
        tree1.mkdir('a/reparented', b'reparented-id')
932
932
        tree1.mkdir('a/deleted', b'deleted-id')
933
933
        tree2 = self.make_to_branch_and_tree('2')
934
 
        tree2.set_root_id(tree1.get_root_id())
 
934
        tree2.set_root_id(tree1.path2id(''))
935
935
        tree2.mkdir('a', b'a-new-id')
936
936
        tree2.mkdir('a/reparented', b'reparented-id')
937
937
        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
955
955
        tree1.mkdir('a/reparented', b'reparented-id')
956
956
        tree1.mkdir('collides', b'collides-id')
957
957
        tree2 = self.make_to_branch_and_tree('2')
958
 
        tree2.set_root_id(tree1.get_root_id())
 
958
        tree2.set_root_id(tree1.path2id(''))
959
959
        tree2.mkdir('a', b'a-new-id')
960
960
        tree2.mkdir('a/selected', b'selected-id')
961
961
        tree2.mkdir('collides', b'reparented-id')
984
984
        tree1.mkdir('a/deleted/reparented', b'reparented-id-2')
985
985
        tree1.mkdir('a/deleted/deleted', b'deleted-id-2')
986
986
        tree2 = self.make_to_branch_and_tree('2')
987
 
        tree2.set_root_id(tree1.get_root_id())
 
987
        tree2.set_root_id(tree1.path2id(''))
988
988
        tree2.mkdir('a', b'a-new-id')
989
989
        tree2.mkdir('a/reparented', b'reparented-id-1')
990
990
        tree2.mkdir('reparented', b'reparented-id-2')
1068
1068
    def test_missing_and_renamed(self):
1069
1069
        tree1 = self.make_branch_and_tree('tree1')
1070
1070
        tree2 = self.make_to_branch_and_tree('tree2')
1071
 
        tree2.set_root_id(tree1.get_root_id())
 
1071
        tree2.set_root_id(tree1.path2id(''))
1072
1072
        self.build_tree(['tree1/file'])
1073
1073
        tree1.add(['file'], [b'file-id'])
1074
1074
        self.build_tree(['tree2/directory/'])
1086
1086
    def test_only_in_source_and_missing(self):
1087
1087
        tree1 = self.make_branch_and_tree('tree1')
1088
1088
        tree2 = self.make_to_branch_and_tree('tree2')
1089
 
        tree2.set_root_id(tree1.get_root_id())
 
1089
        tree2.set_root_id(tree1.path2id(''))
1090
1090
        self.build_tree(['tree1/file'])
1091
1091
        tree1.add(['file'], [b'file-id'])
1092
1092
        os.unlink('tree1/file')
1101
1101
    def test_only_in_target_and_missing(self):
1102
1102
        tree1 = self.make_branch_and_tree('tree1')
1103
1103
        tree2 = self.make_to_branch_and_tree('tree2')
1104
 
        tree2.set_root_id(tree1.get_root_id())
 
1104
        tree2.set_root_id(tree1.path2id(''))
1105
1105
        self.build_tree(['tree2/file'])
1106
1106
        tree2.add(['file'], [b'file-id'])
1107
1107
        os.unlink('tree2/file')
1116
1116
    def test_only_in_target_missing_subtree_specific_bug_367632(self):
1117
1117
        tree1 = self.make_branch_and_tree('tree1')
1118
1118
        tree2 = self.make_to_branch_and_tree('tree2')
1119
 
        tree2.set_root_id(tree1.get_root_id())
 
1119
        tree2.set_root_id(tree1.path2id(''))
1120
1120
        self.build_tree(['tree2/a-dir/', 'tree2/a-dir/a-file'])
1121
1121
        tree2.add(['a-dir', 'a-dir/a-file'], [b'dir-id', b'file-id'])
1122
1122
        os.unlink('tree2/a-dir/a-file')
1226
1226
    def test_default_ignores_unversioned_files(self):
1227
1227
        tree1 = self.make_branch_and_tree('tree1')
1228
1228
        tree2 = self.make_to_branch_and_tree('tree2')
1229
 
        tree2.set_root_id(tree1.get_root_id())
 
1229
        tree2.set_root_id(tree1.path2id(''))
1230
1230
        self.build_tree(['tree1/a', 'tree1/c',
1231
1231
                         'tree2/a', 'tree2/b', 'tree2/c'])
1232
1232
        tree1.add(['a', 'c'], [b'a-id', b'c-id'])
1246
1246
    def test_unversioned_paths_in_tree(self):
1247
1247
        tree1 = self.make_branch_and_tree('tree1')
1248
1248
        tree2 = self.make_to_branch_and_tree('tree2')
1249
 
        tree2.set_root_id(tree1.get_root_id())
 
1249
        tree2.set_root_id(tree1.path2id(''))
1250
1250
        self.build_tree(['tree2/file', 'tree2/dir/'])
1251
1251
        if has_symlinks():
1252
1252
            os.symlink('target', 'tree2/link')
1299
1299
        # both foo and bar.
1300
1300
        tree1 = self.make_branch_and_tree('tree1')
1301
1301
        tree2 = self.make_to_branch_and_tree('tree2')
1302
 
        tree2.set_root_id(tree1.get_root_id())
 
1302
        tree2.set_root_id(tree1.path2id(''))
1303
1303
        self.build_tree(['tree2/file', 'tree2/dir/',
1304
1304
                         'tree1/file', 'tree2/movedfile',
1305
1305
                         'tree1/dir/', 'tree2/moveddir/'])
1343
1343
        """Test when we have a few files with similar names."""
1344
1344
        tree1 = self.make_branch_and_tree('tree1')
1345
1345
        tree2 = self.make_branch_and_tree('tree2')
1346
 
        tree2.set_root_id(tree1.get_root_id())
 
1346
        tree2.set_root_id(tree1.path2id(''))
1347
1347
 
1348
1348
        # The trees are actually identical, but they happen to contain
1349
1349
        # similarly named files.
1371
1371
        self.assertEqual([], self.do_iter_changes(tree1, tree2,
1372
1372
                                                  want_unversioned=True))
1373
1373
        expected = self.sorted([
1374
 
            self.unchanged(tree2, tree2.get_root_id()),
 
1374
            self.unchanged(tree2, tree2.path2id('')),
1375
1375
            self.unchanged(tree2, b'a-id'),
1376
1376
            self.unchanged(tree2, b'b-id'),
1377
1377
            self.unchanged(tree2, b'c-id'),
1387
1387
    def test_unversioned_subtree_only_emits_root(self):
1388
1388
        tree1 = self.make_branch_and_tree('tree1')
1389
1389
        tree2 = self.make_to_branch_and_tree('tree2')
1390
 
        tree2.set_root_id(tree1.get_root_id())
 
1390
        tree2.set_root_id(tree1.path2id(''))
1391
1391
        self.build_tree(['tree2/dir/', 'tree2/dir/file'])
1392
1392
        tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2)
1393
1393
        self.not_applicable_if_cannot_represent_unversioned(tree2)
1400
1400
    def make_trees_with_symlinks(self):
1401
1401
        tree1 = self.make_branch_and_tree('tree1')
1402
1402
        tree2 = self.make_to_branch_and_tree('tree2')
1403
 
        tree2.set_root_id(tree1.get_root_id())
 
1403
        tree2.set_root_id(tree1.path2id(''))
1404
1404
        self.build_tree(['tree1/fromfile', 'tree1/fromdir/'])
1405
1405
        self.build_tree(['tree2/tofile', 'tree2/todir/', 'tree2/unknown'])
1406
1406
        os.symlink('original', 'tree1/changed')
1500
1500
    def test_trees_with_deleted_dir(self):
1501
1501
        tree1 = self.make_branch_and_tree('tree1')
1502
1502
        tree2 = self.make_to_branch_and_tree('tree2')
1503
 
        tree2.set_root_id(tree1.get_root_id())
 
1503
        tree2.set_root_id(tree1.path2id(''))
1504
1504
        self.build_tree(['tree1/a', 'tree1/b/', 'tree1/b/c',
1505
1505
                         'tree1/b/d/', 'tree1/b/d/e', 'tree1/f/', 'tree1/f/g',
1506
1506
                         'tree2/a', 'tree2/f/', 'tree2/f/g'])
1525
1525
    def test_added_unicode(self):
1526
1526
        tree1 = self.make_branch_and_tree('tree1')
1527
1527
        tree2 = self.make_to_branch_and_tree('tree2')
1528
 
        root_id = tree1.get_root_id()
 
1528
        root_id = tree1.path2id('')
1529
1529
        tree2.set_root_id(root_id)
1530
1530
 
1531
1531
        # u'\u03b1' == GREEK SMALL LETTER ALPHA
1554
1554
    def test_deleted_unicode(self):
1555
1555
        tree1 = self.make_branch_and_tree('tree1')
1556
1556
        tree2 = self.make_to_branch_and_tree('tree2')
1557
 
        root_id = tree1.get_root_id()
 
1557
        root_id = tree1.path2id('')
1558
1558
        tree2.set_root_id(root_id)
1559
1559
 
1560
1560
        # u'\u03b1' == GREEK SMALL LETTER ALPHA
1583
1583
    def test_modified_unicode(self):
1584
1584
        tree1 = self.make_branch_and_tree('tree1')
1585
1585
        tree2 = self.make_to_branch_and_tree('tree2')
1586
 
        root_id = tree1.get_root_id()
 
1586
        root_id = tree1.path2id('')
1587
1587
        tree2.set_root_id(root_id)
1588
1588
 
1589
1589
        # u'\u03b1' == GREEK SMALL LETTER ALPHA
1613
1613
    def test_renamed_unicode(self):
1614
1614
        tree1 = self.make_branch_and_tree('tree1')
1615
1615
        tree2 = self.make_to_branch_and_tree('tree2')
1616
 
        root_id = tree1.get_root_id()
 
1616
        root_id = tree1.path2id('')
1617
1617
        tree2.set_root_id(root_id)
1618
1618
 
1619
1619
        # u'\u03b1' == GREEK SMALL LETTER ALPHA
1644
1644
    def test_unchanged_unicode(self):
1645
1645
        tree1 = self.make_branch_and_tree('tree1')
1646
1646
        tree2 = self.make_to_branch_and_tree('tree2')
1647
 
        root_id = tree1.get_root_id()
 
1647
        root_id = tree1.path2id('')
1648
1648
        tree2.set_root_id(root_id)
1649
1649
        # u'\u03b1' == GREEK SMALL LETTER ALPHA
1650
1650
        # u'\u03c9' == GREEK SMALL LETTER OMEGA
1692
1692
    def test_unknown_unicode(self):
1693
1693
        tree1 = self.make_branch_and_tree('tree1')
1694
1694
        tree2 = self.make_to_branch_and_tree('tree2')
1695
 
        root_id = tree1.get_root_id()
 
1695
        root_id = tree1.path2id('')
1696
1696
        tree2.set_root_id(root_id)
1697
1697
        # u'\u03b1' == GREEK SMALL LETTER ALPHA
1698
1698
        # u'\u03c9' == GREEK SMALL LETTER OMEGA
1746
1746
    def test_unknown_empty_dir(self):
1747
1747
        tree1 = self.make_branch_and_tree('tree1')
1748
1748
        tree2 = self.make_to_branch_and_tree('tree2')
1749
 
        root_id = tree1.get_root_id()
 
1749
        root_id = tree1.path2id('')
1750
1750
        tree2.set_root_id(root_id)
1751
1751
 
1752
1752
        # Start with 2 identical trees
1788
1788
    def test_rename_over_deleted(self):
1789
1789
        tree1 = self.make_branch_and_tree('tree1')
1790
1790
        tree2 = self.make_to_branch_and_tree('tree2')
1791
 
        root_id = tree1.get_root_id()
 
1791
        root_id = tree1.path2id('')
1792
1792
        tree2.set_root_id(root_id)
1793
1793
 
1794
1794
        # The final changes should be:
1825
1825
        """Test a file marked removed, but still present on disk."""
1826
1826
        tree1 = self.make_branch_and_tree('tree1')
1827
1827
        tree2 = self.make_to_branch_and_tree('tree2')
1828
 
        root_id = tree1.get_root_id()
 
1828
        root_id = tree1.path2id('')
1829
1829
        tree2.set_root_id(root_id)
1830
1830
 
1831
1831
        # The final changes should be:
1863
1863
        """Test when we have renamed a file, and put another in its place."""
1864
1864
        tree1 = self.make_branch_and_tree('tree1')
1865
1865
        tree2 = self.make_to_branch_and_tree('tree2')
1866
 
        root_id = tree1.get_root_id()
 
1866
        root_id = tree1.path2id('')
1867
1867
        tree2.set_root_id(root_id)
1868
1868
 
1869
1869
        # The final changes are:
1900
1900
        """A file was moved on the filesystem, but not in bzr."""
1901
1901
        tree1 = self.make_branch_and_tree('tree1')
1902
1902
        tree2 = self.make_to_branch_and_tree('tree2')
1903
 
        root_id = tree1.get_root_id()
 
1903
        root_id = tree1.path2id('')
1904
1904
        tree2.set_root_id(root_id)
1905
1905
 
1906
1906
        # The final changes are:
1921
1921
        self.not_applicable_if_missing_in('a', tree2)
1922
1922
 
1923
1923
        expected = self.sorted([
1924
 
            self.missing(b'a-id', 'a', 'a', tree2.get_root_id(), 'file'),
 
1924
            self.missing(b'a-id', 'a', 'a', tree2.path2id(''), 'file'),
1925
1925
            self.unversioned(tree2, 'a2'),
1926
1926
            ])
1927
1927
        self.assertEqual(expected,