From: Phillip Wood Date: Tue, 10 Sep 2024 08:42:10 GMT Subject: Re: Re*: What's cooking draft as of 2024-09-06 late night Message-ID: <490bd831-836a-4d7e-9695-8cb50c83317d@gmail.com> In-Reply-To: On 09/09/2024 16:53, Junio C Hamano wrote: > Phillip Wood writes: > >>> The only place `skipFetchAll` is currently documented is in this large >>> master list of configs that are easy to miss — >>> https://git-scm.com/docs/git-config. >> >> We could perhaps expand the documentation of `git fetch --all` to >> mention skipFetchAll > > Like this (interdiff at the end)? That looks good to me Best Wishes Phillip > --- >8 --- > Subject: [PATCH v2] doc: remote.*.skip{DefaultUpdate,FetchAll} stops prefetch > > Back when 7cc91a2f (Add the configuration option skipFetchAll, > 2009-11-09) added for the sole purpose of adding skipFetchAll as a > synonym to skipDefaultUpdate, there was no explanation about the > reason why it was needed., but these two configuration variables > mean exactly the same thing. > > Also, when we taught the "prefetch" task to "git maintenance" later, > we did make it pay attention to the setting, but we forgot to > document it. > > Document these variables as synonyms that collectively implements > the last-one-wins semantics, and also clarify that the prefetch task > is also controlled by this variable. > > Signed-off-by: Junio C Hamano > --- > Documentation/config/remote.txt | 13 +++++++------ > Documentation/fetch-options.txt | 5 +++-- > Documentation/git-maintenance.txt | 3 +++ > 3 files changed, 13 insertions(+), 8 deletions(-) > > diff --git a/Documentation/config/remote.txt b/Documentation/config/remote.txt > index 8efc53e836..36e771556c 100644 > --- a/Documentation/config/remote.txt > +++ b/Documentation/config/remote.txt > @@ -42,14 +42,15 @@ remote..mirror:: > as if the `--mirror` option was given on the command line. > > remote..skipDefaultUpdate:: > - If true, this remote will be skipped by default when updating > - using linkgit:git-fetch[1] or the `update` subcommand of > - linkgit:git-remote[1]. > + A deprecated synonym to `remote..skipFetchAll` (if > + both are set in the configuration files with different > + values, the value of the last occurrence will be used). > > remote..skipFetchAll:: > - If true, this remote will be skipped by default when updating > - using linkgit:git-fetch[1] or the `update` subcommand of > - linkgit:git-remote[1]. > + If true, this remote will be skipped when updating > + using linkgit:git-fetch[1], the `update` subcommand of > + linkgit:git-remote[1], and ignored by the prefetch task > + of `git maitenance`. > > remote..receivepack:: > The default program to execute on the remote side when pushing. See > diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt > index e22b217fba..80838fe37e 100644 > --- a/Documentation/fetch-options.txt > +++ b/Documentation/fetch-options.txt > @@ -1,6 +1,7 @@ > --[no-]all:: > - Fetch all remotes. This overrides the configuration variable > - `fetch.all`. > + Fetch all remotes, except for the ones that has the > + `remote..skipFetchAll` configuration variable set. > + This overrides the configuration variable fetch.all`. > > -a:: > --append:: > diff --git a/Documentation/git-maintenance.txt b/Documentation/git-maintenance.txt > index 51d0f7e94b..9d96819133 100644 > --- a/Documentation/git-maintenance.txt > +++ b/Documentation/git-maintenance.txt > @@ -107,6 +107,9 @@ with the prefetch task, the objects necessary to complete a later real fetch > would already be obtained, making the real fetch faster. In the ideal case, > it will just become an update to a bunch of remote-tracking branches without > any object transfer. > ++ > +The `remote..skipFetchAll` configuration can be used to > +exclude a particular remote from getting prefetched. > > gc:: > Clean up unnecessary files and optimize the local repository. "GC" > > Interdiff: > diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt > index e22b217fba..80838fe37e 100644 > --- a/Documentation/fetch-options.txt > +++ b/Documentation/fetch-options.txt > @@ -1,6 +1,7 @@ > --[no-]all:: > - Fetch all remotes. This overrides the configuration variable > - `fetch.all`. > + Fetch all remotes, except for the ones that has the > + `remote..skipFetchAll` configuration variable set. > + This overrides the configuration variable fetch.all`. > > -a:: > --append::