From 46dafadff58da0220511f20480b73ad09f913430 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Mon, 10 Aug 2015 16:00:40 +0200 Subject: repoman commit: Prefix commit message template with cat/PN Reviewed-by: Brian Dolbec --- bin/repoman | 9 +++++++-- pym/repoman/utilities.py | 7 +++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bin/repoman b/bin/repoman index 7cb32ce93..1ba784110 100755 --- a/bin/repoman +++ b/bin/repoman @@ -2696,16 +2696,21 @@ else: # We've read the content so the file is no longer needed. commitmessagefile = None if not commitmessage or not commitmessage.strip(): + msg_prefix = "" + if repolevel > 1: + msg_prefix = "/".join(reposplit[1:]) + ": " + try: editor = os.environ.get("EDITOR") if editor and utilities.editor_is_executable(editor): commitmessage = utilities.get_commit_message_with_editor( - editor, message=qa_output) + editor, message=qa_output, prefix=msg_prefix) else: commitmessage = utilities.get_commit_message_with_stdin() except KeyboardInterrupt: exithandler() - if not commitmessage or not commitmessage.strip(): + if (not commitmessage or not commitmessage.strip() + or commitmessage.strip() == msg_prefix): print("* no commit message? aborting commit.") sys.exit(1) commitmessage = commitmessage.rstrip() diff --git a/pym/repoman/utilities.py b/pym/repoman/utilities.py index b9594a796..f2d5fd8dd 100644 --- a/pym/repoman/utilities.py +++ b/pym/repoman/utilities.py @@ -399,7 +399,7 @@ def editor_is_executable(editor): return os.access(filename, os.X_OK) and os.path.isfile(filename) -def get_commit_message_with_editor(editor, message=None): +def get_commit_message_with_editor(editor, message=None, prefix=""): """ Execute editor with a temporary file as it's argument and return the file content afterwards. @@ -408,13 +408,16 @@ def get_commit_message_with_editor(editor, message=None): @type: string @param message: An iterable of lines to show in the editor. @type: iterable + @param prefix: Suggested prefix for the commit message summary line. + @type: string @rtype: string or None @return: A string on success or None if an error occurs. """ fd, filename = mkstemp() try: os.write(fd, _unicode_encode(_( - "\n# Please enter the commit message " + \ + prefix + + "\n\n# Please enter the commit message " + \ "for your changes.\n# (Comment lines starting " + \ "with '#' will not be included)\n"), encoding=_encodings['content'], errors='backslashreplace')) -- cgit v1.2.3-65-gdbad