summaryrefslogtreecommitdiffstats
path: root/pkgs/build-support/fetchgit/nix-prefetch-git
diff options
context:
space:
mode:
authorWinter <winter@winter.cafe>2022-08-04 15:26:03 -0400
committerRick van Schijndel <Mindavi@users.noreply.github.com>2022-08-14 23:03:07 +0200
commitdbd18a63a7e8bb59efa9e556241786ac2169033a (patch)
treedf645807f0065b6c3d21ac78cba20406b7fa27e5 /pkgs/build-support/fetchgit/nix-prefetch-git
parent989b7550e6f2b65230f64233a0216cce4ec6ddf8 (diff)
fetchgit: allow disabling cone mode for sparse checkouts, fix test
Diffstat (limited to 'pkgs/build-support/fetchgit/nix-prefetch-git')
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git4
1 files changed, 3 insertions, 1 deletions
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 4e6f25b8dd7d..9c2048066ce4 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -49,6 +49,7 @@ Options:
--hash h Expected hash.
--branch-name Branch name to check out into
--sparse-checkout Only fetch and checkout part of the repository.
+ --non-cone-mode Use non-cone mode for sparse checkouts.
--deepClone Clone the entire repository.
--no-deepClone Make a shallow clone of just the required ref.
--leave-dotGit Keep the .git directories.
@@ -77,6 +78,7 @@ for arg; do
--branch-name) argfun=set_branchName;;
--deepClone) deepClone=true;;
--sparse-checkout) argfun=set_sparseCheckout;;
+ --non-cone-mode) nonConeMode=true;;
--quiet) QUIET=true;;
--no-deepClone) deepClone=;;
--leave-dotGit) leaveDotGit=true;;
@@ -116,7 +118,7 @@ init_remote(){
clean_git remote add origin "$url"
if [ -n "$sparseCheckout" ]; then
git config remote.origin.partialclonefilter "blob:none"
- echo "$sparseCheckout" | git sparse-checkout set --stdin
+ echo "$sparseCheckout" | git sparse-checkout set --stdin ${nonConeMode:+--no-cone}
fi
( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
}