i18n: unpack-trees: avoid substituting only a verb in sentences
[gitweb.git] / git-merge-one-file.sh
index a93d0b4cd332ff8d5da533d5d8a353ecaf644b09..424b034e34b4b40e7c44da16ddf83a31dee6f6a0 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."
 
@@ -38,6 +38,14 @@ case "${1:-.}${2:-.}${3:-.}" in
 # Deleted in both or deleted in one and unchanged in the other
 #
 "$1.." | "$1.$1" | "$1$1.")
+       if { test -z "$6" && test "$5" != "$7"; } ||
+          { test -z "$7" && test "$5" != "$6"; }
+       then
+               echo "ERROR: File $4 deleted on one branch but had its" >&2
+               echo "ERROR: permissions changed on the other." >&2
+               exit 1
+       fi
+
        if test -n "$2"
        then
                echo "Removing $4"
@@ -112,8 +120,7 @@ case "${1:-.}${2:-.}${3:-.}" in
        case "$1" in
        '')
                echo "Added $4 in both, but differently."
-               orig=$(git-unpack-file $2)
-               create_virtual_base "$orig" "$src2"
+               orig=$(git-unpack-file e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)
                ;;
        *)
                echo "Auto-merging $4"
@@ -124,9 +131,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,10 +151,6 @@ 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