Thread (30 messages) 30 messages, 3 authors, 2d ago

Re: [RFC PATCH v2 3/4] setup: introduce new helper 'is_git_directory_verbose'

flat view

From: Kaartic Sivaraam <hidden>
Date: 2026-10-28 11:57:12

On 10/1/26 00:02, Junio C Hamano wrote:
Kaartic Sivaraam [off-list ref] writes:
quoted
Introduce a new helper is_git_directory_verbose() as a
counterpart to the existing is_git_directory().

is_git_directory_verbose() also populates an optional
string strbuf with reasoning around why the given suspect
is not a valid git directory. This strbuf in turn can be
used to improve the error reporting which is currently blunt:

   fatal: not a git repository

This is not helpful as the user does not get any hint about "why"
the repository is not considered valid.
I suspect that it is much less the failure to report the reason that
may confuse users than the failure to report which directory was
inspected and why we picked that directory.  Once we make it clear
which directory was used as the repository to run the Git operation
the user specified, they can visit the directory themselves and see
that there is no HEAD, etc.  The user may have a leftover GIT_DIR in
the environment that is interfering with their operation without
their remembering they still had it, for example.  For this reason,
I am not so enthused to see this much code churn to tell the user
the subtle differences among a dangling symlink HEAD, a HEAD
pointing outside refs, and a missing HEAD.

What would be preferable is a much less invasive patch that reports
which path was assumed to be the repository and where it came from
(among GIT_DIR, auto-discovery stopped at GIT_CEILING_DIRECTORIES,
etc.).  It would help the user figure out why the directory they
thought was the Git directory is not what the git binary inspected.

This patch does report which path we thought HEAD should be at in its
messages, but does not explain where that assumption came from,
unlike the verification of the objects/ directory, which mentions the
environment variable if it is involved.  This feels uneven.
Thank you for your insights and excuse the delay. I have tried to take this into consideration and just sent a v3. Kindly check the same and let me know your thoughts.

  v3: <20261028115412.169748-1-kaartic.sivaraam@gmail.com/>

-- 
Sivaraam
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help