Re: [PATCH v3 9/9] pull: add the --gpg-sign option.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 3, 2014, 20:31 UTC
- Message-ID
- <xmqqd2j4djkc.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1391221086-1044384-10-git-send-email-sandals@crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 26 quoted lines
> git merge already allows us to sign commits, and git rebase has recently
> learned how to do so as well. Teach git pull to parse the -S/--gpg-sign
> option and pass this along to merge or rebase, as appropriate.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
> git-pull.sh | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/git-pull.sh b/git-pull.sh
> index 0a5aa2c..3b2ea9e 100755
> --- a/git-pull.sh
> +++ b/git-pull.sh
> @@ -138,6 +138,15 @@ do
> --no-verify-signatures)
> verify_signatures=--no-verify-signatures
> ;;
> + --gpg-sign|-S)
> + gpg_sign_args=-S
> + ;;
> + --gpg-sign=*)
> + gpg_sign_args="$(git rev-parse --sq-quote "-S${1#--gpg-sign=}")"
> + ;;
> + -S*)
> + gpg_sign_args="-S${1#-S}"
> + ;;Interesting. Remove -S from the beginning and then prefix that with -S?
Also, --gpg-sign='"b m c" <s@c.n>' and -S'"b m c" <s@c.n>' from the command line of this program would result in $gpg_sign_args that are differently quoted. Both of them cannot be correct at the same time.
Show 18 quoted lines
> --d|--dr|--dry|--dry-|--dry-r|--dry-ru|--dry-run)
> dry_run=--dry-run
> ;;
> @@ -305,11 +314,13 @@ merge_name=$(git fmt-merge-msg $log_arg <"$GIT_DIR/FETCH_HEAD") || exit
> case "$rebase" in
> true)
> eval="git-rebase $diffstat $strategy_args $merge_args $rebase_args $verbosity"
> + eval="$eval $gpg_sign_args"
> eval="$eval --onto $merge_head ${oldremoteref:-$merge_head}"
> ;;
> *)
> eval="git-merge $diffstat $no_commit $verify_signatures $edit $squash $no_ff $ff_only"
> - eval="$eval $log_arg $strategy_args $merge_args $verbosity $progress"
> + eval="$eval $log_arg $strategy_args $merge_args $verbosity $progress"
> + eval="$eval $gpg_sign_args"
> eval="$eval \"\$merge_name\" HEAD $merge_head"
> ;;
> esac