git-read-tree: make one-way merge also honor the "update" flag
[gitweb.git] / git-resolve-script
index 186b234b24e2581c3db9864a751b7e6c9e837c56..cd6e25a8a2bfca43f4b4b01cfda4378203b2b09c 100644 (file)
@@ -36,9 +36,6 @@ if [ "$common" == "$merge" ]; then
 fi
 if [ "$common" == "$head" ]; then
        echo "Updating from $head to $merge."
-       echo "Destroying all noncommitted data!"
-       echo "Kill me within 3 seconds.."
-       sleep 3
        git-read-tree -u -m $head $merge || exit 1
        echo $merge > "$GIT_DIR"/HEAD
        git-diff-tree -p ORIG_HEAD HEAD | git-apply --stat
@@ -50,7 +47,11 @@ merge_msg="Merge of $merge_repo"
 result_tree=$(git-write-tree  2> /dev/null)
 if [ $? -ne 0 ]; then
        echo "Simple merge failed, trying Automatic merge"
-       git-merge-cache git-merge-one-file-script -a
+       git-merge-cache -o git-merge-one-file-script -a
+       if [ $? -ne 0 ]; then
+               echo "Automatic merge failed, fix up by hand"
+               exit 1
+       fi
        merge_msg="Automatic merge of $merge_repo"
        result_tree=$(git-write-tree) || exit 1
 fi