[PATCH v2 3/3] git-merge-one-file: revise merge error reporting
From: Kevin Bracey <hidden>
Date: 2016-06-15 22:56:20
Subsystem:
the rest · Maintainer:
Linus Torvalds
Commit 718135e improved the merge error reporting for the resolve strategy's merge conflict and permission conflict cases, but led to a malformed "ERROR: in myfile.c" message in the case of a file added differently. This commit reverts that change, and uses an alternative approach without this flaw. Signed-off-by: Kevin Bracey <redacted> --- git-merge-one-file.sh | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
index 1236fbf..70f36f1 100755
--- a/git-merge-one-file.sh
+++ b/git-merge-one-file.sh@@ -104,11 +104,13 @@ case "${1:-.}${2:-.}${3:-.}" in ;; esac + ret=0 src1=$(git-unpack-file $2) src2=$(git-unpack-file $3) case "$1" in '') - echo "Added $4 in both, but differently." + echo "ERROR: Added $4 in both, but differently." + ret=1 orig=$(git-unpack-file $2) create_virtual_base "$orig" "$src1" "$src2" ;;
@@ -121,10 +123,9 @@ case "${1:-.}${2:-.}${3:-.}" in # Be careful for funny filename such as "-L" in "$4", which # would confuse "merge" greatly. git merge-file "$src1" "$orig" "$src2" - ret=$? - msg= - if [ $ret -ne 0 ]; then - msg='content conflict' + if [ $? -ne 0 ]; then + echo "ERROR: Content conflict in $4" + ret=1 fi # Create the working tree file, using "our tree" version from the
@@ -133,18 +134,11 @@ case "${1:-.}${2:-.}${3:-.}" in rm -f -- "$orig" "$src1" "$src2" if [ "$6" != "$7" ]; then - if [ -n "$msg" ]; then - msg="$msg, " - fi - msg="${msg}permissions conflict: $5->$6,$7" - ret=1 - fi - if [ "$1" = '' ]; then + echo "ERROR: Permissions conflict: $5->$6,$7" ret=1 fi if [ $ret -ne 0 ]; then - echo "ERROR: $msg in $4" exit 1 fi exec git update-index -- "$4"
--
1.8.2.rc3.7.g77aeedb