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

2 messages from 2023-07-03 to 2023-07-03. Participants: Dylan Brotherston, Jeff King.
Thread: https://gitlist.dev/t/59948

## Dylan Brotherston, 2023-07-03 18:18

Subject: Possible Bug with `git commit -a` in v2.41.0
Message-ID: <ZKMRAkH1r2mQ85Ff@vx12.orchestra.cse.unsw.EDU.AU>
URL: https://gitlist.dev/e/ZKMRAkH1r2mQ85Ff%40vx12.orchestra.cse.unsw.EDU.AU

```
`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, 2023-07-03 19:29

Subject: Re: Possible Bug with `git commit -a` in v2.41.0
Message-ID: <20230703192952.GB3546592@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20230703192952.GB3546592%40coredump.intra.peff.net
In-Reply-To: <ZKMRAkH1r2mQ85Ff@vx12.orchestra.cse.unsw.EDU.AU>

```
On Tue, Jul 04, 2023 at 04:18:42AM +1000, Dylan Brotherston wrote:

> $ 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

```
