1
# Copyright (C) 2007, 2009-2012, 2016 Canonical Ltd
1
# Copyright (C) 2007, 2009, 2010 Canonical Ltd
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
57
57
store = self.make_branch_supporting_tags('a').tags
58
58
store.set_tag("foo", "myoldrevid")
59
59
store.rename_revisions({"myoldrevid": "mynewrevid"})
60
self.assertEqual({"foo": "mynewrevid"}, store.get_tag_dict())
60
self.assertEquals({"foo": "mynewrevid"}, store.get_tag_dict())
62
62
def test_unknown_ignored(self):
63
63
store = self.make_branch_supporting_tags('a').tags
64
64
store.set_tag("foo", "myoldrevid")
65
65
store.rename_revisions({"anotherrevid": "mynewrevid"})
66
self.assertEqual({"foo": "myoldrevid"}, store.get_tag_dict())
66
self.assertEquals({"foo": "myoldrevid"}, store.get_tag_dict())
69
69
class TestTagMerging(TestCaseWithTransport):
71
71
def make_knit_branch(self, relpath):
72
old_bdf = controldir.format_registry.make_bzrdir('knit')
73
return controldir.ControlDir.create_branch_convenience(relpath, format=old_bdf)
72
old_bdf = bzrdir.format_registry.make_bzrdir('knit')
73
return bzrdir.BzrDir.create_branch_convenience(relpath, format=old_bdf)
75
75
def make_branch_supporting_tags(self, relpath):
76
76
return self.make_branch(relpath, format='dirstate-tags')
133
133
child = self.make_branch('child')
134
134
child.bind(master)
135
135
child.tags.set_tag('foo', 'rev-1')
136
self.assertEqual('rev-1', master.tags.lookup_tag('foo'))
136
self.assertEquals('rev-1', master.tags.lookup_tag('foo'))
137
137
# deleting a tag updates the master too
138
138
child.tags.delete_tag('foo')
139
139
self.assertRaises(errors.NoSuchTag,
144
144
master = self.make_branch('master')
145
145
master.tags.set_tag('foo', 'rev-1')
146
146
co_tree = master.create_checkout('checkout')
147
self.assertEqual('rev-1',
147
self.assertEquals('rev-1',
148
148
co_tree.branch.tags.lookup_tag('foo'))
150
150
def test_update_updates_tags(self):
155
155
child.bind(master)
157
157
# after an update, the child has all the master's tags
158
self.assertEqual('rev-1', child.tags.lookup_tag('foo'))
158
self.assertEquals('rev-1', child.tags.lookup_tag('foo'))
159
159
# add another tag and update again
160
160
master.tags.set_tag('tag2', 'target2')
162
self.assertEqual('target2', child.tags.lookup_tag('tag2'))
162
self.assertEquals('target2', child.tags.lookup_tag('tag2'))
164
164
def test_tag_deletion_from_master_to_bound(self):
165
165
master = self.make_branch('master')