~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_uncommit.py

  • Committer: Vincent Ladeuil
  • Date: 2017-01-17 13:48:10 UTC
  • mfrom: (6615.3.6 merges)
  • mto: This revision was merged to the branch mainline in revision 6620.
  • Revision ID: v.ladeuil+lp@free.fr-20170117134810-j9p3lidfy6pfyfsc
Merge 2.7, resolving conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008 Canonical Ltd
 
1
# Copyright (C) 2008, 2009, 2011, 2016 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
49
49
        self.assertEqual((1, history[0]), tree.branch.last_revision_info())
50
50
 
51
51
        # The file should not be removed
52
 
        self.failUnlessExists('tree/two')
 
52
        self.assertPathExists('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())