am: pass exclude down to apply

This allows to pass patches around from repositories,
where the other repository doesn't feature certain files.

In the special case this works for dash git sync to klibc dash:
 git am --directory="usr/dash" --exclude="usr/dash/configure.ac" \
        --exclude="usr/dash/ChangeLog" --exclude="usr/dash/dash.1" \
	.. -i -s -k ../dash/000X-foo.patch

Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
maximilian attems 2011-08-03 11:37:29 +02:00 committed by Junio C Hamano
parent 3503b8d0da
commit 77e9e496a1

View File

@ -22,6 +22,7 @@ whitespace= pass it through git-apply
ignore-space-change pass it through git-apply ignore-space-change pass it through git-apply
ignore-whitespace pass it through git-apply ignore-whitespace pass it through git-apply
directory= pass it through git-apply directory= pass it through git-apply
exclude= pass it through git-apply
C= pass it through git-apply C= pass it through git-apply
p= pass it through git-apply p= pass it through git-apply
patch-format= format the patch(es) are in patch-format= format the patch(es) are in
@ -362,7 +363,7 @@ do
;; ;;
--resolvemsg) --resolvemsg)
shift; resolvemsg=$1 ;; shift; resolvemsg=$1 ;;
--whitespace|--directory) --whitespace|--directory|--exclude)
git_apply_opt="$git_apply_opt $(sq "$1=$2")"; shift ;; git_apply_opt="$git_apply_opt $(sq "$1=$2")"; shift ;;
-C|-p) -C|-p)
git_apply_opt="$git_apply_opt $(sq "$1$2")"; shift ;; git_apply_opt="$git_apply_opt $(sq "$1$2")"; shift ;;