提交 a4c6ae5a 编写于 作者: J Junio C Hamano

Merge branch 'sb/fetch'

* sb/fetch:
  merge and resolve: Output short hashes and .. in "Updating ..."
  fetch: Misc output cleanup
...@@ -129,22 +129,25 @@ append_fetch_head () { ...@@ -129,22 +129,25 @@ append_fetch_head () {
then then
headc_=$(git-rev-parse --verify "$head_^0") || exit headc_=$(git-rev-parse --verify "$head_^0") || exit
echo "$headc_ $not_for_merge_ $note_" >>"$GIT_DIR/FETCH_HEAD" echo "$headc_ $not_for_merge_ $note_" >>"$GIT_DIR/FETCH_HEAD"
[ "$verbose" ] && echo >&2 "* committish: $head_"
[ "$verbose" ] && echo >&2 " $note_"
else else
echo "$head_ not-for-merge $note_" >>"$GIT_DIR/FETCH_HEAD" echo "$head_ not-for-merge $note_" >>"$GIT_DIR/FETCH_HEAD"
[ "$verbose" ] && echo >&2 "* non-commit: $head_"
[ "$verbose" ] && echo >&2 " $note_"
fi
if test "$local_name_" != ""
then
# We are storing the head locally. Make sure that it is
# a fast forward (aka "reverse push").
fast_forward_local "$local_name_" "$head_" "$note_"
fi fi
update_local_ref "$local_name_" "$head_" "$note_"
} }
fast_forward_local () { update_local_ref () {
# If we are storing the head locally make sure that it is
# a fast forward (aka "reverse push").
label_=$(git-cat-file -t $2)
newshort_=$(git-rev-parse --short $2)
if test -z "$1" ; then
[ "$verbose" ] && echo >&2 "* fetched $3"
[ "$verbose" ] && echo >&2 " $label_: $newshort_"
return 0
fi
oldshort_=$(git-rev-parse --short "$1" 2>/dev/null)
mkdir -p "$(dirname "$GIT_DIR/$1")" mkdir -p "$(dirname "$GIT_DIR/$1")"
case "$1" in case "$1" in
refs/tags/*) refs/tags/*)
...@@ -154,13 +157,16 @@ fast_forward_local () { ...@@ -154,13 +157,16 @@ fast_forward_local () {
then then
if now_=$(cat "$GIT_DIR/$1") && test "$now_" = "$2" if now_=$(cat "$GIT_DIR/$1") && test "$now_" = "$2"
then then
[ "$verbose" ] && echo >&2 "* $1: same as $3" ||: [ "$verbose" ] && echo >&2 "* $1: same as $3"
[ "$verbose" ] && echo >&2 " $label_: $newshort_" ||:
else else
echo >&2 "* $1: updating with $3" echo >&2 "* $1: updating with $3"
echo >&2 " $label_: $newshort_"
git-update-ref -m "$rloga: updating tag" "$1" "$2" git-update-ref -m "$rloga: updating tag" "$1" "$2"
fi fi
else else
echo >&2 "* $1: storing $3" echo >&2 "* $1: storing $3"
echo >&2 " $label_: $newshort_"
git-update-ref -m "$rloga: storing tag" "$1" "$2" git-update-ref -m "$rloga: storing tag" "$1" "$2"
fi fi
;; ;;
...@@ -178,31 +184,34 @@ fast_forward_local () { ...@@ -178,31 +184,34 @@ fast_forward_local () {
if test -n "$verbose" if test -n "$verbose"
then then
echo >&2 "* $1: same as $3" echo >&2 "* $1: same as $3"
echo >&2 " $label_: $newshort_"
fi fi
;; ;;
*,$local) *,$local)
echo >&2 "* $1: fast forward to $3" echo >&2 "* $1: fast forward to $3"
echo >&2 " from $local to $2" echo >&2 " old..new: $oldshort_..$newshort_"
git-update-ref -m "$rloga: fast-forward" "$1" "$2" "$local" git-update-ref -m "$rloga: fast-forward" "$1" "$2" "$local"
;; ;;
*) *)
false false
;; ;;
esac || { esac || {
echo >&2 "* $1: does not fast forward to $3;"
case ",$force,$single_force," in case ",$force,$single_force," in
*,t,*) *,t,*)
echo >&2 " forcing update." echo >&2 "* $1: forcing update to non-fast forward $3"
echo >&2 " old...new: $oldshort_...$newshort_"
git-update-ref -m "$rloga: forced-update" "$1" "$2" "$local" git-update-ref -m "$rloga: forced-update" "$1" "$2" "$local"
;; ;;
*) *)
echo >&2 " not updating." echo >&2 "* $1: not updating to non-fast forward $3"
echo >&2 " old...new: $oldshort_...$newshort_"
exit 1 exit 1
;; ;;
esac esac
} }
else else
echo >&2 "* $1: storing $3" echo >&2 "* $1: storing $3"
echo >&2 " $label_: $newshort_"
git-update-ref -m "$rloga: storing head" "$1" "$2" git-update-ref -m "$rloga: storing head" "$1" "$2"
fi fi
;; ;;
......
...@@ -197,7 +197,7 @@ f,*) ...@@ -197,7 +197,7 @@ f,*)
;; ;;
?,1,"$head",*) ?,1,"$head",*)
# Again the most common case of merging one remote. # Again the most common case of merging one remote.
echo "Updating from $head to $1" echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $1)"
git-update-index --refresh 2>/dev/null git-update-index --refresh 2>/dev/null
new_head=$(git-rev-parse --verify "$1^0") && new_head=$(git-rev-parse --verify "$1^0") &&
git-read-tree -u -v -m $head "$new_head" && git-read-tree -u -v -m $head "$new_head" &&
......
...@@ -46,7 +46,7 @@ case "$common" in ...@@ -46,7 +46,7 @@ case "$common" in
exit 0 exit 0
;; ;;
"$head") "$head")
echo "Updating from $head to $merge" echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $merge)"
git-read-tree -u -m $head $merge || exit 1 git-read-tree -u -m $head $merge || exit 1
git-update-ref -m "resolve $merge_name: Fast forward" \ git-update-ref -m "resolve $merge_name: Fast forward" \
HEAD "$merge" "$head" HEAD "$merge" "$head"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册