From: Junio C Hamano Date: Fri, 13 May 2011 17:44:19 +0000 (-0700) Subject: Merge branch 'jk/merge-one-file-working-tree' into maint X-Git-Tag: v1.7.5.2~26 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/8272bcabac0b68e6d526ec0fcbc6d6e532b3e2af?ds=inline;hp=-c Merge branch 'jk/merge-one-file-working-tree' into maint * jk/merge-one-file-working-tree: merge-one-file: fix broken merges with alternate work trees add tests for merge-index / merge-one-file --- 8272bcabac0b68e6d526ec0fcbc6d6e532b3e2af diff --combined git-merge-one-file.sh index b86402afa5,bb64a72ad3..7aeb96952f --- a/git-merge-one-file.sh +++ b/git-merge-one-file.sh @@@ -22,6 -22,11 +22,11 @@@ LONG_USAGE="Usage: git merge-one-file $ Blob ids and modes should be empty for missing files." + SUBDIRECTORY_OK=Yes + . git-sh-setup + cd_to_toplevel + require_work_tree + if ! test "$#" -eq 7 then echo "$LONG_USAGE" @@@ -107,7 -112,7 +112,7 @@@ case "${1:-.}${2:-.}${3:-.}" i # remove lines that are unique to ours. orig=`git-unpack-file $2` sz0=`wc -c <"$orig"` - diff -u -La/$orig -Lb/$orig $orig $src2 | git apply --no-add + @@DIFF@@ -u -La/$orig -Lb/$orig $orig $src2 | git apply --no-add sz1=`wc -c <"$orig"` # If we do not have enough common material, it is not @@@ -132,7 -137,7 +137,7 @@@ # Create the working tree file, using "our tree" version from the # index, and then store the result of the merge. - git checkout-index -f --stage=2 -- "$4" && cat "$src1" >"$4" + git checkout-index -f --stage=2 -- "$4" && cat "$src1" >"$4" || exit 1 rm -f -- "$orig" "$src1" "$src2" if [ "$6" != "$7" ]; then