git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Re*: What's cooking draft as of 2024-09-06 late night

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 9, 2024, 15:53 UTC
Message-ID
<xmqqseu8u8m0.fsf@gitster.g>
In-Reply-To
<125aab1b-d017-45c1-b93c-ee43fef9bd71@gmail.com>
Phillip Wood <phillip.wood123@gmail.com> writes:
Show 6 quoted lines
>> 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)?
--- >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 <gitster@pobox.com>
---
 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.<name>.mirror::
 	as if the `--mirror` option was given on the command line.
 
 remote.<name>.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.<name>.skipFetchAll` (if
+	both are set in the configuration files with different
+	values, the value of the last occurrence will be used).
 
 remote.<name>.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.<name>.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.<name>.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.<name>.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.<name>.skipFetchAll` configuration variable set.
  +	This overrides the configuration variable fetch.all`.
   
   -a::
   --append::
-- 
2.46.0-694-g7ca3d1f4f8
Previous: Phillip WoodNext: Phillip Wood
Message 6 of 9 in “What's cooking draft as of 2024-09-06 late night”
  1. Junio C HamanoSep 7, 2024
  2. Phillip WoodSep 7, 2024
  3. Re*: What's cooking draft as of 2024-09-06 late nightJunio C Hamano, Sep 7, 2024
  4. Shubham KanodiaSep 7, 2024
  5. Phillip WoodSep 9, 2024
  6. Junio C HamanoSep 9, 2024
  7. Phillip WoodSep 10, 2024
  8. Junio C HamanoSep 10, 2024
  9. Phillip WoodSep 9, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.