From: Junio C Hamano Date: Sat, 25 Nov 2006 09:04:28 +0000 (-0800) Subject: git-fetch: exit with non-zero status when fast-forward check fails X-Git-Tag: v1.5.0-rc0~221 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f64d7fd267c501f501e18a888e3e1e0c5b56458f;p=git.git git-fetch: exit with non-zero status when fast-forward check fails When update_local_ref() refuses to update a branch head due to fast-forward check, it was not propagated properly in the call chain and the command did not exit with non-zero status as a result. Signed-off-by: Junio C Hamano --- diff --git a/git-fetch.sh b/git-fetch.sh index eb32476bb..442556209 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -359,7 +359,7 @@ fetch_main () { esac append_fetch_head "$head" "$remote" \ - "$remote_name" "$remote_nick" "$local_name" "$not_for_merge" + "$remote_name" "$remote_nick" "$local_name" "$not_for_merge" || exit done @@ -413,15 +413,16 @@ fetch_main () { done local_name=$(expr "z$found" : 'z[^:]*:\(.*\)') append_fetch_head "$sha1" "$remote" \ - "$remote_name" "$remote_nick" "$local_name" "$not_for_merge" - done + "$remote_name" "$remote_nick" "$local_name" \ + "$not_for_merge" || exit + done && if [ "$pack_lockfile" ]; then rm -f "$pack_lockfile"; fi ) || exit ;; esac } -fetch_main "$reflist" +fetch_main "$reflist" || exit # automated tag following case "$no_tags$tags" in @@ -449,7 +450,7 @@ case "$no_tags$tags" in case "$taglist" in '') ;; ?*) - fetch_main "$taglist" ;; + fetch_main "$taglist" || exit ;; esac esac