/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_workingtree/test_unversion.py

  • Committer: Jelmer Vernooij
  • Date: 2018-03-24 17:48:04 UTC
  • mfrom: (6921 work)
  • mto: This revision was merged to the branch mainline in revision 6923.
  • Revision ID: jelmer@jelmer.uk-20180324174804-xf22o05byoj12x1q
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
        tree = self.make_branch_and_tree('.')
57
57
        self.build_tree(['a', 'b', 'c'])
58
58
        tree.add(['a', 'b', 'c'])
59
 
        a_id = tree.path2id('a')
60
 
        b_id = tree.path2id('b')
61
 
        c_id = tree.path2id('c')
62
59
        # within a lock unversion should take effect
63
60
        tree.lock_write()
 
61
        self.assertTrue(tree.is_versioned('a'))
64
62
        tree.unversion(['a', 'b'])
65
 
        self.assertFalse(tree.has_id(a_id))
66
 
        self.assertFalse(tree.has_id(b_id))
67
 
        self.assertTrue(tree.has_id(c_id))
 
63
        self.assertFalse(tree.is_versioned('a'))
 
64
        self.assertFalse(tree.is_versioned('a'))
 
65
        self.assertFalse(tree.is_versioned('b'))
 
66
        self.assertTrue(tree.is_versioned('c'))
68
67
        self.assertTrue(tree.has_filename('a'))
69
68
        self.assertTrue(tree.has_filename('b'))
70
69
        self.assertTrue(tree.has_filename('c'))
73
72
        # to be sure.
74
73
        tree = tree.controldir.open_workingtree()
75
74
        self.addCleanup(tree.lock_read().unlock)
76
 
        self.assertFalse(tree.has_id(a_id))
77
 
        self.assertFalse(tree.has_id(b_id))
78
 
        self.assertTrue(tree.has_id(c_id))
 
75
        self.assertFalse(tree.is_versioned('a'))
 
76
        self.assertFalse(tree.is_versioned('b'))
 
77
        self.assertTrue(tree.is_versioned('c'))
79
78
        self.assertTrue(tree.has_filename('a'))
80
79
        self.assertTrue(tree.has_filename('b'))
81
80
        self.assertTrue(tree.has_filename('c'))
85
84
        tree = self.make_branch_and_tree('.')
86
85
        self.build_tree(['a/', 'a/b', 'c'])
87
86
        tree.add(['a', 'a/b', 'c'])
88
 
        a_id = tree.path2id('a')
89
 
        b_id = tree.path2id('a/b')
90
 
        c_id = tree.path2id('c')
91
87
        # within a lock unversion should take effect
92
 
        tree.lock_write()
93
 
        tree.unversion(['a'])
94
 
        self.assertFalse(tree.has_id(a_id))
95
 
        self.assertFalse(tree.has_id(b_id))
96
 
        self.assertTrue(tree.has_id(c_id))
97
 
        self.assertTrue(tree.has_filename('a'))
98
 
        self.assertTrue(tree.has_filename('a/b'))
99
 
        self.assertTrue(tree.has_filename('c'))
100
 
        tree.unlock()
 
88
        with tree.lock_write():
 
89
            tree.unversion(['a'])
 
90
            self.assertFalse(tree.is_versioned('a'))
 
91
            self.assertFalse(tree.is_versioned('a/b'))
 
92
            self.assertTrue(tree.is_versioned('c'))
 
93
            self.assertTrue(tree.has_filename('a'))
 
94
            self.assertTrue(tree.has_filename('a/b'))
 
95
            self.assertTrue(tree.has_filename('c'))
101
96
 
102
97
    def test_unversion_subtree_and_children(self):
103
98
        """Passing a child id will raise NoSuchId.
107
102
        tree = self.make_branch_and_tree('.')
108
103
        self.build_tree(['a/', 'a/b', 'a/c', 'd'])
109
104
        tree.add(['a', 'a/b', 'a/c', 'd'])
110
 
        a_id = tree.path2id('a')
111
 
        b_id = tree.path2id('a/b')
112
 
        c_id = tree.path2id('a/c')
113
 
        d_id = tree.path2id('d')
114
 
        tree.lock_write()
115
 
        try:
 
105
        with tree.lock_write():
116
106
            tree.unversion(['a/b', 'a'])
117
 
            self.assertFalse(tree.has_id(a_id))
118
 
            self.assertFalse(tree.has_id(b_id))
119
 
            self.assertFalse(tree.has_id(c_id))
120
 
            self.assertTrue(tree.has_id(d_id))
 
107
            self.assertFalse(tree.is_versioned('a'))
 
108
            self.assertFalse(tree.is_versioned('a/b'))
 
109
            self.assertFalse(tree.is_versioned('a/c'))
 
110
            self.assertTrue(tree.is_versioned('d'))
121
111
            # The files are still on disk
122
112
            self.assertTrue(tree.has_filename('a'))
123
113
            self.assertTrue(tree.has_filename('a/b'))
124
114
            self.assertTrue(tree.has_filename('a/c'))
125
115
            self.assertTrue(tree.has_filename('d'))
126
 
        finally:
127
 
            tree.unlock()
128
116
 
129
117
    def test_unversion_renamed(self):
130
118
        tree = self.make_branch_and_tree('a')