aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien+git@xlumurb.eu>2022-06-26 12:00:00 +0000
committerGuillaume Girol <symphorien+git@xlumurb.eu>2022-06-26 12:00:00 +0000
commite8109cf405d672c50b1e5a25c632ddcb1d517233 (patch)
tree3851fb5c2e24855ab12de1c43ee445b8b432e4b0
parent49c4a37efc23bf16f40e23b3722503a3678e7031 (diff)
fetchGit: document `shallow` argument
-rw-r--r--src/libexpr/primops/fetchTree.cc4
-rw-r--r--src/libfetchers/git.cc2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libexpr/primops/fetchTree.cc b/src/libexpr/primops/fetchTree.cc
index e5eeea520..84e7f5c02 100644
--- a/src/libexpr/primops/fetchTree.cc
+++ b/src/libexpr/primops/fetchTree.cc
@@ -364,6 +364,10 @@ static RegisterPrimOp primop_fetchGit({
A Boolean parameter that specifies whether submodules should be
checked out. Defaults to `false`.
+ - shallow\
+ A Boolean parameter that specifies whether fetching a shallow clone
+ is allowed. Defaults to `false`.
+
- allRefs\
Whether to fetch all refs of the repository. With this argument being
true, it's possible to load a `rev` from *any* `ref` (by default only
diff --git a/src/libfetchers/git.cc b/src/libfetchers/git.cc
index 35fdf807a..7d01aaa7a 100644
--- a/src/libfetchers/git.cc
+++ b/src/libfetchers/git.cc
@@ -574,7 +574,7 @@ struct GitInputScheme : InputScheme
bool isShallow = chomp(runProgram("git", true, { "-C", repoDir, "--git-dir", gitDir, "rev-parse", "--is-shallow-repository" })) == "true";
if (isShallow && !shallow)
- throw Error("'%s' is a shallow Git repository, but a non-shallow repository is needed", actualUrl);
+ throw Error("'%s' is a shallow Git repository, but shallow repositories are only allowed when `shallow = true;` is specified.", actualUrl);
// FIXME: check whether rev is an ancestor of ref.