about summary refs log tree commit diff
path: root/nixpkgs/pkgs/common-updater/unstable-updater.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/common-updater/unstable-updater.nix')
-rw-r--r--nixpkgs/pkgs/common-updater/unstable-updater.nix15
1 files changed, 13 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/common-updater/unstable-updater.nix b/nixpkgs/pkgs/common-updater/unstable-updater.nix
index f8944222a8d5..29b7fcf19679 100644
--- a/nixpkgs/pkgs/common-updater/unstable-updater.nix
+++ b/nixpkgs/pkgs/common-updater/unstable-updater.nix
@@ -12,6 +12,7 @@
 , branch ? null
 , stableVersion ? false # Use version format according to RFC 107 (i.e. LAST_TAG+date=YYYY-MM-DD)
 , tagPrefix ? "" # strip this prefix from a tag name when using stable version
+, shallowClone ? true
 }:
 
 let
@@ -22,6 +23,7 @@ let
     branch=""
     use_stable_version=""
     tag_prefix=""
+    shallow_clone=""
 
     while (( $# > 0 )); do
         flag="$1"
@@ -39,6 +41,9 @@ let
           --tag-prefix=*)
             tag_prefix="''${flag#*=}"
             ;;
+          --shallow-clone)
+            shallow_clone=1
+            ;;
           *)
             echo "$0: unknown option ‘''${flag}’"
             exit 1
@@ -58,9 +63,12 @@ let
 
     cloneArgs=(
       --bare
-      --depth=1
     )
 
+    if [[ "$shallow_clone" == "1" ]]; then
+        cloneArgs+=(--depth=1)
+    fi
+
     if [[ -n "$branch" ]]; then
         cloneArgs+=(--branch="$branch")
     fi
@@ -101,7 +109,8 @@ let
         --rev="$commit_sha"
   '';
 
-in [
+in
+[
   updateScript
   "--url=${builtins.toString url}"
 ] ++ lib.optionals (branch != null) [
@@ -109,4 +118,6 @@ in [
 ] ++ lib.optionals stableVersion [
   "--use-stable-version"
   "--tag-prefix=${tagPrefix}"
+] ++ lib.optionals shallowClone [
+  "--shallow-clone"
 ]