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

[PATCH 2/2] doc: correct misleading descriptions for --shallow-exclude

From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Nov 4, 2024, 19:02 UTC
Message-ID
<4c7f2dba686266be50cf11420beca633e1691dd4.1730746964.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1822.git.1730746964.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>

The documentation for the --shallow-exclude option to clone/fetch/etc. claims that the option takes a revision, but it does not. As per upload-pack.c's process_deepen_not(), it passes the option to expand_ref() and dies if it does not find exactly one ref matching the name passed. Further, this has always been the case ever since these options were introduced by the commits merged in a460ea4a3cb1 (Merge branch 'nd/shallow-deepen', 2016-10-10). Fix the documentation to match the implementation.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 Documentation/fetch-options.txt  | 2 +-
 Documentation/git-clone.txt      | 2 +-
 Documentation/git-fetch-pack.txt | 2 +-
 builtin/clone.c                  | 2 +-
 builtin/fetch.c                  | 4 ++--
 builtin/pull.c                   | 4 ++--
 6 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index 9dc7ac8dbdc..b01372e4b3c 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -29,7 +29,7 @@
 	Deepen or shorten the history of a shallow repository to
 	include all reachable commits after <date>.
 
---shallow-exclude=<revision>::
+--shallow-exclude=<ref>::
 	Deepen or shorten the history of a shallow repository to
 	exclude commits reachable from a specified remote branch or tag.
 	This option can be specified multiple times.
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 116ad648201..7acb4cb1761 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -255,7 +255,7 @@ corresponding `--mirror` and `--no-tags` options instead.
 `--shallow-since=<date>`::
 	Create a shallow clone with a history after the specified time.
 
-`--shallow-exclude=<revision>`::
+`--shallow-exclude=<ref>`::
 	Create a shallow clone with a history, excluding commits
 	reachable from a specified remote branch or tag.  This option
 	can be specified multiple times.
diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt
index b3467664d30..b5223576a75 100644
--- a/Documentation/git-fetch-pack.txt
+++ b/Documentation/git-fetch-pack.txt
@@ -91,7 +91,7 @@ be in a separate packet, and the list must end with a flush packet.
 	Deepen or shorten the history of a shallow repository to
 	include all reachable commits after <date>.
 
---shallow-exclude=<revision>::
+--shallow-exclude=<ref>::
 	Deepen or shorten the history of a shallow repository to
 	exclude commits reachable from a specified remote branch or tag.
 	This option can be specified multiple times.
diff --git a/builtin/clone.c b/builtin/clone.c
index 59fcb317a68..93fe6d69659 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -147,7 +147,7 @@ static struct option builtin_clone_options[] = {
 		    N_("create a shallow clone of that depth")),
 	OPT_STRING(0, "shallow-since", &option_since, N_("time"),
 		    N_("create a shallow clone since a specific time")),
-	OPT_STRING_LIST(0, "shallow-exclude", &option_not, N_("revision"),
+	OPT_STRING_LIST(0, "shallow-exclude", &option_not, N_("ref"),
 			N_("deepen history of shallow clone, excluding rev")),
 	OPT_BOOL(0, "single-branch", &option_single_branch,
 		    N_("clone only one branch, HEAD or --branch")),
diff --git a/builtin/fetch.c b/builtin/fetch.c
index d9027e4dc92..18eff4e5fa1 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -2216,8 +2216,8 @@ int cmd_fetch(int argc,
 			   N_("deepen history of shallow clone")),
 		OPT_STRING(0, "shallow-since", &deepen_since, N_("time"),
 			   N_("deepen history of shallow repository based on time")),
-		OPT_STRING_LIST(0, "shallow-exclude", &deepen_not, N_("revision"),
-				N_("deepen history of shallow clone, excluding rev")),
+		OPT_STRING_LIST(0, "shallow-exclude", &deepen_not, N_("ref"),
+				N_("deepen history of shallow clone, excluding ref")),
 		OPT_INTEGER(0, "deepen", &deepen_relative,
 			    N_("deepen history of shallow clone")),
 		OPT_SET_INT_F(0, "unshallow", &unshallow,
diff --git a/builtin/pull.c b/builtin/pull.c
index 388ef3d1306..edc56907aa2 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -218,8 +218,8 @@ static struct option pull_options[] = {
 	OPT_PASSTHRU_ARGV(0, "shallow-since", &opt_fetch, N_("time"),
 		N_("deepen history of shallow repository based on time"),
 		0),
-	OPT_PASSTHRU_ARGV(0, "shallow-exclude", &opt_fetch, N_("revision"),
-		N_("deepen history of shallow clone, excluding rev"),
+	OPT_PASSTHRU_ARGV(0, "shallow-exclude", &opt_fetch, N_("ref"),
+		N_("deepen history of shallow clone, excluding ref"),
 		0),
 	OPT_PASSTHRU_ARGV(0, "deepen", &opt_fetch, N_("n"),
 		N_("deepen history of shallow clone"),
-- 
gitgitgadget
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 4 of 7 in “A few --shallow-exclude fixes”
  1. 0/2 A few --shallow-exclude fixesElijah Newren via GitGitGadget, Nov 4, 2024
  2. 1/2 upload-pack: fix ambiguous error messageElijah Newren via GitGitGadget, Nov 4, 2024
  3. Patrick SteinhardtNov 5, 2024
  4. 2/2 doc: correct misleading descriptions for --shallow-excludeElijah Newren via GitGitGadget, Nov 4, 2024
  5. Patrick SteinhardtNov 5, 2024
  6. Junio C HamanoNov 5, 2024
  7. Junio C HamanoNov 5, 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.