93
93
# There was an error in error reporting for this option
94
94
out, err = self.run_bzr('diff --prefix old/', retcode=3)
95
95
self.assertContainsRe(err,
96
'--prefix expects two values separated by a colon')
96
'--prefix expects two values separated by a colon')
98
98
def test_diff_p1(self):
99
99
"""diff -p1 produces lkml-style diffs"""
133
133
self.make_example_branch()
134
134
out, err = self.run_bzr('diff does-not-exist', retcode=3,
135
error_regexes=('not versioned.*does-not-exist',))
135
error_regexes=('not versioned.*does-not-exist',))
137
137
def test_diff_illegal_revision_specifiers(self):
138
138
out, err = self.run_bzr('diff -r 1..23..123', retcode=3,
139
error_regexes=('one or two revision specifiers',))
139
error_regexes=('one or two revision specifiers',))
141
141
def test_diff_using_and_format(self):
142
142
out, err = self.run_bzr('diff --format=default --using=mydi', retcode=3,
143
error_regexes=('are mutually exclusive',))
143
error_regexes=('are mutually exclusive',))
145
145
def test_diff_nonexistent_revision(self):
146
146
out, err = self.run_bzr('diff -r 123', retcode=3,
147
error_regexes=("Requested revision: '123' does not "
148
"exist in branch:",))
147
error_regexes=("Requested revision: '123' does not "
148
"exist in branch:",))
150
150
def test_diff_nonexistent_dotted_revision(self):
151
151
out, err = self.run_bzr('diff -r 1.1', retcode=3)
152
152
self.assertContainsRe(err,
153
"Requested revision: '1.1' does not exist in branch:")
153
"Requested revision: '1.1' does not exist in branch:")
155
155
def test_diff_nonexistent_dotted_revision_change(self):
156
156
out, err = self.run_bzr('diff -c 1.1', retcode=3)
157
157
self.assertContainsRe(err,
158
"Requested revision: '1.1' does not exist in branch:")
158
"Requested revision: '1.1' does not exist in branch:")
160
160
def test_diff_unversioned(self):
161
161
# Get an error when diffing a non-versioned file.
174
174
branch1_tree.add('file')
175
175
branch1_tree.add('file2')
176
176
branch1_tree.commit(message='add file and file2')
177
branch2_tree = branch1_tree.controldir.sprout('branch2').open_workingtree()
177
branch2_tree = branch1_tree.controldir.sprout(
178
'branch2').open_workingtree()
178
179
self.build_tree_contents([('branch2/file', b'new content\n')])
179
180
branch2_tree.commit(message='update file')
180
181
return branch1_tree, branch2_tree
313
314
def show_diff(self, specific_files, extra_trees=None):
314
315
self.to_file.write("BOO!\n")
315
316
return super(BooDiffTree, self).show_diff(specific_files,
318
319
diff_format_registry.register("boo", BooDiffTree, "Scary diff format")
319
320
self.addCleanup(diff_format_registry.remove, "boo")
411
412
self.make_example_branch()
412
413
self.build_tree_contents([('hello', b'Foo\n')])
413
414
out, err = self.run_bzr('diff --diff-options -i --using diff',
415
416
self.assertEqual("=== modified file 'hello'\n", out)
416
417
self.assertEqual('', err)