/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_merge.py

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2020-08-23 01:15:41 UTC
  • mfrom: (7520.1.4 merge-3.1)
  • Revision ID: breezy.the.bot@gmail.com-20200823011541-nv0oh7nzaganx2qy
Merge lp:brz/3.1.

Merged from https://code.launchpad.net/~jelmer/brz/merge-3.1/+merge/389690

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
    knit,
34
34
    versionedfile,
35
35
    )
36
 
from ..conflicts import ConflictList, TextConflict
 
36
from ..conflicts import ConflictList
 
37
from ..bzr.conflicts import TextConflict, MissingParent, UnversionedParent, DeletingParent, ContentsConflict
37
38
from ..errors import UnrelatedBranches, NoCommits
38
39
from ..merge import transform_tree, merge_inner, _PlanMerge
39
40
from ..osutils import basename, pathjoin, file_kind
134
135
                                         this_branch=wt.branch,
135
136
                                         do_merge=False)
136
137
        with merger.make_preview_transform() as tt:
137
 
            self.assertEqual([], tt.find_conflicts())
 
138
            self.assertEqual([], tt.find_raw_conflicts())
138
139
            preview = tt.get_preview_tree()
139
140
            self.assertEqual(wt.path2id(''), preview.path2id(''))
140
141
 
197
198
 
198
199
    def test_merge_inner_conflicts(self):
199
200
        tree_a = self.make_branch_and_tree('a')
200
 
        tree_a.set_conflicts(ConflictList([TextConflict('patha')]))
 
201
        tree_a.set_conflicts([TextConflict('patha')])
201
202
        merge_inner(tree_a.branch, tree_a, tree_a, this_tree=tree_a)
202
203
        self.assertEqual(1, len(tree_a.conflicts()))
203
204
 
219
220
        tree_z.commit('removed b')
220
221
        merge_inner(tree_z.branch, tree_a, base_tree, this_tree=tree_z)
221
222
        self.assertEqual([
222
 
            conflicts.MissingParent('Created directory', 'b', b'b-id'),
223
 
            conflicts.UnversionedParent('Versioned directory', 'b', b'b-id')],
 
223
            MissingParent('Created directory', 'b', b'b-id'),
 
224
            UnversionedParent('Versioned directory', 'b', b'b-id')],
224
225
            tree_z.conflicts())
225
226
        merge_inner(tree_a.branch, tree_z.basis_tree(), base_tree,
226
227
                    this_tree=tree_a)
227
228
        self.assertEqual([
228
 
            conflicts.DeletingParent('Not deleting', 'b', b'b-id'),
229
 
            conflicts.UnversionedParent('Versioned directory', 'b', b'b-id')],
 
229
            DeletingParent('Not deleting', 'b', b'b-id'),
 
230
            UnversionedParent('Versioned directory', 'b', b'b-id')],
230
231
            tree_a.conflicts())
231
232
 
232
233
    def test_nested_merge(self):
287
288
        tree_b.commit('content change')
288
289
        tree_b.merge_from_branch(tree_a.branch)
289
290
        self.assertEqual(tree_b.conflicts(),
290
 
                         [conflicts.ContentsConflict('file',
291
 
                                                     file_id=b'file-id')])
 
291
                         [ContentsConflict('file', file_id=b'file-id')])
292
292
 
293
293
    def test_merge_type_registry(self):
294
294
        merge_type_option = option.Option.OPTIONS['merge-type']
1432
1432
                           ((u'a', [u'a', u'a']), u'a', u'a'),
1433
1433
                           ((root_id, [root_id, root_id]), root_id, root_id),
1434
1434
                           ((u'a', [u'a', u'a']), u'a', u'a'),
1435
 
                           ((False, [False, False]), False, False)),
 
1435
                           ((False, [False, False]), False, False),
 
1436
                           False),
1436
1437
                          ], entries)
1437
1438
 
1438
1439
    def test_not_in_base(self):
1478
1479
                           ((None, [u'bar', u'bar']), u'bar', u'bar'),
1479
1480
                           ((None, [root_id, root_id]), root_id, root_id),
1480
1481
                           ((None, [u'bar', u'bar']), u'bar', u'bar'),
1481
 
                           ((None, [False, False]), False, False)),
 
1482
                           ((None, [False, False]), False, False),
 
1483
                           False),
1482
1484
                          ], entries)
1483
1485
 
1484
1486
    def test_not_in_this(self):
1511
1513
                           ((u'a', [u'a', u'a']), u'a', None),
1512
1514
                           ((root_id, [root_id, root_id]), root_id, None),
1513
1515
                           ((u'a', [u'a', u'a']), u'a', None),
1514
 
                           ((False, [False, False]), False, None)),
 
1516
                           ((False, [False, False]), False, None),
 
1517
                           False),
1515
1518
                          ], entries)
1516
1519
 
1517
1520
    def test_file_not_in_one_lca(self):
1562
1565
                           ((u'a', [u'a', u'a']), None, u'a'),
1563
1566
                           ((root_id, [root_id, root_id]), None, root_id),
1564
1567
                           ((u'a', [u'a', u'a']), None, u'a'),
1565
 
                           ((False, [False, False]), None, False)),
 
1568
                           ((False, [False, False]), None, False),
 
1569
                           False),
1566
1570
                          ], entries)
1567
1571
 
1568
1572
    def test_not_in_other_or_lca(self):
1628
1632
                           ((u'foo', [u'foo', None]), None, u'foo'),
1629
1633
                           ((root_id, [root_id, None]), None, root_id),
1630
1634
                           ((u'foo', [u'foo', None]), None, 'foo'),
1631
 
                           ((False, [False, None]), None, False)),
 
1635
                           ((False, [False, None]), None, False),
 
1636
                           False),
1632
1637
                          ], entries)
1633
1638
 
1634
1639
    def test_only_in_one_lca(self):
1683
1688
                           ((None, [None, None]), u'a', None),
1684
1689
                           ((None, [None, None]), root_id, None),
1685
1690
                           ((None, [None, None]), u'a', None),
1686
 
                           ((None, [None, None]), False, None)),
 
1691
                           ((None, [None, None]), False, None),
 
1692
                           False),
1687
1693
                          ], entries)
1688
1694
 
1689
1695
    def test_one_lca_supersedes(self):
1814
1820
                           [(b'foo-id', False,
1815
1821
                             ((root_id, [root_id, root_id]), root_id, root_id),
1816
1822
                               ((u'foo', [u'bar', u'foo']), u'bar', u'bing'),
1817
 
                               ((False, [False, False]), False, False)),
 
1823
                               ((False, [False, False]), False, False),
 
1824
                             False),
1818
1825
                            ], entries)
1819
1826
 
1820
1827
    def test_both_sides_revert(self):
1846
1853
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
1847
1854
                           ((root_id, [root_id, root_id]), root_id, root_id),
1848
1855
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
1849
 
                           ((False, [False, False]), False, False)),
 
1856
                           ((False, [False, False]), False, False),
 
1857
                           False),
1850
1858
                          ], entries)
1851
1859
 
1852
1860
    def test_different_lca_resolve_one_side_updates_content(self):
1884
1892
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
1885
1893
                           ((root_id, [root_id, root_id]), root_id, root_id),
1886
1894
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
1887
 
                           ((False, [False, False]), False, False)),
 
1895
                           ((False, [False, False]), False, False),
 
1896
                           False),
1888
1897
                          ], entries)
1889
1898
 
1890
1899
    def test_same_lca_resolution_one_side_updates_content(self):
1946
1955
                           ((u'a', [u'a', u'a']), u'b', u'a'),
1947
1956
                           ((root_id, [root_id, root_id]), root_id, root_id),
1948
1957
                           ((u'a', [u'a', u'a']), u'b', u'a'),
1949
 
                           ((False, [False, False]), False, False)),
 
1958
                           ((False, [False, False]), False, False),
 
1959
                           False),
1950
1960
                          ], entries)
1951
1961
 
1952
1962
    def test_kind_changed(self):
1972
1982
                           ((u'a', [u'a', u'a']), u'a', u'a'),
1973
1983
                           ((root_id, [root_id, root_id]), root_id, root_id),
1974
1984
                           ((u'a', [u'a', u'a']), u'a', u'a'),
1975
 
                           ((False, [False, False]), False, False)),
 
1985
                           ((False, [False, False]), False, False),
 
1986
                           False),
1976
1987
                          ], entries)
1977
1988
 
1978
1989
    def test_this_changed_kind(self):
2018
2029
                           ((u'b', [u'b', u'b']), u'b', u'b'),
2019
2030
                           ((root_id, [root_id, root_id]), root_id, root_id),
2020
2031
                           ((u'b', [u'b', u'b']), u'b', u'b'),
2021
 
                           ((False, [False, False]), False, False)),
 
2032
                           ((False, [False, False]), False, False),
 
2033
                           False),
2022
2034
                          ], entries)
2023
2035
 
2024
2036
    def test_interesting_file_in_this(self):
2046
2058
                           ((u'b', [u'b', u'b']), u'b', u'c'),
2047
2059
                           ((root_id, [root_id, root_id]), root_id, root_id),
2048
2060
                           ((u'b', [u'b', u'b']), u'b', u'c'),
2049
 
                           ((False, [False, False]), False, False)),
 
2061
                           ((False, [False, False]), False, False),
 
2062
                           False),
2050
2063
                          ], entries)
2051
2064
 
2052
2065
    def test_interesting_file_in_base(self):
2076
2089
                           ((u'c', [u'b', u'b']), u'b', u'b'),
2077
2090
                           ((root_id, [root_id, root_id]), root_id, root_id),
2078
2091
                           ((u'c', [u'b', u'b']), u'b', u'b'),
2079
 
                           ((False, [False, False]), False, False)),
 
2092
                           ((False, [False, False]), False, False),
 
2093
                           False),
2080
2094
                          ], entries)
2081
2095
 
2082
2096
    def test_interesting_file_in_lca(self):
2104
2118
                           ((u'b', [u'c', u'b']), u'b', u'b'),
2105
2119
                           ((root_id, [root_id, root_id]), root_id, root_id),
2106
2120
                           ((u'b', [u'c', u'b']), u'b', u'b'),
2107
 
                           ((False, [False, False]), False, False)),
 
2121
                           ((False, [False, False]), False, False),
 
2122
                           False),
2108
2123
                          ], entries)
2109
2124
 
2110
2125
    def test_interesting_files(self):
2129
2144
                           ((u'b', [u'b', u'b']), u'b', u'b'),
2130
2145
                           ((root_id, [root_id, root_id]), root_id, root_id),
2131
2146
                           ((u'b', [u'b', u'b']), u'b', u'b'),
2132
 
                           ((False, [False, False]), False, False)),
 
2147
                           ((False, [False, False]), False, False),
 
2148
                           False),
2133
2149
                          ], entries)
2134
2150
 
2135
2151
 
2439
2455
                           ((u'foo', [u'barry', u'foo']), u'blah', u'barry'),
2440
2456
                           ((root_id, [root_id, root_id]), root_id, root_id),
2441
2457
                           ((u'foo', [u'barry', u'foo']), u'blah', u'barry'),
2442
 
                           ((False, [False, False]), False, False)),
 
2458
                           ((False, [False, False]), False, False),
 
2459
                           False),
2443
2460
                          ], entries)
2444
2461
        conflicts = wt.merge_from_branch(wt.branch, to_revision=b'F-id')
2445
2462
        self.assertEqual(0, conflicts)
2544
2561
                           ((None, [u'foo', None]), u'foo', u'foo'),
2545
2562
                           ((None, [root_id, None]), root_id, root_id),
2546
2563
                           ((None, [u'foo', None]), u'foo', u'foo'),
2547
 
                           ((None, [False, None]), False, False)),
 
2564
                           ((None, [False, None]), False, False),
 
2565
                           False),
2548
2566
                          ], entries)
2549
2567
 
2550
2568
    def test_symlink_all_wt(self):
2606
2624
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
2607
2625
                           ((root_id, [root_id, root_id]), root_id, root_id),
2608
2626
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
2609
 
                           ((False, [False, False]), False, False)),
 
2627
                           ((False, [False, False]), False, False),
 
2628
                           False),
2610
2629
                          ], entries)
2611
2630
 
2612
2631
    def test_other_reverted_path_to_base(self):
2733
2752
                           ((u'a', [u'a', u'b']), u'c', u'b'),
2734
2753
                           ((root_id, [root_id, root_id]), root_id, root_id),
2735
2754
                           ((u'a', [u'a', u'b']), u'c', u'b'),
2736
 
                           ((False, [False, False]), False, False)),
 
2755
                           ((False, [False, False]), False, False),
 
2756
                           False),
2737
2757
                          (b'foo-id', True,
2738
2758
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
2739
2759
                           ((root_id, [root_id, root_id]), root_id, root_id),
2740
2760
                           ((u'foo', [u'foo', u'foo']), u'foo', u'foo'),
2741
 
                           ((False, [False, False]), False, False)),
 
2761
                           ((False, [False, False]), False, False),
 
2762
                           False),
2742
2763
                          ], entries)
2743
2764
 
2744
2765
    def test_nested_tree_unmodified(self):
2853
2874
                           ((u'sub', [u'sub', u'sub']), u'alt_sub', u'sub'),
2854
2875
                           ((root_id, [root_id, root_id]), root_id, root_id),
2855
2876
                           ((u'sub', [u'sub', u'sub']), u'alt_sub', u'sub'),
2856
 
                           ((False, [False, False]), False, False)),
 
2877
                           ((False, [False, False]), False, False),
 
2878
                           False),
2857
2879
                          ], entries)
2858
2880
 
2859
2881
    def test_nested_tree_subtree_renamed_and_modified(self):
2898
2920
                           ((u'sub', [u'sub', u'sub']), u'alt_sub', u'sub'),
2899
2921
                           ((root_id, [root_id, root_id]), root_id, root_id),
2900
2922
                           ((u'sub', [u'sub', u'sub']), u'alt_sub', u'sub'),
2901
 
                           ((False, [False, False]), False, False)),
 
2923
                           ((False, [False, False]), False, False),
 
2924
                           False),
2902
2925
                          ], entries)
2903
2926
 
2904
2927