From: Junio C Hamano Date: Sun, 1 Oct 2006 07:42:40 +0000 (-0700) Subject: git-fetch: adjust to packed-refs. X-Git-Tag: v1.4.4-rc1~43^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fbc72799a82bb9a25657a6e30bfcd7b8fe3e5a45;p=git.git git-fetch: adjust to packed-refs. The command checked the presence of a ref by directly looking into $GIT_DIR/refs directory. Update it to use show-ref. Signed-off-by: Junio C Hamano --- diff --git a/git-fetch.sh b/git-fetch.sh index 85e96a1cc..216be0ccf 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -147,15 +147,15 @@ update_local_ref () { [ "$verbose" ] && echo >&2 " $label_: $newshort_" return 0 fi - oldshort_=$(git-rev-parse --short "$1" 2>/dev/null) - mkdir -p "$(dirname "$GIT_DIR/$1")" + oldshort_=$(git show-ref --hash --abbrev "$1" 2>/dev/null) + case "$1" in refs/tags/*) # Tags need not be pointing at commits so there # is no way to guarantee "fast-forward" anyway. - if test -f "$GIT_DIR/$1" + if test -n "$oldshort_" then - if now_=$(cat "$GIT_DIR/$1") && test "$now_" = "$2" + if now_=$(git show-ref --hash "$1") && test "$now_" = "$2" then [ "$verbose" ] && echo >&2 "* $1: same as $3" [ "$verbose" ] && echo >&2 " $label_: $newshort_" ||: