X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-fetch.sh;h=6586e773e6b3979463d5cc6537e6ddc5700de25a;hb=2d2465c01518eb7defa9aa39ae864c9646cfb6f4;hp=0cb1596f50c998ba1f4ac0e2049e1c18459fc5a8;hpb=f865a2ad981f72423aa1c19412ce57c543801957;p=git.git diff --git a/git-fetch.sh b/git-fetch.sh index 0cb1596f..6586e773 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -12,6 +12,7 @@ IFS="$LF" tags= append= force= +verbose= update_head_ok= while case "$#" in 0) break ;; esac do @@ -30,6 +31,9 @@ do --update-head-o|--update-head-ok) update_head_ok=t ;; + -v|--verbose) + verbose=Yes + ;; *) break ;; @@ -91,12 +95,12 @@ append_fetch_head () { then headc_=$(git-rev-parse --verify "$head_^0") || exit echo "$headc_ $not_for_merge_ $note_" >>"$GIT_DIR/FETCH_HEAD" - echo >&2 "* committish: $head_" - echo >&2 " $note_" + [ "$verbose" ] && echo >&2 "* committish: $head_" + [ "$verbose" ] && echo >&2 " $note_" else echo "$head_ not-for-merge $note_" >>"$GIT_DIR/FETCH_HEAD" - echo >&2 "* non-commit: $head_" - echo >&2 " $note_" + [ "$verbose" ] && echo >&2 "* non-commit: $head_" + [ "$verbose" ] && echo >&2 " $note_" fi if test "$local_name_" != "" then @@ -114,7 +118,12 @@ fast_forward_local () { # is no way to guarantee "fast-forward" anyway. if test -f "$GIT_DIR/$1" then - echo >&2 "* $1: updating with $3" + if now_=$(cat "$GIT_DIR/$1") && test "$now_" = "$2" + then + [ "$verbose" ] && echo >&2 "* $1: same as $3" + else + echo >&2 "* $1: updating with $3" + fi else echo >&2 "* $1: storing $3" fi @@ -176,7 +185,7 @@ if test "$tags" then taglist=$(git-ls-remote --tags "$remote" | sed -e ' - /\^{}$/d + /\^/d s/^[^ ]* // s/.*/&:&/') if test "$#" -gt 1 @@ -225,7 +234,7 @@ do $u =~ s{([^-a-zA-Z0-9/.])}{sprintf"%%%02x",ord($1)}eg; print "$u"; ' "$remote_name") - head=$(curl -nsf $curl_extra_args "$remote/$remote_name_quoted") && + head=$(curl -nsfL $curl_extra_args "$remote/$remote_name_quoted") && expr "$head" : "$_x40\$" >/dev/null || die "Failed to fetch $remote_name from $remote" echo >&2 Fetching "$remote_name from $remote" using http