[MERGE][Take Five] Show the diff in the commit messages
Aaron Bentley
aaron.bentley at utoronto.ca
Thu Aug 16 17:15:41 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
bb:resubmit
We seem to be finished with code fixes, but there are a lot of style
issues: indenting, long lines.
Goffredo Baroncelli wrote:
> Sorry for the two post, but there was another small clean up to do
> === modified file 'bzrlib/builtins.py'
> --- bzrlib/builtins.py 2007-08-09 15:19:06 +0000
> +++ bzrlib/builtins.py 2007-08-13 17:19:39 +0000
> @@ -2197,6 +2197,9 @@
> "the master branch until a normal commit "
> "is performed."
> ),
> + Option('show-diff',
> + help='When no message is supplied, show the diff along'
> + ' with the status summary in the message editor.'),
> ]
> aliases = ['ci', 'checkin']
>
> @@ -2223,12 +2226,13 @@
> return '\n'.join(properties)
>
> def run(self, message=None, file=None, verbose=True, selected_list=None,
> - unchanged=False, strict=False, local=False, fixes=None):
> + unchanged=False, strict=False, local=False, fixes=None,
> + show_diff=False):
> from bzrlib.commit import (NullCommitReporter, ReportCommitToLog)
> from bzrlib.errors import (PointlessCommit, ConflictsInTree,
> StrictCommitFailed)
> - from bzrlib.msgeditor import edit_commit_message, \
> - make_commit_message_template
> + from bzrlib.msgeditor import edit_commit_message_encoded, \
> + make_commit_message_template_encoded
^^^ These should be parenthisized, e.g.
from bzrlib.msgeditor import (edit_commit_message,
make_commit_message_template)
> # TODO: Need a blackbox test for invoking the external editor; may be
> # slightly problematic to run this cross-platform.
> @@ -2256,14 +2260,18 @@
> """Callback to get commit message"""
> my_message = message
> if my_message is None and not file:
> - template = make_commit_message_template(tree, selected_list)
> - my_message = edit_commit_message(template)
> + template = make_commit_message_template_encoded(tree, selected_list,
> + diff=show_diff,
> + output_encoding=bzrlib.user_encoding)
^^^ indenting here is wrong. It should line up with "tree", or else be
indented 4 spaces from "template". Also, you've exceeded 79 chars.
> + elif (my_message and file ) or \
> + (my_message and show_diff ) or \
> + (file and show_diff ):
^^^ Again, you can use parentheses to avoid \
I agree that it would be nice to just ignore show_diff if -m or --file
is speficifed.
>
> extra_trees
> If set, more Trees to use for looking up file ids
> +
> + path_encoding
> + If set, the path will be encoded as specified
^^^ It should say that encoding is always done, and is utf-8 by default.
This makes it sound like no encoding will be done if the path_encoding
isn't specified.
> @@ -436,7 +441,9 @@
> has_changes = 0
> for path, file_id, kind in delta.removed:
> has_changes = 1
> - print >>to_file, "=== removed %s '%s'" % (kind, path.encode('utf8'))
> + print >>to_file, "=== removed %s '%s'" % (kind,
> + path.encode(path_encoding,
> + "replace"))
^^^ fix indenting
> - print >>to_file, "=== added %s '%s'" % (kind, path.encode('utf8'))
> + print >>to_file, "=== added %s '%s'" % (kind, path.encode(path_encoding,
> + "replace"))
^^^ fix indenting
> @@ -456,8 +464,8 @@
> has_changes = 1
> prop_str = get_prop_change(meta_modified)
> print >>to_file, "=== renamed %s '%s' => %r%s" % (
> - kind, old_path.encode('utf8'),
> - new_path.encode('utf8'), prop_str)
> + kind, old_path.encode(path_encoding, "replace"),
> + new_path.encode(path_encoding, "replace"), prop_str)
^^^ old indenting is wrong. Please fix, since you're modifying.
> @@ -470,8 +478,10 @@
> for path, file_id, kind, text_modified, meta_modified in delta.modified:
> has_changes = 1
> prop_str = get_prop_change(meta_modified)
> - print >>to_file, "=== modified %s '%s'%s" % (kind, path.encode('utf8'),
> - prop_str)
> + print >>to_file, "=== modified %s '%s'%s" % (kind,
> + path.encode(path_encoding,
> + "replace"),
> + prop_str)
^^^ Please fix indenting.
> +def make_commit_message_template_encoded(working_tree, specific_files,
> + diff=None,
> + output_encoding=None):
> + """Prepare a template file for a commit into a branch.
> +
> + Returns an encoded string.
> + """
> + # TODO: Should probably be given the WorkingTree not the branch
^^^ please remove TODO
> === modified file 'bzrlib/tests/test_msgeditor.py'
> --- bzrlib/tests/test_msgeditor.py 2007-05-01 09:09:18 +0000
> +++ bzrlib/tests/test_msgeditor.py 2007-07-26 22:38:49 +0000
> @@ -52,6 +52,35 @@
> hell\u00d8
> """)
>
> + def test_commit_template_encoded(self):
> + """Test building a commit message template"""
> + working_tree = self.make_uncommitted_tree()
> + template = bzrlib.msgeditor.make_commit_message_template_encoded(working_tree,
> + None,
> + output_encoding='utf8')
> + self.assertEqualDiff(template,
^^^ fix indenting, line exceeds 79 chars
> + def test_commit_template_and_diff(self):
> + """Test building a commit message template"""
> + working_tree = self.make_uncommitted_tree()
> + template = bzrlib.msgeditor.make_commit_message_template_encoded(working_tree,
> + None, diff=True,
> + output_encoding='utf8')
^^^ fix indenting
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGxHgt0F+nu1YWqI0RAvxfAJ9u0d84LL3qatXWpvPRUIFfFAiuegCfTFOR
foei9mX996cVvQeMM8YEF3M=
=ldTg
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list