From: Alan Mackenzie <acm@muc.de>
To: Jim Porter <jporterbugs@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: git commit message checker won't let me commit a new file.
Date: Wed, 19 Jul 2023 09:22:06 +0000 [thread overview]
Message-ID: <ZLerPgj0DoWT9bWt@ACM> (raw)
In-Reply-To: <829deea6-a17c-47ba-104d-37a88d081a3e@gmail.com>
Hello, Jim.
Thanks for the rapid reply.
On Tue, Jul 18, 2023 at 15:05:34 -0700, Jim Porter wrote:
> On 7/18/2023 1:23 PM, Alan Mackenzie wrote:
> > Hello, Emacs.
> > I'm trying to commit a fix for bug #64642. This involves adding a new
> > test file.
> > The commit message checker says "File
> > test/src/comp-resources/comp-test-funcs-dyn2.el: cannot be read: [No
> > such file or directory]
> > Commit aborted; please see the file CONTRIBUTE"
> That's surprising. This works perfectly for me. Can you describe in more
> detail how you're committing your change? Here's what I did:
> $ git checkout -b testing
> $ echo hi > test/src/comp-resources/comp-test-funcs-dyn2.el
> $ git add test/src/comp-resources/comp-test-funcs-dyn2.el
> $ git commit
Having created the file:
$ git add test/src/comp-resources/comp-test-funcs-dyn2.el
$ git commit.
> In my editor, I add this for the commit message:
> * test/src/comp-resources/comp-test-funcs-dyn2.el: New file.
My commit message, in full, is (read from .git/COMMIT_EDITMSG:
#########################################################################
Fix native compilation in dynamically bound files.
This fixes bug#64642.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function/symbol): Add
code for dynamically bound functions.
* test/src/comp-tests.el (comp-tests-result-lambda): New test.
* test/src/comp-resources/comp-test-funcs-dyn2.el: New test
file.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is up to date with 'origin/master'.
#
# Changes to be committed:
# modified: lisp/emacs-lisp/comp.el
# new file: test/src/comp-resources/comp-test-funcs-dyn2.el
# modified: test/src/comp-tests.el
#
# Changes not staged for commit:
# modified: .gitignore
#
# Untracked files:
# .gitignore.acm
# .gitignore.backup
# .timestamps.txt
# 2021-01-03.err
# 2021-01-06.err
# 2021-12-16.make
# 2021-12-30.err
# 2021-12-31.err
# 2022-01-01.err
# 2022-01-02.check.err
# 2022-01-02.err
# 2022-01-04.err
# 2022-01-05.err
# 2022-01-06.err
# 2022-01-07.err
# 2022-01-07.outerr
# 2022-01-08.err
# 2022-01-09.err
# 2022-01-09b.err
# 2022-01-10.err
# 2022-01-11
# 2022-01-11.err
# 2022-02-22.err
# 2022-02-22.outerr
# checkout.20220228.out
# checkout.20220301.out
# checkout.20220302.out
# doc/lispref/syntax.20160318.techsi
# doc/lispref/syntax.20160318b.techsi
# lib/.deps/
# lisp/2022-01-09.err
# lisp/emacs-lisp/comp.el.rej
# src/2021-12-20.err
# src/globals.20211124.aitch
# src/lisp.20211127.aitch
# test/lisp/calendar/icalendar-tests.elcr5m9Wq
#
#########################################################################
> The commit hooks run successfully for me and don't produce any errors.
I got the error described in my first post. I tried it again this
morning with
$ git commit -F .git/COMMIT_EDITMSG
, and got just the same.
> Based on the output you see, I'm guessing the issue is in the
> `commit-msg` hook, but I don't see anything in there that would do this.
I now think it has nothing to do with the hooks. The text "No such file
or directory" doesn't appear in any of the hooks. The new file has
permissions
-rw-r--r-- 1 acm acm 1068 Jul 18 19:11 test/src/comp-resources/comp-test-funcs-dyn2.el
, which is surely OK for manipulation by git.
If I do git status, I get:
#########################################################################
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: lisp/emacs-lisp/comp.el
new file: test/src/comp-resources/comp-test-funcs-dyn2.el
modified: test/src/comp-tests.el
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .gitignore
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore.acm
.gitignore.backup
.timestamps.txt
<etc....>
#########################################################################
If I do git status --porcelain, I get:
#########################################################################
M .gitignore
M lisp/emacs-lisp/comp.el
A test/src/comp-resources/comp-test-funcs-dyn2.el
M test/src/comp-tests.el
?? .gitignore.acm
?? .gitignore.backup
?? .timestamps.txt
<etc....>
#########################################################################
I think I've got something tied in knots, somewhere, but I can't see
how.
If you've got any more ideas, I'd be grateful. Thanks!
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2023-07-19 9:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-18 20:23 git commit message checker won't let me commit a new file Alan Mackenzie
2023-07-18 22:05 ` Jim Porter
2023-07-19 9:22 ` Alan Mackenzie [this message]
2023-07-19 9:34 ` Robert Pluim
2023-07-19 11:10 ` Alan Mackenzie
2023-07-19 11:48 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZLerPgj0DoWT9bWt@ACM \
--to=acm@muc.de \
--cc=emacs-devel@gnu.org \
--cc=jporterbugs@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.