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

Re: [PATCH] git-am: Pass the --directory option through to git-apply

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 31, 2008, 06:30 UTC
Message-ID
<7vfxold7cp.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1220048870-97641-1-git-send-email-kevin@sb.org>
Kevin Ballard <kevin@sb.org> writes:
Show 33 quoted lines
> diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
> index b9c6fac..64c8178 100644
> --- a/Documentation/git-am.txt
> +++ b/Documentation/git-am.txt
> @@ -66,6 +66,7 @@ default.   You could use `--no-utf8` to override this.
>  
>  -C<n>::
>  -p<n>::
> +--directory=<root>::
>  	These flags are passed to the 'git-apply' (see linkgit:git-apply[1])
>  	program that applies
>  	the patch.
> diff --git a/git-am.sh b/git-am.sh
> index aa60261..7e7a86f 100755
> --- a/git-am.sh
> +++ b/git-am.sh
> @@ -18,6 +18,7 @@ k,keep          pass -k flag to git-mailinfo
>  whitespace=     pass it through git-apply
>  C=              pass it through git-apply
>  p=              pass it through git-apply
> +directory=      pass it through git-apply
>  resolvemsg=     override error message when patch failure occurs
>  r,resolved      to be used after a patch failure
>  skip            skip the current patch
> @@ -155,7 +156,7 @@ do
>  		;;
>  	--resolvemsg)
>  		shift; resolvemsg=$1 ;;
> -	--whitespace)
> +	--whitespace|--directory)
>  		git_apply_opt="$git_apply_opt $1=$2"; shift ;;
>  	-C|-p)
>  		git_apply_opt="$git_apply_opt $1$2"; shift ;;
Thanks, will queue.

This inherits an ancient breakage that was introduced to the --whitespace option by 67dad68 (add -C[NUM] to git-am, 2007-02-08), in that you need to give the next "git am" session the same option when you get a conflict and need to restart. We should fix this ancient breakage by recording the miscellaneous options that we append to $git_apply_opt variable (we should remove the use of "$dotest/whitespace" that is now a no-op but 67dad68 did not remove). That is a separate topic anyway, but the end result should:

 * Save the options in effect in $dotest/, just like "sign", "utf8" and
   "keep" are kept;
 * Upon command startup, read the saved options, and then let the command
   line options override them (which is not what the current code does, by
   the way);

so that you can give necessary --directory, --whitespace, -C etc. options when you feed your series to "git-am", and after fixing up a rejected patch, you can continue without typing the same set of options again.

Previous: Kevin Ballard
Message 2 of 2 in “git-am: Pass the --directory option through to git-apply”
  1. git-am: Pass the --directory option through to git-applyKevin Ballard, Aug 29, 2008
  2. Junio C HamanoAug 31, 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.