diff options
author | Junio C Hamano <junkio@cox.net> | 2006-11-01 08:49:19 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-11-01 08:49:19 -0800 |
commit | e0d68cd5d95fc15342db38c211f71efe5bcfbe94 (patch) | |
tree | 0f1cdf16248515b6eecf9addae29bc871dbde007 | |
parent | Merge branch 'lj/refs' (diff) | |
parent | git-fetch: adjust to packed-refs. (diff) | |
download | tgif-e0d68cd5d95fc15342db38c211f71efe5bcfbe94.tar.xz |
Merge branch 'jc/refs-and-fetch'
* jc/refs-and-fetch:
git-fetch: adjust to packed-refs.
-rwxr-xr-x | git-fetch.sh | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/git-fetch.sh b/git-fetch.sh index fa73ad2260..539dff6ee0 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_" ||: |