~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_uncommit.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2008-09-03 22:30:56 UTC
  • mfrom: (3644.2.13 index_builder_cleanup)
  • Revision ID: pqm@pqm.ubuntu.com-20080903223056-b108iytb38xkznci
(jam) Streamline BTreeBuilder.add_node et al to make btree creation
        faster.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008, 2009, 2011, 2016 Canonical Ltd
 
1
# Copyright (C) 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
"""Test uncommit."""
18
18
 
49
49
        self.assertEqual((1, history[0]), tree.branch.last_revision_info())
50
50
 
51
51
        # The file should not be removed
52
 
        self.assertPathExists('tree/two')
 
52
        self.failUnlessExists('tree/two')
53
53
        # And it should still be listed as added
54
54
        self.assertIsNot(None, tree.path2id('two'))
55
55
 
96
96
        # If this tree isn't bound, local=True raises an exception
97
97
        self.assertRaises(errors.LocalRequiresBoundBranch,
98
98
            uncommit.uncommit, tree.branch, tree=tree, local=True)
99
 
 
100
 
    def test_uncommit_remove_tags(self):
101
 
        tree, history = self.make_linear_tree()
102
 
        self.assertEqual(history[1], tree.last_revision())
103
 
        self.assertEqual((2, history[1]), tree.branch.last_revision_info())
104
 
        tree.branch.tags.set_tag(u"pointsatexisting", history[0])
105
 
        tree.branch.tags.set_tag(u"pointsatremoved", history[1])
106
 
        uncommit.uncommit(tree.branch, tree=tree)
107
 
        self.assertEqual(history[0], tree.last_revision())
108
 
        self.assertEqual((1, history[0]), tree.branch.last_revision_info())
109
 
        self.assertEqual({
110
 
            "pointsatexisting": history[0]
111
 
            }, tree.branch.tags.get_tag_dict())
112
 
 
113
 
    def test_uncommit_remove_tags_keeps_pending_merges(self):
114
 
        tree, history = self.make_linear_tree()
115
 
        copy = tree.bzrdir.sprout('copyoftree').open_workingtree()
116
 
        copy.commit(message='merged', rev_id='merged')
117
 
        tree.merge_from_branch(copy.branch)
118
 
        tree.branch.tags.set_tag('pointsatmerged', 'merged')
119
 
        history.append(tree.commit('merge'))
120
 
        self.assertEqual('merged', tree.branch.tags.lookup_tag('pointsatmerged'))
121
 
        self.assertEqual(history[2], tree.last_revision())
122
 
        self.assertEqual((3, history[2]), tree.branch.last_revision_info())
123
 
        tree.branch.tags.set_tag(u"pointsatexisting", history[1])
124
 
        tree.branch.tags.set_tag(u"pointsatremoved", history[2])
125
 
        uncommit.uncommit(tree.branch, tree=tree)
126
 
        self.assertEqual(history[1], tree.last_revision())
127
 
        self.assertEqual((2, history[1]), tree.branch.last_revision_info())
128
 
        self.assertEqual([history[1], 'merged'], tree.get_parent_ids())
129
 
        self.assertEqual({
130
 
            "pointsatexisting": history[1],
131
 
            "pointsatmerged": 'merged',
132
 
            }, tree.branch.tags.get_tag_dict())
133
 
 
134
 
    def test_uncommit_keep_tags(self):
135
 
        tree, history = self.make_linear_tree()
136
 
        self.assertEqual(history[1], tree.last_revision())
137
 
        self.assertEqual((2, history[1]), tree.branch.last_revision_info())
138
 
        tree.branch.tags.set_tag(u"pointsatexisting", history[0])
139
 
        tree.branch.tags.set_tag(u"pointsatremoved", history[1])
140
 
        uncommit.uncommit(tree.branch, tree=tree, keep_tags=True)
141
 
        self.assertEqual(history[0], tree.last_revision())
142
 
        self.assertEqual((1, history[0]), tree.branch.last_revision_info())
143
 
        self.assertEqual({
144
 
            "pointsatexisting": history[0],
145
 
            "pointsatremoved": history[1],
146
 
            }, tree.branch.tags.get_tag_dict())