# Copyright (c) 2005, 2006 Junio C Hamano
USAGE='[--signoff] [--dotest=<dir>] [--utf8 | --no-utf8] [--binary] [--3way]
- [--interactive] [--whitespace=<option>] <mbox>...
+ [--interactive] [--whitespace=<option>] [-C<n>] [-p<n>] <mbox>...
or, when resuming [--skip | --resolved]'
. git-sh-setup
set_reflog_action am
+require_work_tree
git var GIT_COMMITTER_IDENT >/dev/null || exit
git-update-index -z --index-info <"$dotest/patch-merge-index-info" &&
GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \
git-write-tree >"$dotest/patch-merge-base+" ||
- cannot_fallback "Patch does not record usable index information."
+ cannot_fallback "Repository lacks necessary blobs to fall back on 3-way merge."
echo Using index info to reconstruct a base tree...
if GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \
}
prec=4
-dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= ws= resolvemsg=
+dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= resolvemsg=
+git_apply_opt=
while case "$#" in 0) break;; esac
do
--sk|--ski|--skip)
skip=t; shift ;;
- --whitespace=*)
- ws=$1; shift ;;
+ --whitespace=*|-C*|-p*)
+ git_apply_opt="$git_apply_opt $1"; shift ;;
--resolvemsg=*)
resolvemsg=$(echo "$1" | sed -e "s/^--resolvemsg=//"); shift ;;
git-mailinfo $keep $utf8 "$dotest/msg" "$dotest/patch" \
<"$dotest/$msgnum" >"$dotest/info" ||
stop_here $this
+ test -s $dotest/patch || {
+ echo "Patch is empty. Was is split wrong?"
+ stop_here $this
+ }
git-stripspace < "$dotest/msg" > "$dotest/msg-clean"
;;
esac
case "$resolved" in
'')
- git-apply $binary --index $ws "$dotest/patch"
+ git-apply $git_apply_opt $binary --index "$dotest/patch"
apply_status=$?
;;
t)