diff options
author | Junio C Hamano <junkio@cox.net> | 2006-11-25 01:04:28 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-11-25 01:04:28 -0800 |
commit | f64d7fd267c501f501e18a888e3e1e0c5b56458f (patch) | |
tree | c366777d265bf962dccc7668e3475bc5b07a7b03 | |
parent | d25c26e771fdf771f264dc85be348719886d354f (diff) | |
download | git-f64d7fd267c501f501e18a888e3e1e0c5b56458f.tar.gz git-f64d7fd267c501f501e18a888e3e1e0c5b56458f.tar.xz |
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 <junkio@cox.net>
-rwxr-xr-x | git-fetch.sh | 11 |
1 files changed, 6 insertions, 5 deletions
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 |