"brian m. carlson" <sand...@crustytoothpaste.net> writes:

> 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 <sand...@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.


>       --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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to