Re: [GSoC][PATCH] commit: add a commit.signOff config variable
- From
Stefan Beller <sbeller@google.com>
- Date
- Feb 5, 2018, 21:50 UTC
- Message-ID
- <CAGZ79kZgqDp49McgtzWRbArsK6qVz1E9Syi5tJo73F-+T4UOiA@mail.gmail.com>
- In-Reply-To
- <20180204020318.4363-1-chenjingpiao@gmail.com>
On Sat, Feb 3, 2018 at 6:03 PM, Chen Jingpiao <chenjingpiao@gmail.com> wrote:
Show 5 quoted lines
> Add the commit.signOff configuration variable to use the -s or --signoff > option of git commit by default. > > Signed-off-by: Chen Jingpiao <chenjingpiao@gmail.com> > ---
Welcome to the Git community!
> > Though we can configure signoff using format.signOff variable. Someone like to > add Signed-off-by line by the committer.
There is more discussion about this at https://public-inbox.org/git/1482946838-28779-1-git-send-email-ehabkost@redhat.com/ specifically https://public-inbox.org/git/xmqqtw9m5s5m.fsf@gitster.mtv.corp.google.com/
Not sure if there was any other reasons and discussions brought up since then, but that discussion seems to not favor patches that add .signoff options.
Thanks, Stefan
Show 133 quoted lines
>
> Documentation/config.txt | 4 +++
> Documentation/git-commit.txt | 2 ++
> builtin/commit.c | 4 +++
> t/t7501-commit.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 79 insertions(+)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 0e25b2c92..5dec3f0cb 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -1303,6 +1303,10 @@ commit.gpgSign::
> convenient to use an agent to avoid typing your GPG passphrase
> several times.
>
> +commit.signOff::
> + A boolean value which lets you enable the `-s/--signoff` option of
> + `git commit` by default. See linkgit:git-commit[1].
> +
> commit.status::
> A boolean to enable/disable inclusion of status information in the
> commit message template when using an editor to prepare the commit
> diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
> index f970a4342..7a28ea765 100644
> --- a/Documentation/git-commit.txt
> +++ b/Documentation/git-commit.txt
> @@ -166,6 +166,8 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.
> the rights to submit this work under the same license and
> agrees to a Developer Certificate of Origin
> (see http://developercertificate.org/ for more information).
> + See the `commit.signOff` configuration variable in
> + linkgit:git-config[1].
>
> -n::
> --no-verify::
> diff --git a/builtin/commit.c b/builtin/commit.c
> index 4610e3d8e..324213254 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -1548,6 +1548,10 @@ static int git_commit_config(const char *k, const char *v, void *cb)
> sign_commit = git_config_bool(k, v) ? "" : NULL;
> return 0;
> }
> + if (!strcmp(k, "commit.signoff")) {
> + signoff = git_config_bool(k, v);
> + return 0;
> + }
> if (!strcmp(k, "commit.verbose")) {
> int is_bool;
> config_commit_verbose = git_config_bool_or_int(k, v, &is_bool);
> diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
> index fa61b1a4e..46733ed2a 100755
> --- a/t/t7501-commit.sh
> +++ b/t/t7501-commit.sh
> @@ -505,6 +505,75 @@ Myfooter: x" &&
> test_cmp expected actual
> '
>
> +test_expect_success "commit.signoff=true and --signoff omitted" '
> + echo 7 >positive &&
> + git add positive &&
> + git -c commit.signoff=true commit -m "thank you" &&
> + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
> + (
> + echo thank you
> + echo
> + git var GIT_COMMITTER_IDENT |
> + sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /"
> + ) >expected &&
> + test_cmp expected actual
> +'
> +
> +test_expect_success "commit.signoff=true and --signoff" '
> + echo 8 >positive &&
> + git add positive &&
> + git -c commit.signoff=true commit --signoff -m "thank you" &&
> + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
> + (
> + echo thank you
> + echo
> + git var GIT_COMMITTER_IDENT |
> + sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /"
> + ) >expected &&
> + test_cmp expected actual
> +'
> +
> +test_expect_success "commit.signoff=true and --no-signoff" '
> + echo 9 >positive &&
> + git add positive &&
> + git -c commit.signoff=true commit --no-signoff -m "thank you" &&
> + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
> + echo thank you >expected &&
> + test_cmp expected actual
> +'
> +
> +test_expect_success "commit.signoff=false and --signoff omitted" '
> + echo 10 >positive &&
> + git add positive &&
> + git -c commit.signoff=false commit -m "thank you" &&
> + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
> + echo thank you >expected &&
> + test_cmp expected actual
> +'
> +
> +test_expect_success "commit.signoff=false and --signoff" '
> + echo 11 >positive &&
> + git add positive &&
> + git -c commit.signoff=false commit --signoff -m "thank you" &&
> + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
> + (
> + echo thank you
> + echo
> + git var GIT_COMMITTER_IDENT |
> + sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /"
> + ) >expected &&
> + test_cmp expected actual
> +'
> +
> +test_expect_success "commit.signoff=false and --no-signoff" '
> + echo 12 >positive &&
> + git add positive &&
> + git -c commit.signoff=false commit --no-signoff -m "thank you" &&
> + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
> + echo thank you >expected &&
> + test_cmp expected actual
> +'
> +
> test_expect_success 'multiple -m' '
>
> >negative &&
> --
> 2.16.1.70.g5ccd54536
>