Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-fetch: adjust to packed-refs.
author
Junio C Hamano
<junkio@cox.net>
Sun, 1 Oct 2006 07:42:40 +0000
(
00:42
-0700)
committer
Junio C Hamano
<junkio@cox.net>
Sun, 1 Oct 2006 07:42:40 +0000
(
00:42
-0700)
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 <junkio@cox.net>
git-fetch.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
12f9b8a
)
diff --git
a/git-fetch.sh
b/git-fetch.sh
index 85e96a1cc7df5593600911b751bec361720c01a3..216be0ccf393639af20696e08210dc3f26df4e88 100755
(executable)
--- a/
git-fetch.sh
+++ b/
git-fetch.sh
@@
-147,15
+147,15
@@
update_local_ref () {
[ "$verbose" ] && echo >&2 " $label_: $newshort_"
return 0
fi
[ "$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.
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
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_" ||:
then
[ "$verbose" ] && echo >&2 "* $1: same as $3"
[ "$verbose" ] && echo >&2 " $label_: $newshort_" ||: