From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: New Git hooks for checking file names in commit messages Date: Fri, 21 Apr 2023 13:57:22 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40035"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Jim Porter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 21 15:58:23 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pprHK-000AJK-RO for ged-emacs-devel@m.gmane-mx.org; Fri, 21 Apr 2023 15:58:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pprGc-0007Lq-KI; Fri, 21 Apr 2023 09:57:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pprGa-0007Kw-63 for emacs-devel@gnu.org; Fri, 21 Apr 2023 09:57:36 -0400 Original-Received: from mx3.muc.de ([193.149.48.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pprGY-0001XM-8g for emacs-devel@gnu.org; Fri, 21 Apr 2023 09:57:35 -0400 Original-Received: (qmail 63037 invoked by uid 3782); 21 Apr 2023 15:57:23 +0200 Original-Received: from acm.muc.de (pd953a6f7.dip0.t-ipconnect.de [217.83.166.247]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 21 Apr 2023 15:57:22 +0200 Original-Received: (qmail 7783 invoked by uid 1000); 21 Apr 2023 13:57:22 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.5; envelope-from=acm@muc.de; helo=mx3.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:305545 Archived-At: Hello, Jim. On Thu, Apr 20, 2023 at 21:55:15 -0700, Jim Porter wrote: [ .... ] > There's one part that might be surprising, at least initially though: > while this is a hook to check commit messages, it actually runs in the > post-commit and pre-push phases. This is because we want to examine > the full diff of the commit in order to compare against the file > entries in the message.[1] As a result, you'll just get an advisory > message when you make the commit (it's too late to error out), and the > pre-push hook will prevent you from pushing a badly-formatted commit > message upstream. How is this helpful? Telling somebody they've made a mistake is only helpful if they can correct it. If "it's too late to error out", it will just create annoyance. Immediately after such a commit it is possible to use $ git commit --amend, but not later. And preventing people from pushing these erroneous commits is, again, not helpful. It will likely take more work, in total, somehow to correct these errors (how?) than it took Eli to correct all the commit message mistakes for the Emacs-29.1 pretest release. I don't understand why the checking of the commit message isn't done in the commit-msg hook. [ .... ] > [1] It's hard to do this during the commit-msg hook since there's no > cross-platform way I know of to handle amending commits properly. I don't understand this bit. Why does the lack of a way of amending commits make it difficult to error out from the commit-msg hook? What am I missing? -- Alan Mackenzie (Nuremberg, Germany).