Derrick Stolee <derrickstolee@xxxxxxxxxx> writes: > On 8/22/2023 3:45 PM, Junio C Hamano wrote: >> "Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > >>> + switch (discover_git_directory_reason(&commondir, &gitdir)) { >>> + case GIT_DIR_INVALID_OWNERSHIP: >>> + warning(_("repository at '%s' has different owner"), dir); >>> + goto loop_end; >>> + >>> + case GIT_DIR_DISCOVERED: >>> + succeeded = 1; >>> + break; >>> + >>> + default: >>> + warning(_("repository not found in '%s'"), dir); >>> + break; >> >> Among the error cases, INVALID_OWNERSHIP is one of the possibilities >> that merits specialized message to the end-user. I wonder if others >> also deserve to be explained, though. > > The specific choice of GIT_DIR_INVALID_OWNERSHIP is singled out > because it's a new-ish reason and is the most confusing to users > when things fail for this reason. > >> - HIT_CEILING and HIT_MOUNT_POINT will happen when there is no >> usable repository between "dir" and the specified ceiling. > > These are basically "didn't find a Git repo" but there are different > reasons why Git stopped looking. I'm not sure there is something more > valuable to indicate here than the "repository not found" message > that already exists. OK. I just know that "not found" will be greeted by "stupid Git, if you go one level up, there is a .git/ directory!", now we have many users than we used to have and people forget what they configured. But I think it would apply much less to users who see "repository not found" in the "scalar reconfigure" than ones who manually created a repository, and then forgot that they shuffled the disks around with cross mounting. So I agree with you that it is not essential to mention these reasons in this codepath (and setup_git_directory() does have a reasonable message for at least the mount-point case that covers the more general case). >> - INVALID_GITFILE and INVALID_FORMAT are signs of some repository >> corruption. > > I can add a message for this kind of error, which seems helpful to > point out to a user. Maybe. We can do that in a follow-up topic separately. Thanks.