Re: [PATCH] Allow passing of --directory to git-am.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 4, 2008, 23:14 UTC
- Message-ID
- <7vy6yvbki6.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <7v7i6fd0zt.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 13 quoted lines
> Simon 'corecode' Schubert <corecode@fs.ei.tum.de> writes: > >> You mean not storing/restoring the flags across an invocation? No, >> that's a different thing. My patch only adds the --directory option, >> it does not fix the previously existing bug. > > The question is if it _introduces_ a bug that the directory given in the > initial invocation of "git am --directory=foo" is lost if an patch does > not apply and you need to manually resolve and continue. > > If it does not introduce such a bug, you do not have the same issue as the > old patch. Otherwise you have the same issue as the old patch. The > question was if you have the same issue or you don't. Yes? No?
I think this fixes the --whitespace=* one, although I obviously haven't tried to use it myself extensively.
The third hunk is just a style fix. "am" is written in a quite old fashioned way.
-- >8 -- Subject: [PATCH] git-am --whitespace: do not lose the command line option
When you start "git am --whitespace=fix" and the patch application process is interrupted by an unapplicable patch early in the series, after fixing the offending patch, the remainder of the patch should be processed still with --whitespace=fix when restarted with "git am --resolved".
The commit 67dad68 (add -C[NUM] to git-am, 2007-02-08) broke this long time ago. This should fix it.
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- git-am.sh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/git-am.sh b/git-am.sh index aa60261..1bf70d4 100755 --- a/git-am.sh +++ b/git-am.sh @@ -121,7 +121,7 @@ It does not apply to blobs recorded in its index." prec=4 dotest="$GIT_DIR/rebase-apply" -sign= utf8=t keep= skip= interactive= resolved= rebasing= abort= +sign= utf8=t keep= skip= interactive= resolved= rebasing= abort= ws= resolvemsg= resume= git_apply_opt= @@ -156,7 +156,7 @@ do --resolvemsg) shift; resolvemsg=$1 ;; --whitespace) - git_apply_opt="$git_apply_opt $1=$2"; shift ;; + ws="--whitespace=$2"; shift ;; -C|-p) git_apply_opt="$git_apply_opt $1$2"; shift ;; --) @@ -283,7 +283,7 @@ if test "$(cat "$dotest/keep")" = t then keep=-k fi -ws=`cat "$dotest/whitespace"` +ws=$(cat "$dotest/whitespace") if test "$(cat "$dotest/sign")" = t then SIGNOFF=`git var GIT_COMMITTER_IDENT | sed -e ' @@ -454,7 +454,7 @@ do case "$resolved" in '') - git apply $git_apply_opt --index "$dotest/patch" + git apply $git_apply_opt $ws --index "$dotest/patch" apply_status=$? ;; t)
-- 1.6.1.rc1.60.g1d1d7