builtin/help.c: add --guide option
[gitweb.git] / git-merge-one-file.sh
index c90b9ffd31ecfc519cb4a36eb565d416bee81b05..07dfeb8df4bf910c5c79fb4c3dd3345ba4719da0 100755 (executable)
@@ -18,7 +18,7 @@
 
 USAGE='<orig blob> <our blob> <their blob> <path>'
 USAGE="$USAGE <orig mode> <our mode> <their mode>"
-LONG_USAGE="Usage: git merge-one-file $USAGE
+LONG_USAGE="usage: git merge-one-file $USAGE
 
 Blob ids and modes should be empty for missing files."
 
@@ -69,7 +69,7 @@ case "${1:-.}${2:-.}${3:-.}" in
        echo "Adding $4"
        if test -f "$4"
        then
-               echo "ERROR: untracked $4 is overwritten by the merge."
+               echo "ERROR: untracked $4 is overwritten by the merge." >&2
                exit 1
        fi
        git update-index --add --cacheinfo "$7" "$3" "$4" &&
@@ -82,8 +82,8 @@ case "${1:-.}${2:-.}${3:-.}" in
 ".$3$2")
        if test "$6" != "$7"
        then
-               echo "ERROR: File $4 added identically in both branches,"
-               echo "ERROR: but permissions conflict $6->$7."
+               echo "ERROR: File $4 added identically in both branches," >&2
+               echo "ERROR: but permissions conflict $6->$7." >&2
                exit 1
        fi
        echo "Adding $4"
@@ -98,11 +98,11 @@ case "${1:-.}${2:-.}${3:-.}" in
 
        case ",$6,$7," in
        *,120000,*)
-               echo "ERROR: $4: Not merging symbolic link changes."
+               echo "ERROR: $4: Not merging symbolic link changes." >&2
                exit 1
                ;;
        *,160000,*)
-               echo "ERROR: $4: Not merging conflicting submodule changes."
+               echo "ERROR: $4: Not merging conflicting submodule changes." >&2
                exit 1
                ;;
        esac
@@ -124,9 +124,10 @@ case "${1:-.}${2:-.}${3:-.}" in
        git merge-file "$src1" "$orig" "$src2"
        ret=$?
        msg=
-       if test $ret != 0
+       if test $ret != 0 || test -z "$1"
        then
                msg='content conflict'
+               ret=1
        fi
 
        # Create the working tree file, using "our tree" version from the
@@ -143,21 +144,17 @@ case "${1:-.}${2:-.}${3:-.}" in
                msg="${msg}permissions conflict: $5->$6,$7"
                ret=1
        fi
-       if test -z "$1"
-       then
-               ret=1
-       fi
 
        if test $ret != 0
        then
-               echo "ERROR: $msg in $4"
+               echo "ERROR: $msg in $4" >&2
                exit 1
        fi
        exec git update-index -- "$4"
        ;;
 
 *)
-       echo "ERROR: $4: Not handling case $1 -> $2 -> $3"
+       echo "ERROR: $4: Not handling case $1 -> $2 -> $3" >&2
        ;;
 esac
 exit 1