Re: [PATCH v2 3/3] scalar reconfigure: help users remove buggy repos
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 25, 2023, 18:05 UTC
- Message-ID
- <xmqqsf8780bm.fsf@gitster.g>
- In-Reply-To
- <f751dc4d-b605-43ef-8b73-082e8acd5914@github.com>
Derrick Stolee <derrickstolee@github.com> writes:
Show 31 quoted lines
> On 8/22/2023 3:45 PM, Junio C Hamano wrote:
>> "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> 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).
Show 5 quoted lines
>> - 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.