{"thread":{"id":"64624","subject":"Would it make sense to add a commit.signOff config?","startedAt":"2025-12-14T16:18:15Z","lastAt":"2025-12-19T12:52:47Z","messageCount":20,"participants":["Stefan Haller","Carlo Marcelo Arenas Belón","Junio C Hamano","Collin Funk","brian m. carlson","Elijah Newren","Johannes Sixt","Kristoffer Haugsbakk"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"532148","messageId":"86c5d40d-5a06-4a69-90d8-a737685b0536@haller-berlin.de","threadId":"64624","inReplyTo":null,"subject":"Would it make sense to add a commit.signOff config?","fromName":"Stefan Haller","fromEmail":"lists@haller-berlin.de","sentAt":"2025-12-14T16:10:19Z","receivedAt":"2025-12-14T16:18:15Z","isPatch":false,"sender":{"key":"lists@haller-berlin.de","avatar":null},"body":"I find it interesting that of all the git commands that take a --signoff\nargument, format-patch is the only one that has a corresponding config\nto turn it on for all invocations. I would have thought that git commit\nneeds this even more; I find it reasonable for users to decide that they\nwant to add a Signed-off-by trailer to all the commits they make.\n\nBut then, what about merge, cherry-pick, and revert? Does it make sense\nto turn it on globally for those as well?\n\nThe background of this question is lazygit, which has a config for\nenabling --signoff for all commits made by it. We recently had a feature\nrequest to extend the meaning of that config to revert as well, and the\ndiscussion came up whether that's a good idea, and if so, whether it\nshould also extend to cherry-pick and merge.\n\nAny opinions about this? Since I work mostly in closed-source contexts I\ndon't have much experience with the meaning of Signed-off-by trailers.\n\n-Stefan\n"},{"id":"532149","messageId":"aT7lkXl65-TBIsRS@Carlos-MacBook-Air.local","threadId":"64624","inReplyTo":"86c5d40d-5a06-4a69-90d8-a737685b0536@haller-berlin.de","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2025-12-14T16:44:24Z","receivedAt":"2025-12-14T16:44:26Z","isPatch":false,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"On Sun, Dec 14, 2025 at 05:10:19PM -0800, Stefan Haller wrote:\n> I find it interesting that of all the git commands that take a --signoff\n> argument, format-patch is the only one that has a corresponding config\n> to turn it on for all invocations. I would have thought that git commit\n> needs this even more; I find it reasonable for users to decide that they\n> want to add a Signed-off-by trailer to all the commits they make.\n> \n> But then, what about merge, cherry-pick, and revert? Does it make sense\n> to turn it on globally for those as well?\n> \n> The background of this question is lazygit, which has a config for\n> enabling --signoff for all commits made by it. We recently had a feature\n> request to extend the meaning of that config to revert as well, and the\n> discussion came up whether that's a good idea, and if so, whether it\n> should also extend to cherry-pick and merge.\n> \n> Any opinions about this?\n\nthis was discussed recently[0] and the point that was made is that SOA are\nmeant to be relevant mainly in open source contexts and should be explicitly\ngiven.\n\nCarlo\n\n[0] https://lore.kernel.org/git/xmqq4iwvfx8s.fsf@gitster.g/\n"},{"id":"532155","messageId":"xmqqsedc8w7k.fsf@gitster.g","threadId":"64624","inReplyTo":"aT7lkXl65-TBIsRS@Carlos-MacBook-Air.local","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-14T23:44:47Z","receivedAt":"2025-12-14T23:44:50Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n\n> this was discussed recently[0] and the point that was made is that SOA are\n> meant to be relevant mainly in open source contexts and should be explicitly\n> given.\n>\n> Carlo\n>\n> [0] https://lore.kernel.org/git/xmqq4iwvfx8s.fsf@gitster.g/\n\nThanks for a spelunking starter.\n\nPerhaps we should resurrect a proposed patch from 2020 (which no\nlonger apply cleanly, but quoted to show what the additinoal text\nsaid).\n\nhttps://lore.kernel.org/git/xmqqpnfw8gyn.fsf@gitster-ct.c.googlers.com/\n\nto save time from potential contributors?  I do not want to see new\ncontributors feeling they wasted their time after putting their\neffort.\n\n\n\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex ced5a9beab..1909551087 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -171,6 +171,13 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n \tthe rights to submit this work under the same license and\n \tagrees to a Developer Certificate of Origin\n \t(see http://developercertificate.org/ for more information).\n++\n+As it makes it harder to argue against one who tells the court \"that\n+log message ends with a SoB by person X but it is very plausible\n+that it was done by inertia without person X really intending to\n+certify what DCO says, and the SoB is meaningless.\" to more\n+publicized ways to add SoB automatically, Git does not (and will not)\n+have a configuration variable to enable it by default.\n \n -n::\n --no-verify::\n\n\n"},{"id":"532156","messageId":"87zf7k39l2.fsf@gmail.com","threadId":"64624","inReplyTo":"xmqqsedc8w7k.fsf@gitster.g","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Collin Funk","fromEmail":"collin.funk1@gmail.com","sentAt":"2025-12-14T23:52:25Z","receivedAt":"2025-12-14T23:52:27Z","isPatch":false,"sender":{"key":"collin.funk1@gmail.com","avatar":"https://avatars.githubusercontent.com/u/65689063?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n>\n>> this was discussed recently[0] and the point that was made is that SOA are\n>> meant to be relevant mainly in open source contexts and should be explicitly\n>> given.\n>>\n>> Carlo\n>>\n>> [0] https://lore.kernel.org/git/xmqq4iwvfx8s.fsf@gitster.g/\n>\n> Thanks for a spelunking starter.\n>\n> Perhaps we should resurrect a proposed patch from 2020 (which no\n> longer apply cleanly, but quoted to show what the additinoal text\n> said).\n>\n> https://lore.kernel.org/git/xmqqpnfw8gyn.fsf@gitster-ct.c.googlers.com/\n>\n> to save time from potential contributors?  I do not want to see new\n> contributors feeling they wasted their time after putting their\n> effort.\n\nSounds like a good idea to me since it has come up a few times and, at\nleast from that thread, there is wide agreement it shouldn't be added.\n\n> diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\n> index ced5a9beab..1909551087 100644\n> --- a/Documentation/git-commit.txt\n> +++ b/Documentation/git-commit.txt\n> @@ -171,6 +171,13 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n>  \tthe rights to submit this work under the same license and\n>  \tagrees to a Developer Certificate of Origin\n>  \t(see http://developercertificate.org/ for more information).\n> ++\n> +As it makes it harder to argue against one who tells the court \"that\n> +log message ends with a SoB by person X but it is very plausible\n> +that it was done by inertia without person X really intending to\n> +certify what DCO says, and the SoB is meaningless.\" to more\n> +publicized ways to add SoB automatically, Git does not (and will not)\n> +have a configuration variable to enable it by default.\n\nI think it is a bit more clear to just write \"Signed-off-by\" instead of\nusing the abbreviation SoB. That isn't used elsewhere, as far as I can\ntell.\n\nCollin\n"},{"id":"532157","messageId":"aT9iu9He3yJ3npWX@fruit.crustytoothpaste.net","threadId":"64624","inReplyTo":"xmqqsedc8w7k.fsf@gitster.g","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2025-12-15T01:22:03Z","receivedAt":"2025-12-15T01:22:11Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2025-12-14 at 23:44:47, Junio C Hamano wrote:\n> Thanks for a spelunking starter.\n> \n> Perhaps we should resurrect a proposed patch from 2020 (which no\n> longer apply cleanly, but quoted to show what the additinoal text\n> said).\n> \n> https://lore.kernel.org/git/xmqqpnfw8gyn.fsf@gitster-ct.c.googlers.com/\n> \n> to save time from potential contributors?  I do not want to see new\n> contributors feeling they wasted their time after putting their\n> effort.\n\nI think this would be a fine approach or we could add an entry in the\nGit FAQ (or both).  I agree that this is something that comes up\nfrequently and writing it down in a more visible way would be kinder to\nusers and mailing list participants.\n\n> diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\n> index ced5a9beab..1909551087 100644\n> --- a/Documentation/git-commit.txt\n> +++ b/Documentation/git-commit.txt\n> @@ -171,6 +171,13 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n>  \tthe rights to submit this work under the same license and\n>  \tagrees to a Developer Certificate of Origin\n>  \t(see http://developercertificate.org/ for more information).\n> ++\n> +As it makes it harder to argue against one who tells the court \"that\n> +log message ends with a SoB by person X but it is very plausible\n> +that it was done by inertia without person X really intending to\n> +certify what DCO says, and the SoB is meaningless.\" to more\n\nI think the period should be replaced here by a comma since the\nquotation is part of a larger sentence.\n\n> +publicized ways to add SoB automatically, Git does not (and will not)\n> +have a configuration variable to enable it by default.\n-- \nbrian m. carlson (they/them)\nToronto, Ontario, CA\n"},{"id":"532158","messageId":"xmqqldj48pyl.fsf@gitster.g","threadId":"64624","inReplyTo":"aT9iu9He3yJ3npWX@fruit.crustytoothpaste.net","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-15T01:59:46Z","receivedAt":"2025-12-15T01:59:48Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n\n> I think this would be a fine approach or we could add an entry in the\n> Git FAQ (or both).  I agree that this is something that comes up\n> frequently and writing it down in a more visible way would be kinder to\n> users and mailing list participants.\n\nSomething like this, then?\n\n---- >8 ----\nSubject: [PATCH] document that foo.signoff will not be added\n\nEvery now and then we see this coming up on the list.  Let's help\nnew contributors who are not aware of past discussions by clearly\ndocumenting our past consensus.\n\nHelped-by: brian m. carlson <sandals@crustytoothpaste.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n Documentation/gitfaq.adoc         | 15 +++++++++++++++\n Documentation/signoff-option.adoc | 12 ++++++++++++\n 2 files changed, 27 insertions(+)\n\ndiff --git c/Documentation/gitfaq.adoc w/Documentation/gitfaq.adoc\nindex f2917d142c..656093047a 100644\n--- c/Documentation/gitfaq.adoc\n+++ w/Documentation/gitfaq.adoc\n@@ -83,6 +83,21 @@ Windows would be the configuration `\"C:\\Program Files\\Vim\\gvim.exe\" --nofork`,\n which quotes the filename with spaces and specifies the `--nofork` option to\n avoid backgrounding the process.\n \n+[[sign-off]]\n+Why not have `commit.signoff` and other configuration variables?::\n+\tAs it makes it harder to argue against one who tells the court\n+\t\"the log message of the commit ends with a Signed-off-by\n+\ttrailer by person X, but it is very plausible that it was done\n+\tby inertia without person X really intending to certify what\n+\tDCO says, hence the Signed-off-by trailer is meaningless\", if\n+\twe add more publicized ways to add sign-off automatically, Git\n+\tdoes not (and will not) have a configuration variable to\n+\tenable the `--signoff` command line option it by default.\n++\n+There exists `format.signoff`, but that is a historical mistake, and\n+it is not an excuse to pile on more mistakes of the same kind on top.\n+\n+\n Credentials\n -----------\n \ndiff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\nindex cddfb225d1..0b869dfbe4 100644\n--- c/Documentation/signoff-option.adoc\n+++ w/Documentation/signoff-option.adoc\n@@ -16,3 +16,15 @@ endif::git-commit[]\n +\n The `--no-signoff` option can be used to countermand an earlier `--signoff`\n option on the command line.\n++\n+As it makes it harder to argue against one who tells the court \"the\n+log message of the commit ends with a Signed-off-by trailer by person\n+X, but it is very plausible that it was done by inertia without person\n+X really intending to certify what DCO says, hence the Signed-off-by\n+trailer is meaningless\", if we add more publicized ways to add\n+sign-off automatically, Git does not (and will not) have a\n+configuration variable to enable the `--signoff` command line option\n+it by default.\n++\n+There exists `format.signoff`, but that is a historical mistake, and\n+it is not an excuse to pile on more mistakes of the same kind on top.\n"},{"id":"532216","messageId":"aUCLz1wTOwilflAD@fruit.crustytoothpaste.net","threadId":"64624","inReplyTo":"xmqqldj48pyl.fsf@gitster.g","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2025-12-15T22:29:35Z","receivedAt":"2025-12-15T22:29:38Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2025-12-15 at 01:59:46, Junio C Hamano wrote:\n> \"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n> \n> > I think this would be a fine approach or we could add an entry in the\n> > Git FAQ (or both).  I agree that this is something that comes up\n> > frequently and writing it down in a more visible way would be kinder to\n> > users and mailing list participants.\n> \n> Something like this, then?\n\nYup, that looks good to me.\n-- \nbrian m. carlson (they/them)\nToronto, Ontario, CA\n"},{"id":"532221","messageId":"CABPp-BGCwjTBEi4wkg=065QofiO9ZL+9XVCCcTiHriXqgH1Szw@mail.gmail.com","threadId":"64624","inReplyTo":"xmqqldj48pyl.fsf@gitster.g","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2025-12-16T00:17:21Z","receivedAt":"2025-12-16T00:17:33Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Sun, Dec 14, 2025 at 6:00 PM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> \"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n>\n> > I think this would be a fine approach or we could add an entry in the\n> > Git FAQ (or both).  I agree that this is something that comes up\n> > frequently and writing it down in a more visible way would be kinder to\n> > users and mailing list participants.\n>\n> Something like this, then?\n>\n> ---- >8 ----\n> Subject: [PATCH] document that foo.signoff will not be added\n>\n> Every now and then we see this coming up on the list.  Let's help\n> new contributors who are not aware of past discussions by clearly\n> documenting our past consensus.\n>\n> Helped-by: brian m. carlson <sandals@crustytoothpaste.net>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>  Documentation/gitfaq.adoc         | 15 +++++++++++++++\n>  Documentation/signoff-option.adoc | 12 ++++++++++++\n>  2 files changed, 27 insertions(+)\n>\n> diff --git c/Documentation/gitfaq.adoc w/Documentation/gitfaq.adoc\n> index f2917d142c..656093047a 100644\n> --- c/Documentation/gitfaq.adoc\n> +++ w/Documentation/gitfaq.adoc\n> @@ -83,6 +83,21 @@ Windows would be the configuration `\"C:\\Program Files\\Vim\\gvim.exe\" --nofork`,\n>  which quotes the filename with spaces and specifies the `--nofork` option to\n>  avoid backgrounding the process.\n>\n> +[[sign-off]]\n> +Why not have `commit.signoff` and other configuration variables?::\n> +       As it makes it harder to argue against one who tells the court\n> +       \"the log message of the commit ends with a Signed-off-by\n> +       trailer by person X, but it is very plausible that it was done\n> +       by inertia without person X really intending to certify what\n> +       DCO says, hence the Signed-off-by trailer is meaningless\", if\n> +       we add more publicized ways to add sign-off automatically, Git\n> +       does not (and will not) have a configuration variable to\n> +       enable the `--signoff` command line option it by default.\n\nThis feels kind of hard to parse for me.  Maybe it's just the lack of\nsentence breaks, particularly near the end.  Let me take a stab at an\nalternative:\n\nGit intentionally does not (and will not) provide a configuration variable,\nsuch as `commit.signoff`, to automatically add `--signoff` by default.\nThe reason is to protect the legal and intentional significance of a sign-off.\nIf there were more automated and widely publicized ways for sign-offs to be\nappended, it would become easier for someone to argue later that a\n\"Signed-off-by\" trailer was just added out of habit or by automation,\nwithout the committer's full awareness or intent to certify their agreement\nwith the Developer Certificate of Origin (DCO) or a similar statement.\nThis would weaken the sign-off’s value and could undermine its credibility\nin legal or contractual situations. To uphold the integrity of a sign-off,\nGit only adds it when explicitly requested, rather than through automatic\nconfiguration settings.\n\nMaybe the last sentence or two are a bit redundant and could be\nstricken.  Anyway, thoughts?\n\n> ++\n> +There exists `format.signoff`, but that is a historical mistake, and\n> +it is not an excuse to pile on more mistakes of the same kind on top.\n> +\n> +\n>  Credentials\n>  -----------\n>\n> diff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\n> index cddfb225d1..0b869dfbe4 100644\n> --- c/Documentation/signoff-option.adoc\n> +++ w/Documentation/signoff-option.adoc\n> @@ -16,3 +16,15 @@ endif::git-commit[]\n>  +\n>  The `--no-signoff` option can be used to countermand an earlier `--signoff`\n>  option on the command line.\n> ++\n> +As it makes it harder to argue against one who tells the court \"the\n> +log message of the commit ends with a Signed-off-by trailer by person\n> +X, but it is very plausible that it was done by inertia without person\n> +X really intending to certify what DCO says, hence the Signed-off-by\n> +trailer is meaningless\", if we add more publicized ways to add\n> +sign-off automatically, Git does not (and will not) have a\n> +configuration variable to enable the `--signoff` command line option\n> +it by default.\n> ++\n> +There exists `format.signoff`, but that is a historical mistake, and\n> +it is not an excuse to pile on more mistakes of the same kind on top.\n\nThis feels like it's missing context (it'll take the reader a while to\nfigure out why the paragraphs are there and that the two are related),\nand isn't as helpful to someone just trying to understand which\ncommand line flags exist and what they do.  Maybe combine the two new\nparagraphs?  Or, perhaps just a shorter version that just refers to\nthe FAQ?  The latter might be something like:\n\nGit does not (and will not) have a configuration variable to enable\nthe `--signoff` command line option by default; see the\n`commit.signoff` entry in the gitfaq for more details.\n(`format.signoff`, is an exception, but it was a historical mistake,\nnot an excuse to pile on more mistakes.)\n"},{"id":"532229","messageId":"xmqqike75ikb.fsf@gitster.g","threadId":"64624","inReplyTo":"aUCLz1wTOwilflAD@fruit.crustytoothpaste.net","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-16T01:20:04Z","receivedAt":"2025-12-16T01:20:07Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n\n> On 2025-12-15 at 01:59:46, Junio C Hamano wrote:\n>> \"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n>> \n>> > I think this would be a fine approach or we could add an entry in the\n>> > Git FAQ (or both).  I agree that this is something that comes up\n>> > frequently and writing it down in a more visible way would be kinder to\n>> > users and mailing list participants.\n>> \n>> Something like this, then?\n>\n> Yup, that looks good to me.\n\nThanks.\n"},{"id":"532235","messageId":"xmqqwm2n40sf.fsf@gitster.g","threadId":"64624","inReplyTo":"CABPp-BGCwjTBEi4wkg=065QofiO9ZL+9XVCCcTiHriXqgH1Szw@mail.gmail.com","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-16T02:29:20Z","receivedAt":"2025-12-16T02:29:23Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Elijah Newren <newren@gmail.com> writes:\n\n>> diff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\n>> index cddfb225d1..0b869dfbe4 100644\n>> --- c/Documentation/signoff-option.adoc\n>> +++ w/Documentation/signoff-option.adoc\n>> @@ -16,3 +16,15 @@ endif::git-commit[]\n>>  +\n>>  The `--no-signoff` option can be used to countermand an earlier `--signoff`\n>>  option on the command line.\n>> ++\n>> +As it makes it harder to argue against one who tells the court \"the\n>> +log message of the commit ends with a Signed-off-by trailer by person\n>> +X, but it is very plausible that it was done by inertia without person\n>> +X really intending to certify what DCO says, hence the Signed-off-by\n>> +trailer is meaningless\", if we add more publicized ways to add\n>> +sign-off automatically, Git does not (and will not) have a\n>> +configuration variable to enable the `--signoff` command line option\n>> +it by default.\n>> ++\n>> +There exists `format.signoff`, but that is a historical mistake, and\n>> +it is not an excuse to pile on more mistakes of the same kind on top.\n>\n> This feels like it's missing context (it'll take the reader a while to\n> figure out why the paragraphs are there and that the two are related),\n\nVery true.  It may be sufficient to leave this part unmodified,\nkeep the updates to gitfaq document, and do nothing else.\n\n"},{"id":"532238","messageId":"706588fa-97f7-40b1-86c9-8e5c944c173a@kdbg.org","threadId":"64624","inReplyTo":"CABPp-BGCwjTBEi4wkg=065QofiO9ZL+9XVCCcTiHriXqgH1Szw@mail.gmail.com","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2025-12-16T07:15:09Z","receivedAt":"2025-12-16T07:15:18Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 16.12.25 um 01:17 schrieb Elijah Newren:\n> On Sun, Dec 14, 2025 at 6:00 PM Junio C Hamano <gitster@pobox.com> wrote:\n>> --- c/Documentation/gitfaq.adoc\n>> +++ w/Documentation/gitfaq.adoc\n>> @@ -83,6 +83,21 @@ Windows would be the configuration `\"C:\\Program Files\\Vim\\gvim.exe\" --nofork`,\n>>  which quotes the filename with spaces and specifies the `--nofork` option to\n>>  avoid backgrounding the process.\n>>\n>> +[[sign-off]]\n>> +Why not have `commit.signoff` and other configuration variables?::\n>> +       As it makes it harder to argue against one who tells the court\n>> +       \"the log message of the commit ends with a Signed-off-by\n>> +       trailer by person X, but it is very plausible that it was done\n>> +       by inertia without person X really intending to certify what\n>> +       DCO says, hence the Signed-off-by trailer is meaningless\", if\n>> +       we add more publicized ways to add sign-off automatically, Git\n>> +       does not (and will not) have a configuration variable to\n>> +       enable the `--signoff` command line option it by default.\n> \n> This feels kind of hard to parse for me.  Maybe it's just the lack of\n> sentence breaks, particularly near the end.  Let me take a stab at an\n> alternative:\n> \n> Git intentionally does not (and will not) provide a configuration variable,\n> such as `commit.signoff`, to automatically add `--signoff` by default.\n> The reason is to protect the legal and intentional significance of a sign-off.\n> If there were more automated and widely publicized ways for sign-offs to be\n> appended, it would become easier for someone to argue later that a\n> \"Signed-off-by\" trailer was just added out of habit or by automation,\n> without the committer's full awareness or intent to certify their agreement\n> with the Developer Certificate of Origin (DCO) or a similar statement.\n> This would weaken the sign-off’s value and could undermine its credibility\n> in legal or contractual situations. To uphold the integrity of a sign-off,\n> Git only adds it when explicitly requested, rather than through automatic\n> configuration settings.\n> \n> Maybe the last sentence or two are a bit redundant and could be\n> stricken.  Anyway, thoughts?\n\nThis is much easier to read. I'd shorten the last two sentences to\n\nThis could undermine the sign-off’s credibility in legal or contractual\nsituations.\n\n-- Hannes\n\n"},{"id":"532239","messageId":"be069975-8b0f-4915-8c50-0dcbf6efb142@kdbg.org","threadId":"64624","inReplyTo":"xmqqwm2n40sf.fsf@gitster.g","subject":"Re: Would it make sense to add a commit.signOff config?","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2025-12-16T07:10:30Z","receivedAt":"2025-12-16T07:52:04Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 16.12.25 um 03:29 schrieb Junio C Hamano:\n> Elijah Newren <newren@gmail.com> writes:\n> \n>>> diff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\n>>> index cddfb225d1..0b869dfbe4 100644\n>>> --- c/Documentation/signoff-option.adoc\n>>> +++ w/Documentation/signoff-option.adoc\n>>> @@ -16,3 +16,15 @@ endif::git-commit[]\n>>>  +\n>>>  The `--no-signoff` option can be used to countermand an earlier `--signoff`\n>>>  option on the command line.\n>>> ++\n>>> +As it makes it harder to argue against one who tells the court \"the\n>>> +log message of the commit ends with a Signed-off-by trailer by person\n>>> +X, but it is very plausible that it was done by inertia without person\n>>> +X really intending to certify what DCO says, hence the Signed-off-by\n>>> +trailer is meaningless\", if we add more publicized ways to add\n>>> +sign-off automatically, Git does not (and will not) have a\n>>> +configuration variable to enable the `--signoff` command line option\n>>> +it by default.\n>>> ++\n>>> +There exists `format.signoff`, but that is a historical mistake, and\n>>> +it is not an excuse to pile on more mistakes of the same kind on top.\n>>\n>> This feels like it's missing context (it'll take the reader a while to\n>> figure out why the paragraphs are there and that the two are related),\n> \n> Very true.  It may be sufficient to leave this part unmodified,\n> keep the updates to gitfaq document, and do nothing else.\nPlease do leave a pointer here. People who want to automate --signoff do\nnot visit gitfaq, but will search in the command's manual page.\n\n-- Hannes\n\n"},{"id":"532302","messageId":"xmqqv7i62r6w.fsf@gitster.g","threadId":"64624","inReplyTo":"xmqqldj48pyl.fsf@gitster.g","subject":"[PATCH v2] commit: document that $command.signoff will not be added","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-16T18:54:15Z","receivedAt":"2025-12-16T18:54:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Every now and then we see this coming up on the list.  Let's help\nnew contributors who are not aware of past discussions by clearly\ndocumenting our past consensus.\n\nHelped-by: brian m. carlson <sandals@crustytoothpaste.net>\nHelped-by: Elijah Newren <newren@gmail.com>\nHelped-by: Johannes Sixt <j6t@kdbg.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n * The text is from Elijah and Johannes this round; I am merely\n   playing a copybot.\n\n Documentation/gitfaq.adoc         | 19 +++++++++++++++++++\n Documentation/signoff-option.adoc |  4 ++++\n 2 files changed, 23 insertions(+)\n\ndiff --git c/Documentation/gitfaq.adoc w/Documentation/gitfaq.adoc\nindex f2917d142c..0e40befb77 100644\n--- c/Documentation/gitfaq.adoc\n+++ w/Documentation/gitfaq.adoc\n@@ -83,6 +83,25 @@ Windows would be the configuration `\"C:\\Program Files\\Vim\\gvim.exe\" --nofork`,\n which quotes the filename with spaces and specifies the `--nofork` option to\n avoid backgrounding the process.\n \n+[[sign-off]]\n+Why not have `commit.signoff` and other configuration variables?::\n+\tGit intentionally does not (and will not) provide a\n+\tconfiguration variable, such as `commit.signoff`, to\n+\tautomatically add `--signoff` by default.  The reason is to\n+\tprotect the legal and intentional significance of a sign-off.\n+\tIf there were more automated and widely publicized ways for\n+\tsign-offs to be appended, it would become easier for someone\n+\tto argue later that a \"Signed-off-by\" trailer was just added\n+\tout of habit or by automation, without the committer's full\n+\tawareness or intent to certify their agreement with the\n+\tDeveloper Certificate of Origin (DCO) or a similar statement.\n+\tThis could undermine the sign-off’s credibility in legal or\n+\tcontractual situations.\n++\n+There exists `format.signoff`, but that is a historical mistake, and\n+it is not an excuse to pile on more mistakes of the same kind on top.\n+\n+\n Credentials\n -----------\n \ndiff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\nindex cddfb225d1..9a80d60f1b 100644\n--- c/Documentation/signoff-option.adoc\n+++ w/Documentation/signoff-option.adoc\n@@ -16,3 +16,7 @@ endif::git-commit[]\n +\n The `--no-signoff` option can be used to countermand an earlier `--signoff`\n option on the command line.\n++\n+Git does not (and will not) have a configuration variable to enable\n+the `--signoff` command line option by default; see the\n+`commit.signoff` entry in the gitfaq for more details.\n"},{"id":"532308","messageId":"CABPp-BFgRLo66P49dzgaS0TCbTKtA9J_Fw17QWQUhsLoFXeLnw@mail.gmail.com","threadId":"64624","inReplyTo":"xmqqv7i62r6w.fsf@gitster.g","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2025-12-16T19:48:41Z","receivedAt":"2025-12-16T19:48:53Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Tue, Dec 16, 2025 at 10:54 AM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> Every now and then we see this coming up on the list.  Let's help\n> new contributors who are not aware of past discussions by clearly\n> documenting our past consensus.\n>\n> Helped-by: brian m. carlson <sandals@crustytoothpaste.net>\n> Helped-by: Elijah Newren <newren@gmail.com>\n> Helped-by: Johannes Sixt <j6t@kdbg.org>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>  * The text is from Elijah and Johannes this round; I am merely\n>    playing a copybot.\n\nThe text was derived from what you wrote, though...\n\n>  Documentation/gitfaq.adoc         | 19 +++++++++++++++++++\n>  Documentation/signoff-option.adoc |  4 ++++\n>  2 files changed, 23 insertions(+)\n>\n> diff --git c/Documentation/gitfaq.adoc w/Documentation/gitfaq.adoc\n> index f2917d142c..0e40befb77 100644\n> --- c/Documentation/gitfaq.adoc\n> +++ w/Documentation/gitfaq.adoc\n> @@ -83,6 +83,25 @@ Windows would be the configuration `\"C:\\Program Files\\Vim\\gvim.exe\" --nofork`,\n>  which quotes the filename with spaces and specifies the `--nofork` option to\n>  avoid backgrounding the process.\n>\n> +[[sign-off]]\n> +Why not have `commit.signoff` and other configuration variables?::\n> +       Git intentionally does not (and will not) provide a\n> +       configuration variable, such as `commit.signoff`, to\n> +       automatically add `--signoff` by default.  The reason is to\n> +       protect the legal and intentional significance of a sign-off.\n> +       If there were more automated and widely publicized ways for\n> +       sign-offs to be appended, it would become easier for someone\n> +       to argue later that a \"Signed-off-by\" trailer was just added\n> +       out of habit or by automation, without the committer's full\n> +       awareness or intent to certify their agreement with the\n> +       Developer Certificate of Origin (DCO) or a similar statement.\n> +       This could undermine the sign-off’s credibility in legal or\n> +       contractual situations.\n> ++\n> +There exists `format.signoff`, but that is a historical mistake, and\n> +it is not an excuse to pile on more mistakes of the same kind on top.\n> +\n> +\n>  Credentials\n>  -----------\n>\n> diff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\n> index cddfb225d1..9a80d60f1b 100644\n> --- c/Documentation/signoff-option.adoc\n> +++ w/Documentation/signoff-option.adoc\n> @@ -16,3 +16,7 @@ endif::git-commit[]\n>  +\n>  The `--no-signoff` option can be used to countermand an earlier `--signoff`\n>  option on the command line.\n> ++\n> +Git does not (and will not) have a configuration variable to enable\n> +the `--signoff` command line option by default; see the\n> +`commit.signoff` entry in the gitfaq for more details.\n\nI like Johannes' edits to the text I had; this commit looks good to me.\n"},{"id":"532316","messageId":"xmqqike53ea7.fsf@gitster.g","threadId":"64624","inReplyTo":"CABPp-BFgRLo66P49dzgaS0TCbTKtA9J_Fw17QWQUhsLoFXeLnw@mail.gmail.com","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-17T04:47:44Z","receivedAt":"2025-12-17T04:47:46Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Elijah Newren <newren@gmail.com> writes:\n\n> I like Johannes' edits to the text I had; this commit looks good to me.\n\nIf you liked the final result, it probably should not matter much,\nbut I cannot tell if you are (obliquely) pointing out that I failed\nto grab and apply Johannes's edit or if you are doubly agreeing with\nthe resulting text in the message you are responding to.\n\n"},{"id":"532325","messageId":"CABPp-BF=W_y7KFZBWbsDMAeM8+OWH4fJjfCzavPeaDT6UZoNRA@mail.gmail.com","threadId":"64624","inReplyTo":"xmqqike53ea7.fsf@gitster.g","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2025-12-17T07:40:15Z","receivedAt":"2025-12-17T07:40:27Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Tue, Dec 16, 2025 at 8:47 PM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> Elijah Newren <newren@gmail.com> writes:\n>\n> > I like Johannes' edits to the text I had; this commit looks good to me.\n>\n> If you liked the final result, it probably should not matter much,\n> but I cannot tell if you are (obliquely) pointing out that I failed\n> to grab and apply Johannes's edit or if you are doubly agreeing with\n> the resulting text in the message you are responding to.\n\nUm, I read Johannes' suggested edit and this patch and thought they\nmatched.  I just re-read them now, and don't see any edits that you\nmissed.  Am I missing something in his email, or another email of his?\n\nAnyway, sorry, I guess I should have inserted a \"so\" right after the\nsemicolon (\"...had; so, this commit looks good to me.)\"\n"},{"id":"532330","messageId":"7bde8cd7-7487-4270-98e5-ab598b0a91d1@kdbg.org","threadId":"64624","inReplyTo":"xmqqv7i62r6w.fsf@gitster.g","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2025-12-17T13:51:03Z","receivedAt":"2025-12-17T13:51:20Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 16.12.25 um 19:54 schrieb Junio C Hamano:\n> Every now and then we see this coming up on the list.  Let's help\n> new contributors who are not aware of past discussions by clearly\n> documenting our past consensus.\n> \n> Helped-by: brian m. carlson <sandals@crustytoothpaste.net>\n> Helped-by: Elijah Newren <newren@gmail.com>\n> Helped-by: Johannes Sixt <j6t@kdbg.org>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>  * The text is from Elijah and Johannes this round; I am merely\n>    playing a copybot.\n> \n>  Documentation/gitfaq.adoc         | 19 +++++++++++++++++++\n>  Documentation/signoff-option.adoc |  4 ++++\n>  2 files changed, 23 insertions(+)\n> \n> diff --git c/Documentation/gitfaq.adoc w/Documentation/gitfaq.adoc\n> index f2917d142c..0e40befb77 100644\n> --- c/Documentation/gitfaq.adoc\n> +++ w/Documentation/gitfaq.adoc\n> @@ -83,6 +83,25 @@ Windows would be the configuration `\"C:\\Program Files\\Vim\\gvim.exe\" --nofork`,\n>  which quotes the filename with spaces and specifies the `--nofork` option to\n>  avoid backgrounding the process.\n>  \n> +[[sign-off]]\n> +Why not have `commit.signoff` and other configuration variables?::\n> +\tGit intentionally does not (and will not) provide a\n> +\tconfiguration variable, such as `commit.signoff`, to\n> +\tautomatically add `--signoff` by default.  The reason is to\n> +\tprotect the legal and intentional significance of a sign-off.\n> +\tIf there were more automated and widely publicized ways for\n> +\tsign-offs to be appended, it would become easier for someone\n> +\tto argue later that a \"Signed-off-by\" trailer was just added\n> +\tout of habit or by automation, without the committer's full\n> +\tawareness or intent to certify their agreement with the\n> +\tDeveloper Certificate of Origin (DCO) or a similar statement.\n> +\tThis could undermine the sign-off’s credibility in legal or\n> +\tcontractual situations.\n> ++\n> +There exists `format.signoff`, but that is a historical mistake, and\n> +it is not an excuse to pile on more mistakes of the same kind on top.\n\nI feel that we should s/pile on/pile/, but I am not a native speaker.\n\nThis patch looks good with or without this change.\n\n> +\n> +\n>  Credentials\n>  -----------\n>  \n> diff --git c/Documentation/signoff-option.adoc w/Documentation/signoff-option.adoc\n> index cddfb225d1..9a80d60f1b 100644\n> --- c/Documentation/signoff-option.adoc\n> +++ w/Documentation/signoff-option.adoc\n> @@ -16,3 +16,7 @@ endif::git-commit[]\n>  +\n>  The `--no-signoff` option can be used to countermand an earlier `--signoff`\n>  option on the command line.\n> ++\n> +Git does not (and will not) have a configuration variable to enable\n> +the `--signoff` command line option by default; see the\n> +`commit.signoff` entry in the gitfaq for more details.\n\n-- Hannes\n\n"},{"id":"532389","messageId":"xmqq7buk1yxm.fsf@gitster.g","threadId":"64624","inReplyTo":"7bde8cd7-7487-4270-98e5-ab598b0a91d1@kdbg.org","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-17T23:16:53Z","receivedAt":"2025-12-17T23:16:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Sixt <j6t@kdbg.org> writes:\n\n>> +There exists `format.signoff`, but that is a historical mistake, and\n>> +it is not an excuse to pile on more mistakes of the same kind on top.\n>\n> I feel that we should s/pile on/pile/, but I am not a native speaker.\n>\n> This patch looks good with or without this change.\n\nThanks.  \"add more mistakes\" should be clear for everybody, so I'll\nchange the verb.\n\n"},{"id":"532522","messageId":"4f0f4d58-3f47-4479-bd7e-80f5d9d651d6@app.fastmail.com","threadId":"64624","inReplyTo":"xmqqv7i62r6w.fsf@gitster.g","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Kristoffer Haugsbakk","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2025-12-19T07:33:40Z","receivedAt":"2025-12-19T07:34:01Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"On Tue, Dec 16, 2025, at 19:54, Junio C Hamano wrote:\n>[snip]\n> ++\n> +Git does not (and will not) have a configuration variable to enable\n> +the `--signoff` command line option by default; see the\n> +`commit.signoff` entry in the gitfaq for more details.\n\nThis is in `next` now but:\n\ns/the gitfaq/in linkgit:gitfaq[7]/\n"},{"id":"532544","messageId":"xmqqzf7evdk4.fsf@gitster.g","threadId":"64624","inReplyTo":"4f0f4d58-3f47-4479-bd7e-80f5d9d651d6@app.fastmail.com","subject":"Re: [PATCH v2] commit: document that $command.signoff will not be added","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-12-19T12:52:43Z","receivedAt":"2025-12-19T12:52:47Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Kristoffer Haugsbakk\" <kristofferhaugsbakk@fastmail.com> writes:\n\n> On Tue, Dec 16, 2025, at 19:54, Junio C Hamano wrote:\n>>[snip]\n>> ++\n>> +Git does not (and will not) have a configuration variable to enable\n>> +the `--signoff` command line option by default; see the\n>> +`commit.signoff` entry in the gitfaq for more details.\n>\n> This is in `next` now but:\n>\n> s/the gitfaq/in linkgit:gitfaq[7]/\n\nThanks.\n"}]}