threads / bug / 59948

Possible Bug with `git commit -a` in v2.41.0

Subject: Possible Bug with `git commit -a` in v2.41.0

## tl;dr

2 messages between Jul 3, 2023 and Jul 3, 2023.

replies: 1people: 2as markdown or json

Dylan Brotherston· Jul 3, 2023, 18:18 UTC · lore
`git commit -a` is unable to remove the last file in the index in v2.41.0
 
comparing git version 2.30.2 to 2.41.0
 
```
$ git --version
git version 2.30.2
$ git init
Initialized empty Git repository in /tmp/tmp.vXqq6iVaqq/.git/
$ echo "foo" > a
$ git add a
$ git commit -m "C1"
[master (root-commit) b3abdc4] C1
 1 file changed, 1 insertion(+)
 create mode 100644 a
$ rm a
$ git commit -a -m "C2"
[master c3d4c44] C2
 1 file changed, 1 deletion(-)
 delete mode 100644 a
```
 
```
$ git --version
git version 2.41.0
$ git init
Initialized empty Git repository in /tmp/tmp.vXqq6iVaqq/.git/
$ echo "foo" > a
$ git add a
$ git commit -m "C1"
[master (root-commit) af7c07d] C1
 1 file changed, 1 insertion(+)
 create mode 100644 a
$ rm a
$ git commit -a -m "C2"
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    a
 
no changes added to commit (use "git add" and/or "git commit -a")
```
 
- Dylan Brotherston
Jeff King· Jul 3, 2023, 19:29 UTC · re: Dylan Brotherston · lore

Re: Possible Bug with `git commit -a` in v2.41.0

On Tue, Jul 04, 2023 at 04:18:42AM +1000, Dylan Brotherston wrote:
Show 19 quoted lines
> $ git init
> Initialized empty Git repository in /tmp/tmp.vXqq6iVaqq/.git/
> 
> $ echo "foo" > a
> $ git add a
> $ git commit -m "C1"
> [master (root-commit) af7c07d] C1
>  1 file changed, 1 insertion(+)
>  create mode 100644 a
> 
> $ rm a
> $ git commit -a -m "C2"
> On branch master
> Changes not staged for commit:
>   (use "git add/rm <file>..." to update what will be committed)
>   (use "git restore <file>..." to discard changes in working directory)
>         deleted:    a
> 
> no changes added to commit (use "git add" and/or "git commit -a")

Thanks for an easy reproduction recipe. I think this bug has already been fixed by 2ee045eea1 (commit -a -m: allow the top-level tree to become empty again, 2023-06-29). That's currently in 'next', and slated to merge to 'master' soon (and hopefully will make it to 'maint' for a v2.41.1 release).

-Peff

← back to recent threads