From: Junio C Hamano Date: Fri, 6 May 2011 17:54:08 +0000 (-0700) Subject: Merge branch 'jk/merge-one-file-working-tree' X-Git-Tag: v1.7.6-rc0~96 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/ac13e7c514d6790cc59041545f26b3f5da543b25?ds=inline;hp=-c Merge branch 'jk/merge-one-file-working-tree' * jk/merge-one-file-working-tree: merge-one-file: fix broken merges with alternate work trees add tests for merge-index / merge-one-file --- ac13e7c514d6790cc59041545f26b3f5da543b25 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