diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 979aa531092dd..00cd7d3129b3f 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -1,8 +1,8 @@ #! /bin/sh -e -url=$1 -rev=$2 -expHash=$3 +url= +rev= +expHash= hashType=$NIX_HASH_ALGO deepClone=$NIX_PREFETCH_GIT_DEEP_CLONE leaveDotGit=$NIX_PREFETCH_GIT_LEAVE_DOT_GIT @@ -189,21 +189,19 @@ clone(){ clone_user_rev() { local dir="$1" local url="$2" - local rev="$3" + local rev="${3:-HEAD}" # Perform the checkout. case "$rev" in HEAD|refs/*) clone "$dir" "$url" "" "$rev" 1>&2;; - [0-9a-f]*) + *) if test -z "$(echo $rev | tr -d 0123456789abcdef)"; then clone "$dir" "$url" "$rev" "" 1>&2; else echo 1>&2 "Bad commit hash or bad reference."; exit 1; fi;; - "") - clone "$dir" "$url" "" "HEAD" 1>&2;; esac # Allow doing additional processing before .git removal