Skip to content

Commit ea230d8

Browse files
bk2204gitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 3ee5e54 commit ea230d8

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

git-pull.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,15 @@ do
138138
--no-verify-signatures)
139139
verify_signatures=--no-verify-signatures
140140
;;
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+
;;
141150
--d|--dr|--dry|--dry-|--dry-r|--dry-ru|--dry-run)
142151
dry_run=--dry-run
143152
;;
@@ -305,11 +314,13 @@ merge_name=$(git fmt-merge-msg $log_arg <"$GIT_DIR/FETCH_HEAD") || exit
305314
case "$rebase" in
306315
true)
307316
eval="git-rebase $diffstat $strategy_args $merge_args $rebase_args $verbosity"
317+
eval="$eval $gpg_sign_args"
308318
eval="$eval --onto $merge_head ${oldremoteref:-$merge_head}"
309319
;;
310320
*)
311321
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"
313324
eval="$eval \"\$merge_name\" HEAD $merge_head"
314325
;;
315326
esac

0 commit comments

Comments
 (0)