summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a3a733e)
raw | patch | inline | side by side (parent: a3a733e)
author | Shawn Pearce <spearce@spearce.org> | |
Tue, 11 Jul 2006 03:38:35 +0000 (23:38 -0400) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 11 Jul 2006 04:21:27 +0000 (21:21 -0700) |
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>
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>
git-fetch.sh | patch | blob | history | |
git-pull.sh | patch | blob | history |
diff --git a/git-fetch.sh b/git-fetch.sh
index f80299daaaf782064d8892c65e774e1a0917658d..c0d256c98b01a5a1ddfabc7e3e081588cbfa028f 100755 (executable)
--- a/git-fetch.sh
+++ b/git-fetch.sh
'
IFS="$LF"
+rloga=fetch
no_tags=
tags=
append=
-k|--k|--ke|--kee|--keep)
keep=--keep
;;
+ --reflog-action=*)
+ rloga=`expr "z$1" : 'z-[^=]*=\(.*\)'`
+ ;;
-*)
usage
;;
rref=
rsync_slurped_objects=
+rloga="$rloga $remote_nick"
+test "$remote_nick" == "$remote" || rloga="$rloga $remote"
+
if test "" = "$append"
then
: >"$GIT_DIR/FETCH_HEAD"
[ "$verbose" ] && echo >&2 "* $1: same as $3"
else
echo >&2 "* $1: updating with $3"
+ git-update-ref -m "$rloga: updating tag" "$1" "$2"
fi
else
echo >&2 "* $1: storing $3"
+ git-update-ref -m "$rloga: storing tag" "$1" "$2"
fi
- git-update-ref "$1" "$2"
;;
refs/heads/* | refs/remotes/*)
*,$local)
echo >&2 "* $1: fast forward to $3"
echo >&2 " from $local to $2"
- git-update-ref "$1" "$2" "$local"
+ git-update-ref -m "$rloga: fast-forward" "$1" "$2" "$local"
;;
*)
false
case ",$force,$single_force," in
*,t,*)
echo >&2 " forcing update."
- git-update-ref "$1" "$2" "$local"
+ git-update-ref -m "$rloga: forced-update" "$1" "$2" "$local"
;;
*)
echo >&2 " not updating."
}
else
echo >&2 "* $1: storing $3"
- git-update-ref "$1" "$2"
+ git-update-ref -m "$rloga: storing head" "$1" "$2"
fi
;;
esac
curr_head=$(git-rev-parse --verify HEAD 2>/dev/null)
if test "$curr_head" != "$orig_head"
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."
fi
;;
diff --git a/git-pull.sh b/git-pull.sh
index 076785c96b30b4fd8ab944324fd53db7c584567a..d337bf4da31c8a86eeaee7b34b910611100ccca8 100755 (executable)
--- a/git-pull.sh
+++ b/git-pull.sh
done
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)
if test "$curr_head" != "$orig_head"