git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/4] git-am: propagate -C<n>, -p<n> options as well

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 5, 2008, 02:22 UTC
Message-ID
<1228443780-3386-3-git-send-email-gitster@pobox.com>
In-Reply-To
<1228443780-3386-2-git-send-email-gitster@pobox.com>

These options are meant to deal with patches that do not apply cleanly due to the differences between the version the patch was based on and the version "git am" is working on.

Because a series of patches applied in the same "git am" run tends to come from the same source, it is more useful to propagate these options after the application stops.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 git-am.sh |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/git-am.sh b/git-am.sh
index 1bf70d4..ed54e71 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= ws=
+sign= utf8=t keep= skip= interactive= resolved= rebasing= abort=
 resolvemsg= resume=
 git_apply_opt=
 
@@ -156,7 +156,7 @@ do
 	--resolvemsg)
 		shift; resolvemsg=$1 ;;
 	--whitespace)
-		ws="--whitespace=$2"; shift ;;
+		git_apply_opt="$git_apply_opt $1=$2"; shift ;;
 	-C|-p)
 		git_apply_opt="$git_apply_opt $1$2"; shift ;;
 	--)
@@ -247,10 +247,10 @@ else
 		exit 1
 	}
 
-	# -s, -u, -k and --whitespace flags are kept for the
-	# resuming session after a patch failure.
+	# -s, -u, -k, --whitespace, -C and -p flags are kept
+	# for the resuming session after a patch failure.
 	# -3 and -i can and must be given when resuming.
-	echo " $ws" >"$dotest/whitespace"
+	echo " $git_apply_opt" >"$dotest/apply_opt_extra"
 	echo "$sign" >"$dotest/sign"
 	echo "$utf8" >"$dotest/utf8"
 	echo "$keep" >"$dotest/keep"
@@ -283,7 +283,7 @@ if test "$(cat "$dotest/keep")" = t
 then
 	keep=-k
 fi
-ws=$(cat "$dotest/whitespace")
+git_apply_opt=$(cat "$dotest/apply_opt_extra")
 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 $ws --index "$dotest/patch"
+		git apply $git_apply_opt --index "$dotest/patch"
 		apply_status=$?
 		;;
 	t)
-- 
1.6.1.rc1.60.g1d1d7
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 7 in “Fix longstanding "git am" bug”
  1. 0/4 Fix longstanding "git am" bugJunio C Hamano, Dec 5, 2008
  2. 1/4 git-am --whitespace: do not lose the command line optionJunio C Hamano, Dec 5, 2008
  3. 2/4 git-am: propagate -C<n>, -p<n> options as wellJunio C Hamano, Dec 5, 2008
  4. 3/4 git-am: propagate --3way options as wellJunio C Hamano, Dec 5, 2008
  5. 4/4 Test that git-am does not lose -C/-p/--whitespace optionsJunio C Hamano, Dec 5, 2008
  6. Johannes SchindelinDec 5, 2008
  7. Junio C HamanoDec 5, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.