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

[PATCH 2/3] fetch: document the --negotiate-only option

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 30, 2021, 16:38 UTC
Message-ID
<patch-2.3-7ff734ed70a-20210630T163329Z-avarab@gmail.com>
In-Reply-To
<cover-0.3-00000000000-20210630T163329Z-avarab@gmail.com>

There was no documentation for the --negotiate-only option added in 9c1e657a8fd (fetch: teach independent negotiation (no packfile), 2021-05-04), only documentation for the related push.negotiation option added in the following commit in 477673d6f39 (send-pack: support push negotiation, 2021-05-04).

Let's document it, and update the cross-linking I'd added between --negotiation-tip=* and 'fetch.negotiationAlgorithm' in 526608284a7 (fetch doc: cross-link two new negotiation options, 2018-08-01).

I think it would be better to say "in common with the remote" here than "...the server", but the documentation for --negotiation-tip=* above this talks about "the server", so let's continue doing that in this related option. See 3390e42adb3 (fetch-pack: support negotiation tip whitelist, 2018-07-02) for that documentation.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/config/fetch.txt  |  3 ++-
 Documentation/fetch-options.txt | 13 +++++++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/Documentation/config/fetch.txt b/Documentation/config/fetch.txt
index 6af6f5edb27..63748c02b72 100644
--- a/Documentation/config/fetch.txt
+++ b/Documentation/config/fetch.txt
@@ -69,7 +69,8 @@ fetch.negotiationAlgorithm::
 	setting defaults to "skipping".
 	Unknown values will cause 'git fetch' to error out.
 +
-See also the `--negotiation-tip` option for linkgit:git-fetch[1].
+See also the `--negotiate-only` and `--negotiation-tip` options to
+linkgit:git-fetch[1].
 
 fetch.showForcedUpdates::
 	Set to false to enable `--no-show-forced-updates` in
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index 9e7b4e189ce..e967ff1874c 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -62,8 +62,17 @@ The argument to this option may be a glob on ref names, a ref, or the (possibly
 abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying
 this option multiple times, one for each matching ref name.
 +
-See also the `fetch.negotiationAlgorithm` configuration variable
-documented in linkgit:git-config[1].
+See also the `fetch.negotiationAlgorithm` and `push.negotiate`
+configuration variables documented in linkgit:git-config[1], and the
+`--negotiate-only` option below.
+
+--negotiate-only::
+	Do not fetch anything from the server, and instead print the
+	ancestors of the provided `--negotiation-tip=*` arguments,
+	which we have in common with the server.
++
+Internally this is used to implement the `push.negotiate` option, see
+linkgit:git-config[1].
 
 --dry-run::
 	Show what would be done, without making any changes.
-- 
2.32.0.619.g53a98c35da0
Previous: Jonathan TanNext: Ævar Arnfjörð Bjarmason
Message 5 of 9 in “fetch: fix segfault, missing docs in --negotiate-only”
  1. 0/3 fetch: fix segfault, missing docs in --negotiate-onlyÆvar Arnfjörð Bjarmason, Jun 30, 2021
  2. 1/3 send-pack.c: move "no refs in common" abort earlierÆvar Arnfjörð Bjarmason, Jun 30, 2021
  3. 3/3 fetch: fix segfault in --negotiate-only without --negotiation-tip=*Ævar Arnfjörð Bjarmason, Jun 30, 2021
  4. Jonathan TanJun 30, 2021
  5. 2/3 fetch: document the --negotiate-only optionÆvar Arnfjörð Bjarmason, Jun 30, 2021
  6. 0/3 fetch: fix segfault, missing docs in --negotiate-onlyÆvar Arnfjörð Bjarmason, Jul 8, 2021
  7. 1/3 send-pack.c: move "no refs in common" abort earlierÆvar Arnfjörð Bjarmason, Jul 8, 2021
  8. 2/3 fetch: document the --negotiate-only optionÆvar Arnfjörð Bjarmason, Jul 8, 2021
  9. 3/3 fetch: fix segfault in --negotiate-only without --negotiation-tip=*Ævar Arnfjörð Bjarmason, Jul 8, 2021

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.