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