# [BUG] spurious failure when adding tracked file in ignored directory

3 messages from 2024-10-25 to 2024-10-27. Participants: Christian Sattler, Johannes Sixt.
Thread: https://gitlist.dev/t/62409

## Christian Sattler, 2024-10-25 23:30

Subject: [BUG] spurious failure when adding tracked file in ignored directory
Message-ID: <CALCpNBqfGRh3U6HpJDfUQyLOckz-hRJw2_2GRZfSFqXAyRY12g@mail.gmail.com>
URL: https://gitlist.dev/e/CALCpNBqfGRh3U6HpJDfUQyLOckz-hRJw2_2GRZfSFqXAyRY12g%40mail.gmail.com

```
Adding a tracked file in an ignored directory causes a spurious warning and
exit code 1 failure (despite actually adding the file). Example on 2.47.0:

git init
mkdir dir
touch dir/file
git add dir/file
echo dir >.gitignore
git add dir/file

The last command fails with exit code 1 and prints:

> The following paths are ignored by one of your .gitignore files:
> dir
> hint: Use -f if you really want to add them.
> hint: Disable this message with "git config advice.addIgnoredFile false"

Suppose we change dir/file before the last command.  Then after the last
command, the change is in the index, despite what the warning indicates.

- Christian

```

## Johannes Sixt, 2024-10-27 13:44

Subject: Re: [BUG] spurious failure when adding tracked file in ignored directory
Message-ID: <3701837d-d9d3-422e-82f2-567a6f832dca@kdbg.org>
URL: https://gitlist.dev/e/3701837d-d9d3-422e-82f2-567a6f832dca%40kdbg.org
In-Reply-To: <CALCpNBqfGRh3U6HpJDfUQyLOckz-hRJw2_2GRZfSFqXAyRY12g@mail.gmail.com>

```
Am 26.10.24 um 01:30 schrieb Christian Sattler:
> Adding a tracked file in an ignored directory causes a spurious warning and
> exit code 1 failure (despite actually adding the file). Example on 2.47.0:
> 
> git init
> mkdir dir
> touch dir/file
> git add dir/file
> echo dir >.gitignore
> git add dir/file
> 
> The last command fails with exit code 1 and prints:
> 
>> The following paths are ignored by one of your .gitignore files:
>> dir
>> hint: Use -f if you really want to add them.
>> hint: Disable this message with "git config advice.addIgnoredFile false"
> 
> Suppose we change dir/file before the last command.  Then after the last
> command, the change is in the index, despite what the warning indicates.

I cannot reproduce your claim "despite actually adding the file": the
file is not added. So, everything works as intended. What does `git
status` tell after `git add`?

-- Hannes


```

## Christian Sattler, 2024-10-27 14:07

Subject: Re: [BUG] spurious failure when adding tracked file in ignored directory
Message-ID: <CALCpNBoZfugMQuuDoAELxkipZjYdhznJw3XzuxDC6XGYbJ9=AA@mail.gmail.com>
URL: https://gitlist.dev/e/CALCpNBoZfugMQuuDoAELxkipZjYdhznJw3XzuxDC6XGYbJ9%3DAA%40mail.gmail.com
In-Reply-To: <3701837d-d9d3-422e-82f2-567a6f832dca@kdbg.org>

```
On Sun, 27 Oct 2024 at 14:45, Johannes Sixt <j6t@kdbg.org> wrote:
> I cannot reproduce your claim "despite actually adding the file": the
> file is not added. So, everything works as intended. What does `git
> status` tell after `git add`?

Here is the example with modifications before the add.

git init
mkdir dir
touch dir/file
git add dir/file
echo dir >.gitignore
echo content >dir/file

Output of git status:
> On branch main
>
> No commits yet
>
> Changes to be committed:
>   (use "git rm --cached <file>..." to unstage)
> new file:   dir/file

> 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:   dir/file

> Untracked files:
>   (use "git add <file>..." to include in what will be committed)
> .gitignore

git add dir/file  # fails with warning and exit code 1

Output of git status:
> On branch main
>
> No commits yet
>
> Changes to be committed:
>   (use "git rm --cached <file>..." to unstage)
> new file:   dir/file

> Untracked files:
>   (use "git add <file>..." to include in what will be committed)
> .gitignore

```
