# Change in behavior of included safe.directory in system config

3 messages from 2022-10-21 to 2022-10-21. Participants: Yehuda Katz, Junio C Hamano, Jeff King.
Thread: https://gitlist.dev/t/58663

## Yehuda Katz, 2022-10-21 05:19

Subject: Change in behavior of included safe.directory in system config
Message-ID: <CAGBAQ45f6D=XsyiOmumpAnE+OxQpuZXhMsVegrHKsxaN5mc3eQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAGBAQ45f6D%3DXsyiOmumpAnE%2BOxQpuZXhMsVegrHKsxaN5mc3eQ%40mail.gmail.com

```
There seems to be some change in behavior, either to included files or
to safe.directory between Git 2.36.0 and 2.38.0. I don't see any
explanation in the release notes.
I push out a system configuration with a configuration management tool
which is why it is in a separate file.
If I put the safe.directory configuration in the main system config,
it works. I don't understand why this is because the value is still
shown when running a config list.

Basic config:
[root@myhost myproject]# pwd
/opt/myproject
[root@myhost myproject]# cat /etc/gitconfig
[include]
        path = /etc/gitconfig.d/myproject
[root@myhost myproject]# cat /etc/gitconfig.d/myproject
[safe]
        directory = /opt/myproject

With the old version:
[root@myhost myproject]# git --version
git version 2.36.0
[root@myhost myproject]# git config --list --show-scope
system  include.path=/etc/gitconfig.d/myproject
system  safe.directory=/opt/myproject
local   core.repositoryformatversion=0
local   core.filemode=true
local   core.bare=false
local   core.logallrefupdates=true
local   remote.origin.url=git@gitlab.example.com:me/myproject.git
local   remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
local   branch.master.remote=origin
local   branch.master.merge=refs/heads/master
[root@myhost myproject]# git pull
Already up to date.
[root@myhost myproject]#

After the upgrade:
[root@myhost myproject]# git --version
git version 2.38.0
[root@myhost myproject]# git config --list --show-scope
system  include.path=/etc/gitconfig.d/puppet
system  safe.directory=/opt/myproject
[root@myhost myproject]# git pull
fatal: detected dubious ownership in repository at '/opt/myproject'
To add an exception for this directory, call:

        git config --global --add safe.directory /opt/myproject
[root@myhost myproject]#

```

## Junio C Hamano, 2022-10-21 05:52

Subject: Re: Change in behavior of included safe.directory in system config
Message-ID: <xmqqzgdpoh9l.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqzgdpoh9l.fsf%40gitster.g
In-Reply-To: <CAGBAQ45f6D=XsyiOmumpAnE+OxQpuZXhMsVegrHKsxaN5mc3eQ@mail.gmail.com>

```
Yehuda Katz <yehuda@ymkatz.net> writes:

> There seems to be some change in behavior, either to included files or
> to safe.directory between Git 2.36.0 and 2.38.0. I don't see any
> explanation in the release notes.
>
> I push out a system configuration with a configuration management tool
> which is why it is in a separate file.
> If I put the safe.directory configuration in the main system config,
> it works. I don't understand why this is because the value is still
> shown when running a config list.
>
> Basic config:
> [root@myhost myproject]# pwd
> /opt/myproject
> [root@myhost myproject]# cat /etc/gitconfig
> [include]
>         path = /etc/gitconfig.d/myproject

Is this

  https://lore.kernel.org/git/pull.1360.v2.git.git.1665683027912.gitgitgadget@gmail.com/

perhaps?  Can you try the version of Git from my 'next' branch?

```

## Jeff King, 2022-10-21 05:56

Subject: Re: Change in behavior of included safe.directory in system config
Message-ID: <Y1I0e4puVn0EQHbM@coredump.intra.peff.net>
URL: https://gitlist.dev/e/Y1I0e4puVn0EQHbM%40coredump.intra.peff.net
In-Reply-To: <CAGBAQ45f6D=XsyiOmumpAnE+OxQpuZXhMsVegrHKsxaN5mc3eQ@mail.gmail.com>

```
On Fri, Oct 21, 2022 at 01:19:12AM -0400, Yehuda Katz wrote:

> There seems to be some change in behavior, either to included files or
> to safe.directory between Git 2.36.0 and 2.38.0. I don't see any
> explanation in the release notes.

It's a bug; see:

  https://lore.kernel.org/git/pull.1360.git.git.1665603814.gitgitgadget@gmail.com/

I expect the fix there will be in 2.38.2 (it didn't get into v2.38.1,
which was a pre-planned security release).

-Peff

```
