Log ref changes made by git-fetch and git-pull.
When git-fetch updates a reference record in the associated reflog what type of update took place and who caused it (git-fetch or git-pull, by invoking git-fetch). Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>maint
parent
a3a733e63b
commit
55b7835e1b
20
git-fetch.sh
20
git-fetch.sh
|
@ -11,6 +11,7 @@ LF='
|
||||||
'
|
'
|
||||||
IFS="$LF"
|
IFS="$LF"
|
||||||
|
|
||||||
|
rloga=fetch
|
||||||
no_tags=
|
no_tags=
|
||||||
tags=
|
tags=
|
||||||
append=
|
append=
|
||||||
|
@ -51,6 +52,9 @@ do
|
||||||
-k|--k|--ke|--kee|--keep)
|
-k|--k|--ke|--kee|--keep)
|
||||||
keep=--keep
|
keep=--keep
|
||||||
;;
|
;;
|
||||||
|
--reflog-action=*)
|
||||||
|
rloga=`expr "z$1" : 'z-[^=]*=\(.*\)'`
|
||||||
|
;;
|
||||||
-*)
|
-*)
|
||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
|
@ -75,6 +79,9 @@ refs=
|
||||||
rref=
|
rref=
|
||||||
rsync_slurped_objects=
|
rsync_slurped_objects=
|
||||||
|
|
||||||
|
rloga="$rloga $remote_nick"
|
||||||
|
test "$remote_nick" == "$remote" || rloga="$rloga $remote"
|
||||||
|
|
||||||
if test "" = "$append"
|
if test "" = "$append"
|
||||||
then
|
then
|
||||||
: >"$GIT_DIR/FETCH_HEAD"
|
: >"$GIT_DIR/FETCH_HEAD"
|
||||||
|
@ -149,11 +156,12 @@ fast_forward_local () {
|
||||||
[ "$verbose" ] && echo >&2 "* $1: same as $3"
|
[ "$verbose" ] && echo >&2 "* $1: same as $3"
|
||||||
else
|
else
|
||||||
echo >&2 "* $1: updating with $3"
|
echo >&2 "* $1: updating with $3"
|
||||||
|
git-update-ref -m "$rloga: updating tag" "$1" "$2"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo >&2 "* $1: storing $3"
|
echo >&2 "* $1: storing $3"
|
||||||
|
git-update-ref -m "$rloga: storing tag" "$1" "$2"
|
||||||
fi
|
fi
|
||||||
git-update-ref "$1" "$2"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
refs/heads/* | refs/remotes/*)
|
refs/heads/* | refs/remotes/*)
|
||||||
|
@ -174,7 +182,7 @@ fast_forward_local () {
|
||||||
*,$local)
|
*,$local)
|
||||||
echo >&2 "* $1: fast forward to $3"
|
echo >&2 "* $1: fast forward to $3"
|
||||||
echo >&2 " from $local to $2"
|
echo >&2 " from $local to $2"
|
||||||
git-update-ref "$1" "$2" "$local"
|
git-update-ref -m "$rloga: fast-forward" "$1" "$2" "$local"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
false
|
false
|
||||||
|
@ -184,7 +192,7 @@ fast_forward_local () {
|
||||||
case ",$force,$single_force," in
|
case ",$force,$single_force," in
|
||||||
*,t,*)
|
*,t,*)
|
||||||
echo >&2 " forcing update."
|
echo >&2 " forcing update."
|
||||||
git-update-ref "$1" "$2" "$local"
|
git-update-ref -m "$rloga: forced-update" "$1" "$2" "$local"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo >&2 " not updating."
|
echo >&2 " not updating."
|
||||||
|
@ -194,7 +202,7 @@ fast_forward_local () {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
echo >&2 "* $1: storing $3"
|
echo >&2 "* $1: storing $3"
|
||||||
git-update-ref "$1" "$2"
|
git-update-ref -m "$rloga: storing head" "$1" "$2"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -422,7 +430,9 @@ case ",$update_head_ok,$orig_head," in
|
||||||
curr_head=$(git-rev-parse --verify HEAD 2>/dev/null)
|
curr_head=$(git-rev-parse --verify HEAD 2>/dev/null)
|
||||||
if test "$curr_head" != "$orig_head"
|
if test "$curr_head" != "$orig_head"
|
||||||
then
|
then
|
||||||
git-update-ref HEAD "$orig_head"
|
git-update-ref \
|
||||||
|
-m "$rloga: Undoing incorrectly fetched HEAD." \
|
||||||
|
HEAD "$orig_head"
|
||||||
die "Cannot fetch into the current branch."
|
die "Cannot fetch into the current branch."
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -45,7 +45,7 @@ do
|
||||||
done
|
done
|
||||||
|
|
||||||
orig_head=$(git-rev-parse --verify HEAD) || die "Pulling into a black hole?"
|
orig_head=$(git-rev-parse --verify HEAD) || die "Pulling into a black hole?"
|
||||||
git-fetch --update-head-ok "$@" || exit 1
|
git-fetch --update-head-ok --reflog-action=pull "$@" || exit 1
|
||||||
|
|
||||||
curr_head=$(git-rev-parse --verify HEAD)
|
curr_head=$(git-rev-parse --verify HEAD)
|
||||||
if test "$curr_head" != "$orig_head"
|
if test "$curr_head" != "$orig_head"
|
||||||
|
|
Loading…
Reference in New Issue