pull: add the --gpg-sign option.

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> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Feb 10, 2014 at 01:03 UTC ea230d8b626d48a5b7851d84f75dd6708479cb59
1 file changed +12 -1
git-pull.sh
+12 -1
@@ -138,6 +138,15 @@ do
138 --no-verify-signatures)
139 verify_signatures=--no-verify-signatures
140 ;;
141 + --gpg-sign|-S)
142 + gpg_sign_args=-S
143 + ;;
144 + --gpg-sign=*)
145 + gpg_sign_args=$(git rev-parse --sq-quote "-S${1#--gpg-sign=}")
146 + ;;
147 + -S*)
148 + gpg_sign_args=$(git rev-parse --sq-quote "$1")
149 + ;;
150 --d|--dr|--dry|--dry-|--dry-r|--dry-ru|--dry-run)
151 dry_run=--dry-run
152 ;;
@@ -305,11 +314,13 @@ merge_name=$(git fmt-merge-msg $log_arg <"$GIT_DIR/FETCH_HEAD") || exit
314 case "$rebase" in
315 true)
316 eval="git-rebase $diffstat $strategy_args $merge_args $rebase_args $verbosity"
317 + eval="$eval $gpg_sign_args"
318 eval="$eval --onto $merge_head ${oldremoteref:-$merge_head}"
319 ;;
320 *)
321 eval="git-merge $diffstat $no_commit $verify_signatures $edit $squash $no_ff $ff_only"
312 - eval="$eval $log_arg $strategy_args $merge_args $verbosity $progress"
322 + eval="$eval $log_arg $strategy_args $merge_args $verbosity $progress"
323 + eval="$eval $gpg_sign_args"
324 eval="$eval \"\$merge_name\" HEAD $merge_head"
325 ;;
326 esac