Re: [PATCH v6] repository: move fetch_if_missing into struct repository

Tian Yuchen <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <[email protected]>
On 8/15/26 23:58, Junio C Hamano wrote:
> Tian Yuchen <[email protected]> writes:
> 
>> The global variable 'fetch_if_missing' controls whether a missing
>> object check should prompt a lazy fetch from a promisor remote.
>> In order to continue the libification effort, move it into
>> 'struct repository' and initialize it to 1 by default to keep the
>> previous behavior.
>>
>> builtin/fetch-pack.c, builtin/fsck.c, and builtin/rev-list.c are
>> entered via commands marked RUN_SETUP in git.c:commands[]. Their
>> 'repo' parameter is only NULL when '-h' is given outside of a
>> repository, in which case either show_usage_if_asked() or
>> parse_options()'s own '-h' handling exits the process before
>> returning. We can therefore drop their UNUSED markers and assign
>> to 'repo' directly.
>>
>> builtin/index-pack.c is entered via RUN_SETUP_GENTLY, so its
>> 'repo' pointer can be NULL any time it is run outside of a
>> repository, not only with '-h'. We keep a NULL check there and fall
>> back to 'the_repository'.
> 
> Hmph, are there legitimate situations where we run "git index-pack"
> outside a repository, or is it a user error?  Just being curious
> and not a suggestion to change the established behaviour (in other
> words, even if it turns out that it should be diagnosed as a user
> error, we shouldn't do so in the context of changing where the
> fetch_if_missing bit lives).
> 
> Other than that, this iteration looks good to me.
> 

Interesting topic. Refer to the git-index-pack documentation:

...Reads a packed archive (.pack) from the specified file, builds a pack 
index file (.idx) for it, and optionally writes a reverse-index (.rev) 
for the specified pack. The packed archive, together with the pack 
index, *can then be placed in the objects/pack/ directory of a Git 
repository*...

Does this clarify that the design intent is to operate a standalone 
.pack file, and whether or not to put it into a repository are two 
different things?

Thanks! yuchen
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.