Re: [PATCH] Return non-zero status from pull if merge fails.
From: Junio C Hamano <hidden>
Date: 2016-08-11 20:08:39
"Shawn O. Pearce" [off-list ref] writes:
quoted hunk
diff --git a/git-merge.sh b/git-merge.sh index cb09438..7725908 100755 --- a/git-merge.sh +++ b/git-merge.sh@@ -203,7 +203,7 @@ f,*) git-update-index --refresh 2>/dev/null new_head=$(git-rev-parse --verify "$1^0") && git-read-tree -u -v -m $head "$new_head" && - finish "$new_head" "Fast forward" + finish "$new_head" "Fast forward" || exit 1 dropsave exit 0 ;;
The shell function "finish" itself exits when there is an error; is this needed?
quoted hunk
@@ -214,7 +214,7 @@ f,*) + git var GIT_COMMITTER_IDENT >/dev/null || exit 1@@ -225,7 +225,7 @@ f,*) + ) || exit 1@@ -253,7 +253,7 @@ f,*) +git var GIT_COMMITTER_IDENT >/dev/null || exit 1@@ -327,7 +327,7 @@ done + result_commit=$(echo "$merge_msg" | git-commit-tree $result_tree $parents) || exit 1
Are these needed? Wouldn't "something || exit" already exit non-zero when something exits non-zero?
quoted hunk
diff --git a/git-pull.sh b/git-pull.sh index ed04e7d..d10fcdd 100755 --- a/git-pull.sh +++ b/git-pull.sh@@ -102,6 +102,6 @@ case "$strategy_args" in esac merge_name=$(git-fmt-merge-msg <"$GIT_DIR/FETCH_HEAD") || exit -git-merge "--reflog-action=pull $*" \ +exec git-merge "--reflog-action=pull $*" \ $no_summary $no_commit $squash $strategy_args \ "$merge_name" HEAD $merge_head
I think this is a good change.