threads / discuss / 57761

Recent changes for the unsafe directory handling - TINY improvement requested in error output

Subject: Recent changes for the unsafe directory handling - TINY improvement requested in error output

## tl;dr

3 messages between Apr 19, 2022 and Apr 20, 2022.

replies: 2people: 2as markdown or json

Nathan Neulinger· Apr 19, 2022, 11:26 UTC · lore

While I understand the need for the recent changes (even if I'd prefer they be limited to turning off any filter/script/custom alias/etc. support) - there is one piece of the new behavior that could be improved for usability:

If you do a 'git status' in the directory - you get the "helpful" response:
   root@server:/local/APPNAME/bin# git status
   fatal: unsafe repository ('/local/APPNAME' is owned by someone else)
   To add an exception for this directory, call:
   git config --global --add safe.directory /local/APPNAME

However, if you do a 'git diff' - such as what you might naturally do right before attempting a 'git commit' - you do NOT get any useful response:

   root@SERVER:/local/APPNAME/bin# git diff
   warning: Not a git repository. Use --no-index to compare two paths outside a working tree
   usage: git diff --no-index [<options>] <path> <path>
   ...snip-long-diff-help...

Please consider a small improvement to have the git diff help output (if displayed due to the repo exclusion warning) - ALSO display the 'git config' suggestion at the end of the output, instead of me having to remember - oh, go issue status to get the command hint to go set the exclusion. Would also be useful to have the git diff output do the same 'unsafe repository' message about ownership.

In case it matters for why I'm hitting this - server with various different application accounts. All maintained by a trusted list of users, but separated into different users for permissions isolation between the apps/repos/etc. Often edit/commit/etc. as other root or as other users (when facl's are being used). Running 1:2.25.1-1ubuntu3.3 on ubuntu 20.04 in case this is already addressed in upstream and just not included in ubuntu repackaging.

-- Nathan

------------------------------------------------------------ Nathan Neulinger nneul@neulinger.org Neulinger Consulting (573) 612-1412

Bagas Sanjaya· Apr 20, 2022, 06:16 UTC · re: Nathan Neulinger · lore

Re: Recent changes for the unsafe directory handling - TINY improvement requested in error output

On 4/19/22 18:26, Nathan Neulinger wrote:
Show 9 quoted lines
> However, if you do a 'git diff' - such as what you might naturally do right before attempting a 'git commit' - you do NOT get any useful response:
> 
>   root@SERVER:/local/APPNAME/bin# git diff
>   warning: Not a git repository. Use --no-index to compare two paths outside a working tree
>   usage: git diff --no-index [<options>] <path> <path>
>   ...snip-long-diff-help...
> 
> Please consider a small improvement to have the git diff help output (if displayed due to the repo exclusion warning) - ALSO display the 'git config' suggestion at the end of the output, instead of me having to remember - oh, go issue status to get the command hint to go set the exclusion. Would also be useful to have the git diff output do the same 'unsafe repository' message about ownership.
> 

I assumed that you have /local/APPNAME/bin shared by users (maybe via NFS or something else), right?

I agreed with your suggestion. Also, I think usage help for git diff in this case just add noise.

-- 
An old man doll... just what I always wanted! - Clara
Nathan Neulinger· Apr 20, 2022, 13:29 UTC · re: Bagas Sanjaya · lore

Re: Recent changes for the unsafe directory handling - TINY improvement requested in error output

On 4/20/22 01:16, Bagas Sanjaya wrote:
Show 13 quoted lines
> On 4/19/22 18:26, Nathan Neulinger wrote:
>> However, if you do a 'git diff' - such as what you might naturally do right before attempting a 'git commit' - you do NOT get any useful response:
>>
>>    root@SERVER:/local/APPNAME/bin# git diff
>>    warning: Not a git repository. Use --no-index to compare two paths outside a working tree
>>    usage: git diff --no-index [<options>] <path> <path>
>>    ...snip-long-diff-help...
>>
>> Please consider a small improvement to have the git diff help output (if displayed due to the repo exclusion warning) - ALSO display the 'git config' suggestion at the end of the output, instead of me having to remember - oh, go issue status to get the command hint to go set the exclusion. Would also be useful to have the git diff output do the same 'unsafe repository' message about ownership.
>>
> 
> I assumed that you have /local/APPNAME/bin shared by users (maybe via
> NFS or something else), right?

Actually, each /local/APPUSER is the base of the clone - dev environment on master/main, test env on 'test' and prod env on 'production'.

Depending on the deployment we're either logging in directly as the application, or as common or admin accounts that have access over multiple application directory trees. The applications themselves each have their own userid for permissions isolation.

-- Nathan ------------------------------------------------------------ Nathan Neulinger nneul@neulinger.org Neulinger Consulting (573) 612-1412

← back to recent threads