summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2006-11-01 08:49:19 -0800
committerLibravatar Junio C Hamano <junkio@cox.net>2006-11-01 08:49:19 -0800
commite0d68cd5d95fc15342db38c211f71efe5bcfbe94 (patch)
tree0f1cdf16248515b6eecf9addae29bc871dbde007
parentMerge branch 'lj/refs' (diff)
parentgit-fetch: adjust to packed-refs. (diff)
downloadtgif-e0d68cd5d95fc15342db38c211f71efe5bcfbe94.tar.xz
Merge branch 'jc/refs-and-fetch'
* jc/refs-and-fetch: git-fetch: adjust to packed-refs.
-rwxr-xr-xgit-fetch.sh8
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_" ||: