Rev 5139: Review feedback: add comment about return value and an additional test. in http://bazaar.launchpad.net/~lifeless/bzr/commit
Robert Collins
robertc at robertcollins.net
Wed Apr 7 23:22:28 BST 2010
At http://bazaar.launchpad.net/~lifeless/bzr/commit
------------------------------------------------------------
revno: 5139
revision-id: robertc at robertcollins.net-20100407222227-a5el12vho6d33ndx
parent: robertc at robertcollins.net-20100407005056-wl0vsz9uietffpy8
committer: Robert Collins <robertc at robertcollins.net>
branch nick: commit
timestamp: Thu 2010-04-08 08:22:27 +1000
message:
Review feedback: add comment about return value and an additional test.
=== modified file 'bzrlib/msgeditor.py'
--- a/bzrlib/msgeditor.py 2010-04-07 00:50:56 +0000
+++ b/bzrlib/msgeditor.py 2010-04-07 22:22:27 +0000
@@ -152,6 +152,9 @@
if edited_content == reference_content:
if not ui.ui_factory.get_boolean(
"Commit message was not edited, use anyway"):
+ # Returning "" makes cmd_commit raise 'empty commit message
+ # specified' which is a reasonable error, given the user has
+ # rejected using the unedited template.
return ""
started = False
msg = []
=== modified file 'bzrlib/tests/blackbox/test_commit.py'
--- a/bzrlib/tests/blackbox/test_commit.py 2010-04-07 00:50:56 +0000
+++ b/bzrlib/tests/blackbox/test_commit.py 2010-04-07 22:22:27 +0000
@@ -675,7 +675,7 @@
self.assertContainsRe(err,
r'^bzr: ERROR: Cannot lock.*readonly transport')
- def test_commit_hook_template(self):
+ def setup_editor(self):
# Test that commit template hooks work
if sys.platform == "win32":
f = file('fed.bat', 'w')
@@ -688,11 +688,25 @@
f.close()
os.chmod('fed.sh', 0755)
osutils.set_or_unset_env('BZR_EDITOR', "./fed.sh")
+
+ def setup_commit_with_template(self):
+ self.setup_editor()
msgeditor.hooks.install_named_hook("commit_message_template",
lambda commit_obj, msg: "save me some typing\n", None)
tree = self.make_branch_and_tree('tree')
self.build_tree(['tree/hello.txt'])
tree.add('hello.txt')
+ return tree
+
+ def test_commit_hook_template_accepted(self):
+ tree = self.setup_commit_with_template()
out, err = self.run_bzr("commit tree/hello.txt", stdin="y\n")
last_rev = tree.branch.repository.get_revision(tree.last_revision())
self.assertEqual('save me some typing\n', last_rev.message)
+
+ def test_commit_hook_template_rejected(self):
+ tree = self.setup_commit_with_template()
+ expected = tree.last_revision()
+ out, err = self.run_bzr_error(["empty commit message"],
+ "commit tree/hello.txt", stdin="n\n")
+ self.assertEqual(expected, tree.last_revision())
More information about the bazaar-commits
mailing list