git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Philip Oakley <philipoakley@iee.org>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Nicolas Vigier <boklm@mars-attacks.org>,
	sandals@crustytoothpaste.net
Subject: Re: [PATCH v3 8/9] rebase: add the --gpg-sign option
Date: Sat, 08 Feb 2014 13:04:09 +0000	[thread overview]
Message-ID: <52F62B49.7080709@iee.org> (raw)
In-Reply-To: <20140207235058.GJ635004@vauxhall.crustytoothpaste.net>

On 07/02/14 23:50, brian m. carlson wrote:
> On Mon, Feb 03, 2014 at 01:42:06PM -0800, Junio C Hamano wrote:
>>> +	--gpg-sign)
>>> +		gpg_sign_opt=-S
>>> +		;;
>>> +	--gpg-sign=*)
>>> +		# Try to quote only the argument, as this will appear in human-readable
>>> +		# output as well as being passed to commands.
>>> +		gpg_sign_opt="-S$(git rev-parse --sq-quote "${1#--gpg-sign=}" |
>>> +			sed 's/^ //')"
>>
>> Isn't an invocation of sed excessive?
>>
>> 	gpg_sign_opt=$(git rev-parse --sq-quote "${1#--gpg-sign=}") &&
>> 	gpg_sign_opt=-S${gpg_sign_opt# }
>>
>> if you really need to strip the leading SP, which I do not think is
>> a necessary thing to do.  It is sufficient to remove the SP before
>> the variable substitution in the human-readable messages, e.g.
>
> I'm not sure that command line parsing of "-S 'foo <x@example.tld>'"
> will work exactly as expected due to the fact that -S doesn't always
> take an argument.  Your suggestion to use # seems fine, though.
>
> I'm a little embarrassed to admit that in my fifteen years of Unix
> experience, I've never learned the variable modifiers for shell, so it
> didn't occur to me to use them in this case.  Guess it's time to learn
> them now.

Same here:

For other readers, I found most google results were only partial on the 
issue, missing the '#' symbol option. Here's a more complete ref 
http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion-1 
for fellow learners.

Philip
--

>

  reply	other threads:[~2014-02-08 13:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-01  2:17 [PATCH v3 0/9] add --gpg-sign to rebase and pull brian m. carlson
2014-02-01  2:17 ` [PATCH v3 1/9] cherry-pick, revert: add the --gpg-sign option brian m. carlson
2014-02-03 20:50   ` Junio C Hamano
2014-02-01  2:17 ` [PATCH v3 2/9] git-sh-setup.sh: add variable to use the stuck-long mode brian m. carlson
2014-02-01  2:18 ` [PATCH v3 3/9] am: parse options in " brian m. carlson
2014-02-01  2:18 ` [PATCH v3 4/9] am: add the --gpg-sign option brian m. carlson
2014-02-01  2:18 ` [PATCH v3 5/9] rebase: remove useless arguments check brian m. carlson
2014-02-01  2:18 ` [PATCH v3 6/9] rebase: don't try to match -M option brian m. carlson
2014-02-01  2:18 ` [PATCH v3 7/9] rebase: parse options in stuck-long mode brian m. carlson
2014-02-01  2:18 ` [PATCH v3 8/9] rebase: add the --gpg-sign option brian m. carlson
2014-02-03 21:42   ` Junio C Hamano
2014-02-07 23:50     ` brian m. carlson
2014-02-08 13:04       ` Philip Oakley [this message]
2014-02-01  2:18 ` [PATCH v3 9/9] pull: " brian m. carlson
2014-02-03 20:31   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F62B49.7080709@iee.org \
    --to=philipoakley@iee.org \
    --cc=boklm@mars-attacks.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sandals@crustytoothpaste.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).