git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 4/8] am: add the --gpg-sign option

From
Nicolas Vigier <boklm@mars-attacks.org>
Date
Nov 3, 2013, 15:54 UTC
Message-ID
<1383494064-5653-5-git-send-email-boklm@mars-attacks.org>
In-Reply-To
<1383494064-5653-1-git-send-email-boklm@mars-attacks.org>
Signed-off-by: Nicolas Vigier <boklm@mars-attacks.org>
---
 Documentation/git-am.txt | 6 +++++-
 git-am.sh                | 9 ++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 54d8461d61b2..17924d0f3ff3 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -14,7 +14,7 @@ SYNOPSIS
 	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
 	 [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
 	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
-	 [--[no-]scissors]
+	 [--[no-]scissors] [-S[<keyid>]]
 	 [(<mbox> | <Maildir>)...]
 'git am' (--continue | --skip | --abort)
 
@@ -119,6 +119,10 @@ default.   You can use `--no-utf8` to override this.
 	Skip the current patch.  This is only meaningful when
 	restarting an aborted patch.
 
+-S[<keyid>]::
+--gpg-sign[=<keyid>]::
+	GPG-sign commits.
+
 --continue::
 -r::
 --resolved::
diff --git a/git-am.sh b/git-am.sh
index 020abf6940bd..dccbae2af0de 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -38,6 +38,7 @@ abort           restore the original branch and abort the patching operation.
 committer-date-is-author-date    lie about committer date
 ignore-date     use current timestamp for author date
 rerere-autoupdate update the index with reused conflict resolution if possible
+S,gpg-sign?     GPG-sign commits
 rebasing*       (internal use for git-rebase)"
 
 . git-sh-setup
@@ -375,6 +376,7 @@ git_apply_opt=
 committer_date_is_author_date=
 ignore_date=
 allow_rerere_autoupdate=
+gpg_sign_opt=
 
 if test "$(git config --bool --get am.keepcr)" = true
 then
@@ -436,6 +438,10 @@ it will be removed. Please do not use it anymore."
 		keepcr=t ;;
 	--no-keep-cr)
 		keepcr=f ;;
+	--gpg-sign)
+		gpg_sign_opt=-S ;;
+	--gpg-sign=*)
+		gpg_sign_opt="-S${1#--gpg-sign=}" ;;
 	--)
 		shift; break ;;
 	*)
@@ -900,7 +906,8 @@ did you forget to use 'git add'?"
 			GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
 			export GIT_COMMITTER_DATE
 		fi &&
-		git commit-tree $tree ${parent:+-p} $parent <"$dotest/final-commit"
+		git commit-tree ${gpg_sign_opt:+"$gpg_sign_opt"} $tree ${parent:+-p} $parent \
+			<"$dotest/final-commit"
 	) &&
 	git update-ref -m "$GIT_REFLOG_ACTION: $FIRSTLINE" HEAD $commit $parent ||
 	stop_here $this
-- 
1.8.4.2
Previous: Nicolas VigierNext: Nicolas Vigier
Message 9 of 15 in “Adding --gpg-sign to cherry-pick, revert, am, rebase”
  1. Nicolas VigierNov 3, 2013
  2. 1/8 cherry-pick, revert: add the --gpg-sign optionNicolas Vigier, Nov 3, 2013
  3. brian m. carlsonNov 3, 2013
  4. Nicolas VigierNov 3, 2013
  5. cherry-pick, revert: add the --gpg-sign optionNicolas Vigier, Nov 3, 2013
  6. brian m. carlsonNov 3, 2013
  7. 2/8 git-sh-setup.sh: add variable to use the stuck-long modeNicolas Vigier, Nov 3, 2013
  8. 3/8 am: parse options in stuck-long modeNicolas Vigier, Nov 3, 2013
  9. 4/8 am: add the --gpg-sign optionNicolas Vigier, Nov 3, 2013
  10. am: add the --gpg-sign optionNicolas Vigier, Nov 3, 2013
  11. 5/8 rebase: remove useless arguments checkNicolas Vigier, Nov 3, 2013
  12. 6/8 rebase: don't try to match -M optionNicolas Vigier, Nov 3, 2013
  13. 7/8 rebase: parse options in stuck-long modeNicolas Vigier, Nov 3, 2013
  14. 8/8 rebase: add the --gpg-sign optionNicolas Vigier, Nov 3, 2013
  15. brian m. carlsonDec 8, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.