From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id B88071386F1 for ; Mon, 10 Aug 2015 14:06:46 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EBD47E085C; Mon, 10 Aug 2015 14:06:43 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 67891E0858 for ; Mon, 10 Aug 2015 14:06:43 +0000 (UTC) Received: from pomiot.local (unknown [81.219.202.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 5EAAC3408EC; Mon, 10 Aug 2015 14:06:41 +0000 (UTC) From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= To: gentoo-portage-dev@lists.gentoo.org Cc: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Subject: [gentoo-portage-dev] [PATCH] repoman commit: Prefix commit message template with cat/PN Date: Mon, 10 Aug 2015 16:06:31 +0200 Message-Id: <1439215591-6047-1-git-send-email-mgorny@gentoo.org> X-Mailer: git-send-email 2.5.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org X-Archives-Salt: 3af62b8f-9462-4962-a0c4-025ee58d4d3a X-Archives-Hash: 71bf3a7741456753b47ae1a3cd51a991 --- bin/repoman | 9 +++++++-- pym/repoman/utilities.py | 7 +++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bin/repoman b/bin/repoman index 7cb32ce..1ba7841 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 b9594a7..f2d5fd8 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')) -- 2.5.0