Commit ba3c69a9 (commit: teach --gpg-sign option, 2011-10-05) added the
-S option but documented it in the command usage without indicating that
the value is optional and forgot to mention it in the manpage.  Later
commit 098bbdc3 (Add -S, --gpg-sign option to manpage of "git commit",
2012-10-21) documented the option in the porcelain manpage.

Use wording from the porcelain manpage to document the option in the
plumbing manpage.  Also update the commit-tree usage summary to indicate
that the -S value is optional to be consistent with the manpage and with
the implementation.

Signed-off-by: Brad King <>

On 03/25/2013 04:39 PM, Junio C Hamano wrote:
> This does not seem to use the same wording, though.
>       git commit -S
> will pick up the signing key by calling get_signing_key() the same
> way "git tag -s" would, iow, <keyid> part is optional.

Ahh, I was fooled by the commit-tree usage synopsis and didn't
read deeply enough into the implementation.  Here is an updated
patch to cover that too.

 Documentation/git-commit-tree.txt |    7 ++++++-
 builtin/commit-tree.c             |    2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Documentation/git-commit-tree.txt 
index 86ef56e..cafdc96 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -10,7 +10,9 @@ SYNOPSIS
 'git commit-tree' <tree> [(-p <parent>)...] < changelog
-'git commit-tree' [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] 
+'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]
+                 [(-F <file>)...] <tree>
@@ -52,6 +54,9 @@ OPTIONS
        Read the commit log message from the given file. Use `-` to read
        from the standard input.
+       GPG-sign commit.
 Commit Information
diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index eac901a..f641ff2 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -10,7 +10,7 @@
 #include "utf8.h"
 #include "gpg-interface.h"
-static const char commit_tree_usage[] = "git commit-tree [(-p <sha1>)...] 
[-S<signer>] [-m <message>] [-F <file>] <sha1> <changelog";
+static const char commit_tree_usage[] = "git commit-tree [(-p <sha1>)...] 
[-S[<keyid>]] [-m <message>] [-F <file>] <sha1> <changelog";
 static void new_parent(struct commit *parent, struct commit_list **parents_p)

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to