53
53
# create a source branch
54
54
a_tree = self.make_branch_and_tree('a')
55
self.build_tree_contents([('a/a', 'initial\n')])
55
self.build_tree_contents([('a/a', b'initial\n')])
57
57
a_tree.commit(message='initial')
59
59
# clone and add a differing revision
60
b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
61
self.build_tree_contents([('b/a', 'initial\nmore\n')])
60
b_tree = a_tree.controldir.sprout('b').open_workingtree()
61
self.build_tree_contents([('b/a', b'initial\nmore\n')])
62
62
b_tree.commit(message='more')
64
64
def run_missing(args, retcode=1, working_dir=None):
155
155
self.assertEqualDiff('This branch has no new revisions.',
156
156
run_missing_a(['--mine-only'], retcode=0)[0])
157
157
self.assertEqualDiff('Other branch has no new revisions.',
158
run_missing_a(['--theirs-only'], retcode=0)[0])
158
run_missing_a(['--theirs-only'], retcode=0)[0])
160
160
def test_missing_filtered(self):
161
161
# create a source branch
162
162
a_tree = self.make_branch_and_tree('a')
163
self.build_tree_contents([('a/a', 'initial\n')])
163
self.build_tree_contents([('a/a', b'initial\n')])
165
165
a_tree.commit(message='r1')
166
166
# clone and add differing revisions
167
b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
167
b_tree = a_tree.controldir.sprout('b').open_workingtree()
169
169
for i in range(2, 6):
170
170
a_tree.commit(message='a%d' % i)
171
171
b_tree.commit(message='b%d' % i)
174
out,err = self.run_bzr('missing ../b --my-revision 3',
175
retcode=1, working_dir='a')
174
out, err = self.run_bzr('missing ../b --my-revision 3',
175
retcode=1, working_dir='a')
176
176
self.assertMessages(out, ('a3', 'b2', 'b3', 'b4', 'b5'), ('a2', 'a4'))
178
out,err = self.run_bzr('missing ../b --my-revision 3..4',
179
retcode=1, working_dir='a')
178
out, err = self.run_bzr('missing ../b --my-revision 3..4',
179
retcode=1, working_dir='a')
180
180
self.assertMessages(out, ('a3', 'a4'), ('a2', 'a5'))
183
out,err = self.run_bzr('missing ../b -r 3',
184
retcode=1, working_dir='a')
183
out, err = self.run_bzr('missing ../b -r 3',
184
retcode=1, working_dir='a')
185
185
self.assertMessages(out, ('a2', 'a3', 'a4', 'a5', 'b3'), ('b2', 'b4'))
187
out,err = self.run_bzr('missing ../b -r 3..4',
188
retcode=1, working_dir='a')
187
out, err = self.run_bzr('missing ../b -r 3..4',
188
retcode=1, working_dir='a')
189
189
self.assertMessages(out, ('b3', 'b4'), ('b2', 'b5'))
192
out,err = self.run_bzr('missing ../b --my-revision 3..4 -r 3..4',
193
retcode=1, working_dir='a')
192
out, err = self.run_bzr('missing ../b --my-revision 3..4 -r 3..4',
193
retcode=1, working_dir='a')
194
194
self.assertMessages(out, ('a3', 'a4', 'b3', 'b4'),
195
('a2', 'a5', 'b2', 'b5'))
195
('a2', 'a5', 'b2', 'b5'))
197
197
def test_missing_check_last_location(self):
198
198
# check that last location shown as filepath not file URL
207
207
location = osutils.getcwd() + '/a/'
210
b.controldir.sprout('b')
212
212
# check last location
213
213
lines, err = self.run_bzr('missing', working_dir='b')
214
self.assertEquals('Using saved parent location: %s\n'
215
'Branches are up to date.\n' % location,
217
self.assertEquals('', err)
214
self.assertEqual('Using saved parent location: %s\n'
215
'Branches are up to date.\n' % location,
217
self.assertEqual('', err)
219
219
def test_missing_directory(self):
220
220
"""Test --directory option"""
222
222
# create a source branch
223
223
a_tree = self.make_branch_and_tree('a')
224
self.build_tree_contents([('a/a', 'initial\n')])
224
self.build_tree_contents([('a/a', b'initial\n')])
226
226
a_tree.commit(message='initial')
228
228
# clone and add a differing revision
229
b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
230
self.build_tree_contents([('b/a', 'initial\nmore\n')])
229
b_tree = a_tree.controldir.sprout('b').open_workingtree()
230
self.build_tree_contents([('b/a', b'initial\nmore\n')])
231
231
b_tree.commit(message='more')
233
233
out2, err2 = self.run_bzr('missing --directory a b', retcode=1)
241
241
# create a source branch
242
242
a_tree = self.make_branch_and_tree('a')
243
self.build_tree_contents([('a/a', 'initial\n')])
243
self.build_tree_contents([('a/a', b'initial\n')])
245
245
a_tree.commit(message='initial')
247
247
# clone and add a differing revision
248
b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
249
self.build_tree_contents([('b/a', 'initial\nmore\n')])
248
b_tree = a_tree.controldir.sprout('b').open_workingtree()
249
self.build_tree_contents([('b/a', b'initial\nmore\n')])
250
250
b_tree.commit(message='more')
251
251
b_tree.branch.tags.set_tag('a-tag', b_tree.last_revision())