Subject: [PATCH v3 0/6] Honour and Document --no-gpg-sign

From: Đoàn Trần Công Danh <[email-masked]>
Date: Fri, 3 Apr 2020 17:28:01 +0700

The subcommand `git commit` supports a `--no-gpg-sign` argument, which is
useful incases where e.g. a GPG key is specified in `.gitconfig`,
but is located on a hardware key that may not currently be attached to
the system.

Multiple commands that understand --gpg-sign but haven't understand
--no-gpg-sign, yet.

Also, document more commands that honours --no-gpg-sign

Change in v3 since v2:
- Use `backticks` instead of "dquote" for options
- Add missing "--no-gpg-sign::"
- Merge git-commit-tree --[no-]gpg-sign"

Change in v2 since v1:
- FREE_AND_NULL as soon as possible
- update test code for rebase --no-gpg-sign
- revert (--edit which is default in tty) now honours --no-gpg-sign
- cherry-pick --edit now honours --no-gpg-sign
- add more documentation

Đoàn Trần Công Danh (6):
  rebase.c: honour --no-gpg-sign
  cherry-pick/revert: honour --no-gpg-sign in all case
  Documentation: document am --no-gpg-sign
  Documentation: reword commit --no-gpg-sign
  Documentation: merge commit-tree --[no-]gpg-sign
  Documentation: document merge option --no-gpg-sign

 Documentation/git-am.txt          |  5 +-
 Documentation/git-cherry-pick.txt |  5 +-
 Documentation/git-commit-tree.txt |  8 ++-
 Documentation/git-commit.txt      |  9 ++--
 Documentation/git-rebase.txt      |  5 +-
 Documentation/git-revert.txt      |  5 +-
 Documentation/merge-options.txt   |  5 +-
 builtin/rebase.c                  |  7 +--
 sequencer.c                       |  2 +
 t/t3435-rebase-gpg-sign.sh        | 71 +++++++++++++++++++++++++
 t/t3514-cherry-pick-revert-gpg.sh | 86 +++++++++++++++++++++++++++++++
 11 files changed, 190 insertions(+), 18 deletions(-)
 create mode 100755 t/t3435-rebase-gpg-sign.sh
 create mode 100755 t/t3514-cherry-pick-revert-gpg.sh

Range-diff against v2:
1:  b886c69e92 ! 1:  b601c99f7b rebase.c: honour --no-gpg-sign
    @@ Metadata
      ## Commit message ##
         rebase.c: honour --no-gpg-sign
     
    -    Signed-off-by: Đoàn Trần Công Danh <[email-masked]>
    -
      ## Documentation/git-rebase.txt ##
     @@ Documentation/git-rebase.txt: See also INCOMPATIBLE OPTIONS below.
      
    @@ Documentation/git-rebase.txt: See also INCOMPATIBLE OPTIONS below.
      	GPG-sign commits. The `keyid` argument is optional and
      	defaults to the committer identity; if specified, it must be
     -	stuck to the option without a space.
    -+	stuck to the option without a space. "--no-gpg-sign" is useful to
    ++	stuck to the option without a space. `--no-gpg-sign` is useful to
     +	countermand both `commit.gpgSign` configuration variable, and
    -+	earlier "--gpg-sign".
    ++	earlier `--gpg-sign`.
      
      -q::
      --quiet::
2:  e1b6d7866d ! 2:  28ebbfe72a cherry-pick/revert: honour --no-gpg-sign in all case
    @@ Documentation/git-cherry-pick.txt: effect to your index in a row.
      	GPG-sign commits. The `keyid` argument is optional and
      	defaults to the committer identity; if specified, it must be
     -	stuck to the option without a space.
    -+	stuck to the option without a space. "--no-gpg-sign" is useful to
    ++	stuck to the option without a space. `--no-gpg-sign` is useful to
     +	countermand both `commit.gpgSign` configuration variable, and
    -+	earlier "--gpg-sign".
    ++	earlier `--gpg-sign`.
      
      --ff::
      	If the current HEAD is the same as the parent of the
    @@ Documentation/git-revert.txt: effect to your index in a row.
      	GPG-sign commits. The `keyid` argument is optional and
      	defaults to the committer identity; if specified, it must be
     -	stuck to the option without a space.
    -+	stuck to the option without a space. "--no-gpg-sign" is useful to
    ++	stuck to the option without a space. `--no-gpg-sign` is useful to
     +	countermand both `commit.gpgSign` configuration variable, and
    -+	earlier "--gpg-sign".
    ++	earlier `--gpg-sign`.
      
      -s::
      --signoff::
3:  9cc14b52e4 < -:  ---------- Documentation: document am --no-gpg-sign
4:  801750016e < -:  ---------- Documentation: reword commit --no-gpg-sign
-:  ---------- > 3:  340374fb68 Documentation: document am --no-gpg-sign
-:  ---------- > 4:  1b952f7348 Documentation: reword commit --no-gpg-sign
-:  ---------- > 5:  685832b069 Documentation: merge commit-tree --[no-]gpg-sign
5:  857178defd ! 6:  b1a3d42355 Documentation: document merge option --no-gpg-sign
    @@ Documentation/merge-options.txt: When not possible, refuse to merge and exit wit
      	GPG-sign the resulting merge commit. The `keyid` argument is
      	optional and defaults to the committer identity; if specified,
     -	it must be stuck to the option without a space.
    -+	it must be stuck to the option without a space. "--no-gpg-sign"
    ++	it must be stuck to the option without a space. `--no-gpg-sign`
     +	is useful to countermand both `commit.gpgSign` configuration variable,
    -+	and earlier "--gpg-sign".
    ++	and earlier `--gpg-sign`.
      
      --log[=<n>]::
      --no-log::
-- 
2.26.0.334.g6536db25bb