]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'sb/fetch'
authorJunio C Hamano <junkio@cox.net>
Thu, 19 Oct 2006 05:08:29 +0000 (22:08 -0700)
committerJunio C Hamano <junkio@cox.net>
Thu, 19 Oct 2006 05:08:29 +0000 (22:08 -0700)
* sb/fetch:
  merge and resolve: Output short hashes and .. in "Updating ..."
  fetch: Misc output cleanup

1  2 
git-fetch.sh

diff --combined git-fetch.sh
index 79222fbb1a4bf3205f3225feafc96aa43aace87c,85e96a1cc7df5593600911b751bec361720c01a3..b15fc2b389f35e2b30b17eada4bcc711a12d2a11
@@@ -129,22 -129,25 +129,25 @@@ append_fetch_head () 
      then
        headc_=$(git-rev-parse --verify "$head_^0") || exit
        echo "$headc_   $not_for_merge_ $note_" >>"$GIT_DIR/FETCH_HEAD"
-       [ "$verbose" ] && echo >&2 "* committish: $head_"
-       [ "$verbose" ] && echo >&2 "  $note_"
      else
        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
+     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")"
      case "$1" in
      refs/tags/*)
        then
                if now_=$(cat "$GIT_DIR/$1") && test "$now_" = "$2"
                then
-                       [ "$verbose" ] && echo >&2 "* $1: same as $3" ||:
+                       [ "$verbose" ] && echo >&2 "* $1: same as $3"
+                       [ "$verbose" ] && echo >&2 "  $label_: $newshort_" ||:
                else
                        echo >&2 "* $1: updating with $3"
+                       echo >&2 "  $label_: $newshort_"
                        git-update-ref -m "$rloga: updating tag" "$1" "$2"
                fi
        else
                echo >&2 "* $1: storing $3"
+               echo >&2 "  $label_: $newshort_"
                git-update-ref -m "$rloga: storing tag" "$1" "$2"
        fi
        ;;
                if test -n "$verbose"
                then
                        echo >&2 "* $1: same as $3"
+                       echo >&2 "  $label_: $newshort_"
                fi
                ;;
            *,$local)
                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"
                ;;
            *)
                false
                ;;
            esac || {
-               echo >&2 "* $1: does not fast forward to $3;"
                case ",$force,$single_force," in
                *,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"
                        ;;
                *)
-                       echo >&2 "  not updating."
+                       echo >&2 "* $1: not updating to non-fast forward $3"
+                       echo >&2 "  old...new: $oldshort_...$newshort_"
                        exit 1
                        ;;
                esac
            }
        else
            echo >&2 "* $1: storing $3"
+           echo >&2 "  $label_: $newshort_"
            git-update-ref -m "$rloga: storing head" "$1" "$2"
        fi
        ;;
@@@ -436,10 -445,10 +445,10 @@@ esa
  
  # If the original head was empty (i.e. no "master" yet), or
  # if we were told not to worry, we do not have to check.
 -case ",$update_head_ok,$orig_head," in
 -*,, | t,* )
 +case "$orig_head" in
 +'')
        ;;
 -*)
 +?*)
        curr_head=$(git-rev-parse --verify HEAD 2>/dev/null)
        if test "$curr_head" != "$orig_head"
        then