From 7d786f3b7b41d1a417cde496cc002e5fa6f2352e Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Thu, 7 Jun 2012 17:52:38 +0400 Subject: [PATCH 1/2] Do not use old way of setting `url` and `rev` This was breaking `nix-prefetch-git --url smth --ref smth` (when expected hash is not specified) --- pkgs/build-support/fetchgit/nix-prefetch-git | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 979aa531092dd..e5ee43a138c0b 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 From 61a640d13ca0a1beeba738989716bfa5fb0ee92f Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Thu, 7 Jun 2012 18:01:07 +0400 Subject: [PATCH 2/2] Handle invalid references --- pkgs/build-support/fetchgit/nix-prefetch-git | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index e5ee43a138c0b..00cd7d3129b3f 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-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