{"thread":{"id":"54436","subject":"[PATCH 1/1] Documentation: Clarify and expand description of --signoff","startedAt":"2020-10-15T22:10:08Z","lastAt":"2020-10-20T23:04:57Z","messageCount":35,"participants":["Bradley M. Kuhn","Jeff King","Philippe Blain","Junio C Hamano","Theodore Y. Ts'o","Taylor Blau"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"407687","messageId":"20201015215933.96425-2-bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"20201015215933.96425-1-bkuhn@sfconservancy.org","subject":"[PATCH 1/1] Documentation: Clarify and expand description of --signoff","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-15T21:59:33Z","receivedAt":"2020-10-15T22:10:08Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Building on past documentation improvements in Commit\nb2c150d3aa (Expand documentation describing --signoff, 2016-01-05),\nfurther clarify that any project using Git may and often does set its\nown policy.\n\nHowever, leave intact reference to the Linux DCO, which Git also\nuses.  It is reasonable for Git to advocate for its own Signed-off-by\nmethodology in its documentation, as long as the documentation\nremains respectful that YMMV and other projects may well have very\ndifferent contributor representations tied to Signed-off-by.\n\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n---\n Documentation/git-commit.txt    | 13 ++++++++-----\n Documentation/merge-options.txt | 13 ++++++++-----\n 2 files changed, 16 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex a3baea32ae..93bbae4ded 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -166,11 +166,14 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n -s::\n --signoff::\n \tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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+\tlog message.  The meaning of a signoff depends on the project to which\n+\tyou're committing.  For example, it may certify that the committer has\n+\tthe rights to submit the work under the project's license or agrees to\n+\tsome contributor representation, such as a Developer Certificate of\n+\tOrigin.  (See http://developercertificate.org for the one used by the\n+\tLinux kernel and Git projects.)  Consult the documentation or\n+\tleadership of the project to which you're contributing to understand\n+\thow the signoffs are used in that project.\n \n -n::\n --no-verify::\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 80d4831662..c9df9cc0f4 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -80,11 +80,14 @@ actual commits being merged.\n --signoff::\n --no-signoff::\n \tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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+\tlog message.  The meaning of a signoff depends on the project to which\n+\tyou're committing.  For example, it may certify that the committer has\n+\tthe rights to submit the work under the project's license or agrees to\n+\tsome contributor representation, such as a Developer Certificate of\n+\tOrigin.  (See http://developercertificate.org for the one used by the\n+\tLinux kernel and Git projects.)  Consult the documentation or\n+\tleadership of the project to which you're contributing to understand\n+\t how the signoffs are used in that project.\n +\n With --no-signoff do not add a Signed-off-by line.\n \n-- \n2.26.1\n\n"},{"id":"407688","messageId":"20201015215933.96425-1-bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":null,"subject":"[PATCH 0/1] Clarify and expand description of --signoff","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-15T21:59:32Z","receivedAt":"2020-10-15T22:10:09Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"As you know, it's rare that Conservancy offers specific patches upstream to\nour member projects, but I've attached a patch that updates the documentation\nregarding Signed-Off-By.\n\nWhile the Git and Linux projects use this specifically to refer to a DCO as\npublished on the URL provided, other projects have various meanings of\nSigned-Off-By, and we noticed in a recent check of Conservancy member\nprojects that details on it vary.  Ultimately, I don't think Git wants anyway\nto opine about the meaning of Signed-off-by for every project that uses Git,\nso this documentation change hedges while still explaning and recommending\nthe DCO used by Linux and Git.\n\nPeff gave me some feedback on this change and we did a bit of redrafting in a\nprivate email thread, but I think this is now ready for public review and\ndiscussion.\n\nI apologize in advance if I've made a mistake in format or form in submitting\nthis patch; it's my first upstream contribution to Git!  I did try my best to\nfollow Documentation/MyFirstContribution.txt carefully! :)\n\nBradley M. Kuhn (1):\n  Documentation: Clarify and expand description of --signoff\n\n Documentation/git-commit.txt    | 13 ++++++++-----\n Documentation/merge-options.txt | 13 ++++++++-----\n 2 files changed, 16 insertions(+), 10 deletions(-)\n\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n"},{"id":"407695","messageId":"20201016004603.GC2932796@coredump.intra.peff.net","threadId":"54436","inReplyTo":"20201015215933.96425-2-bkuhn@sfconservancy.org","subject":"Re: [PATCH 1/1] Documentation: Clarify and expand description of --signoff","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-10-16T00:46:03Z","receivedAt":"2020-10-16T00:46:06Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Oct 15, 2020 at 02:59:33PM -0700, Bradley M. Kuhn wrote:\n\n> Building on past documentation improvements in Commit\n> b2c150d3aa (Expand documentation describing --signoff, 2016-01-05),\n> further clarify that any project using Git may and often does set its\n> own policy.\n> \n> However, leave intact reference to the Linux DCO, which Git also\n> uses.  It is reasonable for Git to advocate for its own Signed-off-by\n> methodology in its documentation, as long as the documentation\n> remains respectful that YMMV and other projects may well have very\n> different contributor representations tied to Signed-off-by.\n\nI think this is worth doing, and doesn't really change the intent of\nwhat we were trying to do with b2c150d3aa. It just says it a bit more\nclearly, IMHO.\n\nExcept for one minor nit below, the patch looks good to me.\nUnsurprisingly, since as you mentioned we discussed it off-list\nalready. :)\n\nTo be clear, it's...\n\n  Signed-off-by: Jeff King <peff@peff.net>\n\nas far as any words I contributed.\n\nAs far as your patch formatting, submission, etc, it looks OK. I\nprobably would've kept \"clarify\" in the title as lowercase. I'd also\nusually not do a separate cover letter for a single-patch series (and\ninstead put anything not meant for the commit message after the \"---\"\nline). But that's mostly a matter of taste (a lot of people do separate\ncover letters).\n\n> diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\n> index 80d4831662..c9df9cc0f4 100644\n> --- a/Documentation/merge-options.txt\n> +++ b/Documentation/merge-options.txt\n> [...]\n> +\tleadership of the project to which you're contributing to understand\n> +\t how the signoffs are used in that project.\n\nExtra leading space on this final line.\n\n-Peff\n\nPS Since this is your first patch submission, welcome to the Git\n   project. ;)\n"},{"id":"407697","messageId":"59E3B060-63E3-41C2-A7C4-5B2C888F8D68@gmail.com","threadId":"54436","inReplyTo":"20201015215933.96425-1-bkuhn@sfconservancy.org","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Philippe Blain","fromEmail":"levraiphilippeblain@gmail.com","sentAt":"2020-10-16T01:49:03Z","receivedAt":"2020-10-16T01:50:15Z","isPatch":true,"sender":{"key":"levraiphilippeblain@gmail.com","avatar":"https://avatars.githubusercontent.com/u/44212482?v=4"},"body":"Hi Bradley, \n\n> Le 15 oct. 2020 à 17:59, Bradley M. Kuhn <bkuhn@sfconservancy.org> a écrit :\n> \n> \n> Documentation/git-commit.txt    | 13 ++++++++-----\n> Documentation/merge-options.txt | 13 ++++++++-----\n> 2 files changed, 16 insertions(+), 10 deletions(-)\n\nSince the changes are exactly the same in the two files, maybe\na preparatory patch that creates 'signoff.txt' and includes it\nin 'git-commit.txt' and 'merge-options.txt' would be a good idea ?\n\nCheers,\n\nPhilippe.\n\n\n\n"},{"id":"407698","messageId":"CAPc5daWenXds=0BW0CXa=4MOF2UxDeQ8DF2+7V9-WkKwCFCDBw@mail.gmail.com","threadId":"54436","inReplyTo":"59E3B060-63E3-41C2-A7C4-5B2C888F8D68@gmail.com","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-16T01:54:30Z","receivedAt":"2020-10-16T01:54:46Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"> > Documentation/git-commit.txt    | 13 ++++++++-----\n> > Documentation/merge-options.txt | 13 ++++++++-----\n> > 2 files changed, 16 insertions(+), 10 deletions(-)\n>\n> Since the changes are exactly the same in the two files, maybe\n> a preparatory patch that creates 'signoff.txt' and includes it\n> in 'git-commit.txt' and 'merge-options.txt' would be a good idea ?\n\nI actually think we are OK with two duplicated and leave that for\nlater clean-up. The more important would be to polish the text into\na good enough state quickly.\n\nAnother thing we should not forget is to update our SubmittingPatches\ndocument. Since we are placing extra stress on that there is NO\ninherent meaning in \"sign off\" and it is largely up to each project,\nwe should set a good example explaining what it means to THIS\nproject to sign your patches off, and SubmittingPatches is the\ndocument to do so. Without such an update, I think the update\nto these two files we see in this patch is incomplete.\n\nThanks.\n"},{"id":"407699","messageId":"20201016015937.GA3335046@coredump.intra.peff.net","threadId":"54436","inReplyTo":"CAPc5daWenXds=0BW0CXa=4MOF2UxDeQ8DF2+7V9-WkKwCFCDBw@mail.gmail.com","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-10-16T01:59:37Z","receivedAt":"2020-10-16T01:59:40Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Oct 15, 2020 at 06:54:30PM -0700, Junio C Hamano wrote:\n\n> > > Documentation/git-commit.txt    | 13 ++++++++-----\n> > > Documentation/merge-options.txt | 13 ++++++++-----\n> > > 2 files changed, 16 insertions(+), 10 deletions(-)\n> >\n> > Since the changes are exactly the same in the two files, maybe\n> > a preparatory patch that creates 'signoff.txt' and includes it\n> > in 'git-commit.txt' and 'merge-options.txt' would be a good idea ?\n> \n> I actually think we are OK with two duplicated and leave that for\n> later clean-up. The more important would be to polish the text into\n> a good enough state quickly.\n> \n> Another thing we should not forget is to update our SubmittingPatches\n> document. Since we are placing extra stress on that there is NO\n> inherent meaning in \"sign off\" and it is largely up to each project,\n> we should set a good example explaining what it means to THIS\n> project to sign your patches off, and SubmittingPatches is the\n> document to do so. Without such an update, I think the update\n> to these two files we see in this patch is incomplete.\n\nI agree we should be leading by example here.\n\nWe do already say pretty clearly what signed-off-by means in the\nproject:\n\n  $ grep -A14 '\\[\\[sign-off]]' Documentation/SubmittingPatches \n  [[sign-off]]\n  === Certify your work by adding your \"Signed-off-by: \" line\n  \n  To improve tracking of who did what, we've borrowed the\n  \"sign-off\" procedure from the Linux kernel project on patches\n  that are being emailed around.  Although core Git is a lot\n  smaller project it is a good discipline to follow it.\n  \n  The sign-off is a simple line at the end of the explanation for\n  the patch, which certifies that you wrote it or otherwise have\n  the right to pass it on as an open-source patch.  The rules are\n  pretty simple: if you can certify the below D-C-O:\n  \n  [[dco]]\n  .Developer's Certificate of Origin 1.1\n\nWhat should we change there? We could perhaps bring up signoffs earlier\nor more prominently. Or tie it in to the git-commit docs by saying\nexplicitly: these are _our_ project rules for signoffs.\n\n-Peff\n"},{"id":"407702","messageId":"xmqqft6eewc5.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"20201016015937.GA3335046@coredump.intra.peff.net","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-16T02:30:34Z","receivedAt":"2020-10-16T02:30:39Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> We do already say pretty clearly what signed-off-by means in the\n> project:\n>\n>   $ grep -A14 '\\[\\[sign-off]]' Documentation/SubmittingPatches \n>   [[sign-off]]\n>   === Certify your work by adding your \"Signed-off-by: \" line\n>   \n>   To improve tracking of who did what, we've borrowed the\n>   \"sign-off\" procedure from the Linux kernel project on patches\n>   that are being emailed around.  Although core Git is a lot\n>   smaller project it is a good discipline to follow it.\n>   \n>   The sign-off is a simple line at the end of the explanation for\n>   the patch, which certifies that you wrote it or otherwise have\n>   the right to pass it on as an open-source patch.  The rules are\n>   pretty simple: if you can certify the below D-C-O:\n>   \n>   [[dco]]\n>   .Developer's Certificate of Origin 1.1\n>\n> What should we change there? We could perhaps bring up signoffs earlier\n> or more prominently. Or tie it in to the git-commit docs by saying\n> explicitly: these are _our_ project rules for signoffs.\n\nThat is almost good enough, but you can easily see that it was\nwritten back when the world only had choice between \"Linux-style\nsigned-off-by that means Linux-style DCO requirement\" and \"not\nsigning off\", and we chose to be in the former camp.\n\nI think the most important clarification Bradley's making is that we\nno longer live in such a world.  \"signed-off-by\" means different\nthings for different projects, and what we use is this one.  That\nchoice may have been adopted from the Linux project and may have\nbeen identical to what they used back when we adopted it, but that\nis of secondary importance (most importantly, if they changed what\nit means, that won't directly affect this project).\n\nPerhaps I'd rewrite these two paragraphs like so:\n\n    To improve tracking of who did what, we use the \"sign off\"\n    procedure.  By adding the \"Signed-off-by:\" line in the trailer\n    of your commit, you certify to this project the below D-C-O that\n    you have the right to pass your patch on under the same license\n    as ours.  Without such a sign-off, we cannot accept your patch:\n\n    [[dco]]\n    .Developer's Certificate of Origin 1.1\n\n    ...\n\nand after the DCO text, add this paragraph as a historical reference.\n\n    This procedure originally came from the Linux kernel project, so\n    our rule is quite similar to theirs, but what exactly it means\n    to sign-off your patch differs from project to project, so it\n    may be different from that of the project you are accustomed to.\n\neither before or after the \"Random J Developer\" example.  I think we\nshould remove the \"you can do this automatically by giving -s\" or at\nleast the word \"automatically\" from that sentence, while we are at\nit.\n\nThanks.\n\n\n"},{"id":"407746","messageId":"xmqqh7quaqwb.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"xmqqft6eewc5.fsf@gitster.c.googlers.com","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-16T19:53:56Z","receivedAt":"2020-10-16T19:54:03Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"> Jeff King <peff@peff.net> writes:\n>\n>> What should we change there? We could perhaps bring up signoffs earlier\n>> or more prominently. Or tie it in to the git-commit docs by saying\n>> explicitly: these are _our_ project rules for signoffs.\n\nLet's tie this loose end.  How about squashing in something like\nthis?\n\n-- >8 --\nSubject: SubmittingPatches: clarify DCO is our --signoff rule\n\nThe description on sign-off and DCO was written back in the days\nwhere there was only a choice between \"use sign-off and it means the\ncontributor agrees to the Linux-kernel style DCO\" and \"not using\nsign-off at all will make your patch unusable\".  These days, we are\ntrying to clarify that the exact meaning of a sign-off varies\nproject to project.\n\nLet's be more explicit when presenting what _our_ rules are.  It is\nof secondary importance that it originally came from the kernel\nproject, so move the description as a historical note at the end,\nwhile cautioning that what a sign-off means to us may be different from\nwhat it means to other projects contributors may have been used to.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n Documentation/SubmittingPatches | 25 ++++++++++++++-----------\n 1 file changed, 14 insertions(+), 11 deletions(-)\n\ndiff --git c/Documentation/SubmittingPatches w/Documentation/SubmittingPatches\nindex 291b61e262..f83a050b35 100644\n--- c/Documentation/SubmittingPatches\n+++ w/Documentation/SubmittingPatches\n@@ -300,15 +300,12 @@ patch.\n [[sign-off]]\n === Certify your work by adding your \"Signed-off-by: \" line\n \n-To improve tracking of who did what, we've borrowed the\n-\"sign-off\" procedure from the Linux kernel project on patches\n-that are being emailed around.  Although core Git is a lot\n-smaller project it is a good discipline to follow it.\n+To improve tracking of who did what, we ask you to certify that you\n+wrote the patch or have the right to pass it on under the same license\n+as ours, by \"signing off\" your patch.  Without sign-off, we cannot\n+accept your patches.\n \n-The sign-off is a simple line at the end of the explanation for\n-the patch, which certifies that you wrote it or otherwise have\n-the right to pass it on as an open-source patch.  The rules are\n-pretty simple: if you can certify the below D-C-O:\n+If you can certify the below D-C-O:\n \n [[dco]]\n .Developer's Certificate of Origin 1.1\n@@ -338,14 +335,15 @@ d. I understand and agree that this project and the contribution\n    this project or the open source license(s) involved.\n ____\n \n-then you just add a line saying\n+you add a \"Signed-off-by\" trailer to your commit, that looks like\n+this:\n \n ....\n \tSigned-off-by: Random J Developer <random@developer.example.org>\n ....\n \n-This line can be automatically added by Git if you run the git-commit\n-command with the -s option.\n+This line can be added by Git if you run the git-commit command with\n+the -s option.\n \n Notice that you can place your own Signed-off-by: line when\n forwarding somebody else's patch with the above rules for\n@@ -353,6 +351,11 @@ D-C-O.  Indeed you are encouraged to do so.  Do not forget to\n place an in-body \"From: \" line at the beginning to properly attribute\n the change to its true author (see (2) above).\n \n+This procedure originally came from the Linux kernel project, so our\n+rule is quite similar to theirs, but what exactly it means to sign-off\n+your patch differs from project to project, so it may be different\n+from that of the project you are accustomed to.\n+\n [[real-name]]\n Also notice that a real name is used in the Signed-off-by: line. Please\n don't hide your real name.\n"},{"id":"407751","messageId":"20201016201119.GA3356073@coredump.intra.peff.net","threadId":"54436","inReplyTo":"xmqqh7quaqwb.fsf@gitster.c.googlers.com","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-10-16T20:11:19Z","receivedAt":"2020-10-16T20:11:21Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Oct 16, 2020 at 12:53:56PM -0700, Junio C Hamano wrote:\n\n> > Jeff King <peff@peff.net> writes:\n> >\n> >> What should we change there? We could perhaps bring up signoffs earlier\n> >> or more prominently. Or tie it in to the git-commit docs by saying\n> >> explicitly: these are _our_ project rules for signoffs.\n> \n> Let's tie this loose end.  How about squashing in something like\n> this?\n\nThanks for writing this up. I agree it makes the text much better (not\nonly in emphasizing the point we've been discussing, but also in general\nclarity).\n\nYou said \"squashing\", but I'd suggest keeping it as its own patch on top\nof Bradley's.\n\n-Peff\n"},{"id":"407780","messageId":"20201017030050.GA351024@ebb.org","threadId":"54436","inReplyTo":"20201016201119.GA3356073@coredump.intra.peff.net","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-17T03:00:50Z","receivedAt":"2020-10-17T05:30:23Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Jeff King wrote:\n> You said \"squashing\", but I'd suggest keeping it as its own patch on top\n> of Bradley's.\n\nWhile I admit a certain vain desire to have my name appear in Git's own\ncommit history (given that it's unlikely I'll ever be able to spare the time\nto make another contribution), if it's cleaner to squash my change, I can\nassent to that and you can consider both patches discussed in this thread\ntogether:\n\n  Signed-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n\n--\nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n"},{"id":"407848","messageId":"20201018151315.GJ181507@mit.edu","threadId":"54436","inReplyTo":"20201015215933.96425-2-bkuhn@sfconservancy.org","subject":"Re: [PATCH 1/1] Documentation: Clarify and expand description of --signoff","fromName":"Theodore Y. Ts'o","fromEmail":"tytso@mit.edu","sentAt":"2020-10-18T15:13:15Z","receivedAt":"2020-10-18T15:13:23Z","isPatch":true,"sender":{"key":"tytso@mit.edu","avatar":"https://avatars.githubusercontent.com/u/51416?v=4"},"body":"On Thu, Oct 15, 2020 at 02:59:33PM -0700, Bradley M. Kuhn wrote:\n> diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\n> index a3baea32ae..93bbae4ded 100644\n> --- a/Documentation/git-commit.txt\n> +++ b/Documentation/git-commit.txt\n> @@ -166,11 +166,14 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n>  -s::\n>  --signoff::\n>  \tAdd Signed-off-by line by the committer at the end of the commit\n\nWhile we're editing this, how about changing the above to read:\n\n\tAdd a Signed-off-by line...\n\nto fix a grammer nit.  We do use a similar formulation later the git\nmerge-options man page:\n\n>  With --no-signoff do not add a Signed-off-by line.\n\n\n> diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\n> index 80d4831662..c9df9cc0f4 100644\n> --- a/Documentation/merge-options.txt\n> +++ b/Documentation/merge-options.txt\n> @@ -80,11 +80,14 @@ actual commits being merged.\n>  --signoff::\n>  --no-signoff::\n>  \tAdd Signed-off-by line by the committer at the end of the commit\n\n... and again here.\n\nThanks!\n\n\t\t\t\t\t- Ted\n"},{"id":"407853","messageId":"xmqqwnzn73og.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"20201016201119.GA3356073@coredump.intra.peff.net","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-18T19:08:15Z","receivedAt":"2020-10-18T19:08:20Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Fri, Oct 16, 2020 at 12:53:56PM -0700, Junio C Hamano wrote:\n>\n>> > Jeff King <peff@peff.net> writes:\n>> >\n>> >> What should we change there? We could perhaps bring up signoffs earlier\n>> >> or more prominently. Or tie it in to the git-commit docs by saying\n>> >> explicitly: these are _our_ project rules for signoffs.\n>> \n>> Let's tie this loose end.  How about squashing in something like\n>> this?\n>\n> Thanks for writing this up. I agree it makes the text much better (not\n> only in emphasizing the point we've been discussing, but also in general\n> clarity).\n>\n> You said \"squashing\", but I'd suggest keeping it as its own patch on top\n> of Bradley's.\n\nOK, let's do so.\n\nI recall I read that Bradley's patch needs a bit of word/grammo\npolishing?\n\nThanks.\n"},{"id":"407878","messageId":"20201019155338.GK181507@mit.edu","threadId":"54436","inReplyTo":"xmqqwnzn73og.fsf@gitster.c.googlers.com","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Theodore Y. Ts'o","fromEmail":"tytso@mit.edu","sentAt":"2020-10-19T15:53:38Z","receivedAt":"2020-10-19T15:53:48Z","isPatch":true,"sender":{"key":"tytso@mit.edu","avatar":"https://avatars.githubusercontent.com/u/51416?v=4"},"body":"On Sun, Oct 18, 2020 at 12:08:15PM -0700, Junio C Hamano wrote:\n> Jeff King <peff@peff.net> writes:\n> \n> > On Fri, Oct 16, 2020 at 12:53:56PM -0700, Junio C Hamano wrote:\n> >\n> >> > Jeff King <peff@peff.net> writes:\n> >> >\n> >> >> What should we change there? We could perhaps bring up signoffs earlier\n> >> >> or more prominently. Or tie it in to the git-commit docs by saying\n> >> >> explicitly: these are _our_ project rules for signoffs.\n> >> \n> >> Let's tie this loose end.  How about squashing in something like\n> >> this?\n> >\n> > Thanks for writing this up. I agree it makes the text much better (not\n> > only in emphasizing the point we've been discussing, but also in general\n> > clarity).\n> >\n> > You said \"squashing\", but I'd suggest keeping it as its own patch on top\n> > of Bradley's.\n> \n> OK, let's do so.\n> \n> I recall I read that Bradley's patch needs a bit of word/grammo\n> polishing?\n\nWell, I pointed out a missing article (\"a\") in the line *above*\nBradley's change in two man pages.  It's a minor nit, and it's\nunrelated to his proposed change.  I have no opinion about whether\nit's better to do it separately from his change or as a separate\ncommit.\n\n\t\t\t\t\t\t- Ted\n"},{"id":"407892","messageId":"xmqqmu0it6ls.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"20201019155338.GK181507@mit.edu","subject":"Re: [PATCH 0/1] Clarify and expand description of --signoff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-19T18:26:23Z","receivedAt":"2020-10-19T18:26:31Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Theodore Y. Ts'o\" <tytso@mit.edu> writes:\n\n>> > You said \"squashing\", but I'd suggest keeping it as its own patch on top\n>> > of Bradley's.\n>> \n>> OK, let's do so.\n>> \n>> I recall I read that Bradley's patch needs a bit of word/grammo\n>> polishing?\n>\n> Well, I pointed out a missing article (\"a\") in the line *above*\n> Bradley's change in two man pages.  It's a minor nit, and it's\n> unrelated to his proposed change.  I have no opinion about whether\n> it's better to do it separately from his change or as a separate\n> commit.\n\nThanks for reminding me.  In any case, an updated version that ended\nup being a 3-patch series is now on the table.  I think they are in\ngood shape to be merged down.\n\nThanks.\n"},{"id":"407912","messageId":"cover.1603142543.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"xmqqmu0it6ls.fsf@gitster.c.googlers.com","subject":"[PATCH v2 0/3] clarify and expand description of --signoff & related fixes","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-19T21:25:41Z","receivedAt":"2020-10-19T21:30:33Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Jeff wrote last week:\n>>> You said \"squashing\", but I'd suggest keeping it as its own patch on top\n>>> of Bradley's.\nJunio replied last week:\n>> OK, let's do so.\nTheodore Ts'o wrote today at 08:53 (PDT):\n>>>> I pointed out a missing article (\"a\") in the line *above* ... It's a\n>>>> minor nit, and it's unrelated to his proposed change.\nJunio C Hamano replied today at 11:26 (PDT):\n> In any case, an updated version that ended up\n> being a 3-patch series is now on the table.  I think they are in good\n> shape to be merged down.\n\nHerein is (I believe) the three-patch series that Junio references.  The\nmiddle patch didn't exist yet because Ted just pointed out the typo and\ndidn't have a patch, but I've done the typo fix and credited Ted on that in\nthe commit.\n\nHowever, the middle commit ([PATCH v2 2/3]) needs some review.  I ended up\ndown the rabbit hole of \"what is the consistent way in which the Git\ndocumentation refers to Signed-off-by?\" and I found many inconsistencies.\nI've normalized around a style convention described in that patch's commit\nmessage.\n\nMeanwhile, I also note that SubmittingPatches now calls these \"trailers\"\nrather than \"lines\", so maybe we should be using the word \"trailer\" rather\nthan \"line\" consistently in the other documentation?  If folks think that\nshould be done, I can redo this patchset to go that route.\n\nAlternatively, if anyone has any strong opinions on the normalization to:\n  (a|the) `Signed-off-by:` line\nin documentation formatting when referring to Signed-off-by, please say so.\n\nThanks everyone for your comments and help on this!\n\nI also added these, as Jeff King wrote about at 17:46 (PDT) on Thursday:\n>>> To be clear, it's...\n>>>  Signed-off-by: Jeff King <peff@peff.net>\n>>> as far as any words I contributed.\n\nAdded.\n\n>>> I probably would've kept \"clarify\" in the title as lowercase.\n\nFixed.\n\n>>>>> diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\n>>>>> index 80d4831662..c9df9cc0f4 100644\n>>>>> --- a/Documentation/merge-options.txt\n>>>>> +++ b/Documentation/merge-options.txt\n>>>>> [...]\n>>>>> +\tleadership of the project to which you're contributing to understand\n>>>>> +\t how the signoffs are used in that project.\n\n>>> Extra leading space on this final line.\n\nAlso fixed.\n\nBradley M. Kuhn (2):\n  Documentation: clarify and expand description of --signoff\n  Documentation: stylistically normalize references to Signed-off-by:\n\nJunio C Hamano (1):\n  SubmittingPatches: clarify DCO is our --signoff rule\n\n Documentation/MyFirstContribution.txt |  2 +-\n Documentation/SubmittingPatches       | 35 +++++++++++++++------------\n Documentation/git-cherry-pick.txt     |  2 +-\n Documentation/git-commit.txt          | 15 +++++++-----\n Documentation/git-format-patch.txt    |  2 +-\n Documentation/git-rebase.txt          |  2 +-\n Documentation/git-revert.txt          |  2 +-\n Documentation/git-send-email.txt      |  4 +--\n Documentation/githooks.txt            |  2 +-\n Documentation/merge-options.txt       | 17 +++++++------\n builtin/am.c                          |  2 +-\n builtin/commit.c                      |  2 +-\n builtin/log.c                         |  2 +-\n builtin/merge.c                       |  2 +-\n builtin/pull.c                        |  2 +-\n builtin/revert.c                      |  2 +-\n 16 files changed, 52 insertions(+), 43 deletions(-)\n\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407913","messageId":"efec40f9432bfba531b4a6c9aed50d8f5e1aec13.1603142543.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603142543.git.bkuhn@sfconservancy.org","subject":"[PATCH v2 1/3] Documentation: clarify and expand description of --signoff","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-19T21:25:42Z","receivedAt":"2020-10-19T21:30:34Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Building on past documentation improvements in Commit\nb2c150d3aa (Expand documentation describing --signoff, 2016-01-05),\nfurther clarify that any project using Git may and often does set its\nown policy.\n\nHowever, leave intact reference to the Linux DCO, which Git also\nuses.  It is reasonable for Git to advocate for its own Signed-off-by\nmethodology in its documentation, as long as the documentation\nremains respectful that YMMV and other projects may well have very\ndifferent contributor representations tied to Signed-off-by.\n\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\nSigned-off-by: Jeff King <peff@peff.net>\n---\n Documentation/git-commit.txt    | 13 ++++++++-----\n Documentation/merge-options.txt | 13 ++++++++-----\n 2 files changed, 16 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex a3baea32ae..93bbae4ded 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -166,11 +166,14 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n -s::\n --signoff::\n \tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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+\tlog message.  The meaning of a signoff depends on the project to which\n+\tyou're committing.  For example, it may certify that the committer has\n+\tthe rights to submit the work under the project's license or agrees to\n+\tsome contributor representation, such as a Developer Certificate of\n+\tOrigin.  (See http://developercertificate.org for the one used by the\n+\tLinux kernel and Git projects.)  Consult the documentation or\n+\tleadership of the project to which you're contributing to understand\n+\thow the signoffs are used in that project.\n \n -n::\n --no-verify::\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 80d4831662..29e6030131 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -80,11 +80,14 @@ actual commits being merged.\n --signoff::\n --no-signoff::\n \tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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+\tlog message.  The meaning of a signoff depends on the project to which\n+\tyou're committing.  For example, it may certify that the committer has\n+\tthe rights to submit the work under the project's license or agrees to\n+\tsome contributor representation, such as a Developer Certificate of\n+\tOrigin.  (See http://developercertificate.org for the one used by the\n+\tLinux kernel and Git projects.)  Consult the documentation or\n+\tleadership of the project to which you're contributing to understand\n+\thow the signoffs are used in that project.\n +\n With --no-signoff do not add a Signed-off-by line.\n \n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407914","messageId":"15c1a3a0c98691450599ccdbe27e73b8bfe906f8.1603142543.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603142543.git.bkuhn@sfconservancy.org","subject":"[PATCH v2 3/3] SubmittingPatches: clarify DCO is our --signoff rule","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-19T21:25:44Z","receivedAt":"2020-10-19T21:30:37Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"From: Junio C Hamano <gitster@pobox.com>\n\nThe description on sign-off and DCO was written back in the days\nwhere there was only a choice between \"use sign-off and it means the\ncontributor agrees to the Linux-kernel style DCO\" and \"not using\nsign-off at all will make your patch unusable\".  These days, we are\ntrying to clarify that the exact meaning of a sign-off varies\nproject to project.\n\nLet's be more explicit when presenting what _our_ rules are.  It is\nof secondary importance that it originally came from the kernel\nproject, so move the description as a historical note at the end,\nwhile cautioning that what a sign-off means to us may be different from\nwhat it means to other projects contributors may have been used to.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n---\n Documentation/SubmittingPatches | 25 ++++++++++++++-----------\n 1 file changed, 14 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex d520eb23b1..b798aef844 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -300,15 +300,12 @@ patch.\n [[sign-off]]\n === Certify your work by adding your `Signed-off-by:` line\n \n-To improve tracking of who did what, we've borrowed the\n-\"sign-off\" procedure from the Linux kernel project on patches\n-that are being emailed around.  Although core Git is a lot\n-smaller project it is a good discipline to follow it.\n+To improve tracking of who did what, we ask you to certify that you\n+wrote the patch or have the right to pass it on under the same license\n+as ours, by \"signing off\" your patch.  Without sign-off, we cannot\n+accept your patches.\n \n-The sign-off is a simple line at the end of the explanation for\n-the patch, which certifies that you wrote it or otherwise have\n-the right to pass it on as an open-source patch.  The rules are\n-pretty simple: if you can certify the below D-C-O:\n+If you can certify the below D-C-O:\n \n [[dco]]\n .Developer's Certificate of Origin 1.1\n@@ -338,14 +335,15 @@ d. I understand and agree that this project and the contribution\n    this project or the open source license(s) involved.\n ____\n \n-then you just add a line saying\n+you add a \"Signed-off-by\" trailer to your commit, that looks like\n+this:\n \n ....\n \tSigned-off-by: Random J Developer <random@developer.example.org>\n ....\n \n-This line can be automatically added by Git if you run the git-commit\n-command with the -s option.\n+This line can be added by Git if you run the git-commit command with\n+the -s option.\n \n Notice that you can place your own `Signed-off-by:` line when\n forwarding somebody else's patch with the above rules for\n@@ -353,6 +351,11 @@ D-C-O.  Indeed you are encouraged to do so.  Do not forget to\n place an in-body \"From: \" line at the beginning to properly attribute\n the change to its true author (see (2) above).\n \n+This procedure originally came from the Linux kernel project, so our\n+rule is quite similar to theirs, but what exactly it means to sign-off\n+your patch differs from project to project, so it may be different\n+from that of the project you are accustomed to.\n+\n [[real-name]]\n Also notice that a real name is used in the `Signed-off-by:` line. Please\n don't hide your real name.\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407915","messageId":"37a4932d48c1d36c3c512e9f8c0bcac878de6b76.1603142543.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603142543.git.bkuhn@sfconservancy.org","subject":"[PATCH v2 2/3] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-19T21:25:43Z","receivedAt":"2020-10-19T21:30:37Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Ted reported during patch review of the previous commit that an old\ntypo was present in the git-commit.txt and merge-options.txt.\nNamely, the phrase \"Signed-off-by line\" was used without either a\ndefinite nor indefinite article.\n\nUpon examination, it seems that the documentation (including items in\nDocumentation/, but also option help strings) have been quite\ninconsistent on usage when referring to `Signed-off-by:`.\n\nIt seems the original usage, seen in Commit\n3f971fc425b (Documentation updates, 2005-08-14) initially used \"Add\nSigned-off-by line\", and Commit 6f855371a53 (Add --signoff, --check,\nand long option-names. 2005-12-09) switched to using \"Add\n`Signed-off-by:` line\", but didn't normalize the former commit to\nmatch.  Later commits seem to have cut and pasted from one or the\nother, which is likely how the usage became so inconsistent.\n\nVery few places used a definite or indefinite article with the phrase\n\"Signed-off-by: line\", but that was the initial typo that led me down\nthis investigation, so I have normalized using either an indefinite\nor definite article consistently.  Since usage of\n`Signed-off-by:` (with the colon) was about six months more current\nthan without the colon, I chose `Signed-off-by:` (with backticks) for\nthe documentation files and Signed-off-by: (without backticks) for\noption help strings\n\nI left alone a few places in documentation that used the phrase\nSigned-off-by (without colon or backticks) to refer to the\nprocess (rather than the specific line), and I also left alone one\nplace where many mail headers were mentioned in a specific way so the\nstyle for Signed-off-by and those mail headers remained consistent.\n\nReported-by: \"Theodore Y. Ts'o\" <tytso@mit.edu>\nMessage-ID: <20201018151315.GJ181507@mit.edu>\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n---\n Documentation/MyFirstContribution.txt |  2 +-\n Documentation/SubmittingPatches       | 10 +++++-----\n Documentation/git-cherry-pick.txt     |  2 +-\n Documentation/git-commit.txt          |  2 +-\n Documentation/git-format-patch.txt    |  2 +-\n Documentation/git-rebase.txt          |  2 +-\n Documentation/git-revert.txt          |  2 +-\n Documentation/git-send-email.txt      |  4 ++--\n Documentation/githooks.txt            |  2 +-\n Documentation/merge-options.txt       |  4 ++--\n builtin/am.c                          |  2 +-\n builtin/commit.c                      |  2 +-\n builtin/log.c                         |  2 +-\n builtin/merge.c                       |  2 +-\n builtin/pull.c                        |  2 +-\n builtin/revert.c                      |  2 +-\n 16 files changed, 22 insertions(+), 22 deletions(-)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex 4f85a089ef..9a7f76cdef 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -249,7 +249,7 @@ component you're working on, followed by a blank line (always required) and then\n the body of your commit message, which should provide the bulk of the context.\n Remember to be explicit and provide the \"Why\" of your change, especially if it\n couldn't easily be understood from your diff. When editing your commit message,\n-don't remove the Signed-off-by line which was added by `-s` above.\n+don't remove the `Signed-off-by:` line which was added by `-s` above.\n \n ----\n psuh: add a built-in by popular demand\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 291b61e262..d520eb23b1 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -209,7 +209,7 @@ send them as replies to either an additional \"cover letter\" message\n (see below), the first patch, or the respective preceding patch.\n \n If your log message (including your name on the\n-Signed-off-by line) is not writable in ASCII, make sure that\n+`Signed-off-by:` line) is not writable in ASCII, make sure that\n you send off a message in the correct encoding.\n \n WARNING: Be wary of your MUAs word-wrap\n@@ -229,7 +229,7 @@ previously sent.\n The `git format-patch` command follows the best current practice to\n format the body of an e-mail message.  At the beginning of the\n patch should come your commit message, ending with the\n-Signed-off-by: lines, and a line that consists of three dashes,\n+`Signed-off-by:` lines, and a line that consists of three dashes,\n followed by the diffstat information and the patch itself.  If\n you are forwarding a patch from somebody else, optionally, at\n the beginning of the e-mail message just before the commit\n@@ -298,7 +298,7 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n patch.\n \n [[sign-off]]\n-=== Certify your work by adding your \"Signed-off-by: \" line\n+=== Certify your work by adding your `Signed-off-by:` line\n \n To improve tracking of who did what, we've borrowed the\n \"sign-off\" procedure from the Linux kernel project on patches\n@@ -347,14 +347,14 @@ then you just add a line saying\n This line can be automatically added by Git if you run the git-commit\n command with the -s option.\n \n-Notice that you can place your own Signed-off-by: line when\n+Notice that you can place your own `Signed-off-by:` line when\n forwarding somebody else's patch with the above rules for\n D-C-O.  Indeed you are encouraged to do so.  Do not forget to\n place an in-body \"From: \" line at the beginning to properly attribute\n the change to its true author (see (2) above).\n \n [[real-name]]\n-Also notice that a real name is used in the Signed-off-by: line. Please\n+Also notice that a real name is used in the `Signed-off-by:` line. Please\n don't hide your real name.\n \n [[commit-trailers]]\ndiff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt\nindex 75feeef08a..4b8e8bc484 100644\n--- a/Documentation/git-cherry-pick.txt\n+++ b/Documentation/git-cherry-pick.txt\n@@ -104,7 +104,7 @@ effect to your index in a row.\n \n -s::\n --signoff::\n-\tAdd Signed-off-by line at the end of the commit message.\n+\tAdd a `Signed-off-by:` line at the end of the commit message.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \n -S[<keyid>]::\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex 93bbae4ded..8f0ff51237 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -165,7 +165,7 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n \n -s::\n --signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n+\tAdd a `Signed-off-by:` line by the committer at the end of the commit\n \tlog message.  The meaning of a signoff depends on the project to which\n \tyou're committing.  For example, it may certify that the committer has\n \tthe rights to submit the work under the project's license or agrees to\ndiff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt\nindex 0f81d0437b..439c2cf461 100644\n--- a/Documentation/git-format-patch.txt\n+++ b/Documentation/git-format-patch.txt\n@@ -119,7 +119,7 @@ include::diff-options.txt[]\n \n -s::\n --signoff::\n-\tAdd `Signed-off-by:` line to the commit message, using\n+\tAdd a `Signed-off-by:` line to the commit message, using\n \tthe committer identity of yourself.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 38e15488f6..2ad5f9eadc 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -496,7 +496,7 @@ See also INCOMPATIBLE OPTIONS below.\n See also INCOMPATIBLE OPTIONS below.\n \n --signoff::\n-\tAdd a Signed-off-by: trailer to all the rebased commits. Note\n+\tAdd a `Signed-off-by:` trailer to all the rebased commits. Note\n \tthat if `--interactive` is given then only commits marked to be\n \tpicked, edited or reworded will have the trailer added.\n +\ndiff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt\nindex 044276e9da..e89359d4bd 100644\n--- a/Documentation/git-revert.txt\n+++ b/Documentation/git-revert.txt\n@@ -99,7 +99,7 @@ effect to your index in a row.\n \n -s::\n --signoff::\n-\tAdd Signed-off-by line at the end of the commit message.\n+\tAdd a `Signed-off-by:` line at the end of the commit message.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \n --strategy=<strategy>::\ndiff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt\nindex 0a69810147..e9c0f22700 100644\n--- a/Documentation/git-send-email.txt\n+++ b/Documentation/git-send-email.txt\n@@ -313,7 +313,7 @@ Automating\n \tthe value of `sendemail.identity`.\n \n --[no-]signed-off-by-cc::\n-\tIf this is set, add emails found in Signed-off-by: or Cc: lines to the\n+\tIf this is set, add emails found in the `Signed-off-by:` or Cc: lines to the\n \tcc list. Default is the value of `sendemail.signedoffbycc` configuration\n \tvalue; if that is unspecified, default to --signed-off-by-cc.\n \n@@ -340,7 +340,7 @@ Automating\n   except for self (use 'self' for that).\n - 'bodycc' will avoid including anyone mentioned in Cc lines in the\n   patch body (commit message) except for self (use 'self' for that).\n-- 'sob' will avoid including anyone mentioned in Signed-off-by lines except\n+- 'sob' will avoid including anyone mentioned in the `Signed-off-by:` lines except\n   for self (use 'self' for that).\n - 'misc-by' will avoid including anyone mentioned in Acked-by,\n   Reviewed-by, Tested-by and other \"-by\" lines in the patch body,\ndiff --git a/Documentation/githooks.txt b/Documentation/githooks.txt\nindex 6e461ace6e..5063b02ab6 100644\n--- a/Documentation/githooks.txt\n+++ b/Documentation/githooks.txt\n@@ -164,7 +164,7 @@ can also be used to refuse the commit after inspecting the message\n file.\n \n The default 'commit-msg' hook, when enabled, detects duplicate\n-\"Signed-off-by\" lines, and aborts the commit if one is found.\n+`Signed-off-by:` lines, and aborts the commit if one is found.\n \n post-commit\n ~~~~~~~~~~~\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 29e6030131..0eed6a7bb2 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -79,7 +79,7 @@ actual commits being merged.\n \n --signoff::\n --no-signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n+\tAdd a `Signed-off-by:` line by the committer at the end of the commit\n \tlog message.  The meaning of a signoff depends on the project to which\n \tyou're committing.  For example, it may certify that the committer has\n \tthe rights to submit the work under the project's license or agrees to\n@@ -89,7 +89,7 @@ actual commits being merged.\n \tleadership of the project to which you're contributing to understand\n \thow the signoffs are used in that project.\n +\n-With --no-signoff do not add a Signed-off-by line.\n+With --no-signoff do not add a `Signed-off-by:` line.\n \n --stat::\n -n::\ndiff --git a/builtin/am.c b/builtin/am.c\nindex 2c7673f74e..e13b121b76 100644\n--- a/builtin/am.c\n+++ b/builtin/am.c\n@@ -2237,7 +2237,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)\n \t\t\tN_(\"allow fall back on 3way merging if needed\")),\n \t\tOPT__QUIET(&state.quiet, N_(\"be quiet\")),\n \t\tOPT_SET_INT('s', \"signoff\", &state.signoff,\n-\t\t\tN_(\"add a Signed-off-by line to the commit message\"),\n+\t\t\tN_(\"add a Signed-off-by: line to the commit message\"),\n \t\t\tSIGNOFF_EXPLICIT),\n \t\tOPT_BOOL('u', \"utf8\", &state.utf8,\n \t\t\tN_(\"recode into utf8 (default)\")),\ndiff --git a/builtin/commit.c b/builtin/commit.c\nindex 1dfd799ec5..6e254440f2 100644\n--- a/builtin/commit.c\n+++ b/builtin/commit.c\n@@ -1507,7 +1507,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)\n \t\tOPT_STRING(0, \"fixup\", &fixup_message, N_(\"commit\"), N_(\"use autosquash formatted message to fixup specified commit\")),\n \t\tOPT_STRING(0, \"squash\", &squash_message, N_(\"commit\"), N_(\"use autosquash formatted message to squash specified commit\")),\n \t\tOPT_BOOL(0, \"reset-author\", &renew_authorship, N_(\"the commit is authored by me now (used with -C/-c/--amend)\")),\n-\t\tOPT_BOOL('s', \"signoff\", &signoff, N_(\"add Signed-off-by:\")),\n+\t\tOPT_BOOL('s', \"signoff\", &signoff, N_(\"add a Signed-off-by: line\")),\n \t\tOPT_FILENAME('t', \"template\", &template_file, N_(\"use specified template file\")),\n \t\tOPT_BOOL('e', \"edit\", &edit_flag, N_(\"force edit of commit\")),\n \t\tOPT_CLEANUP(&cleanup_arg),\ndiff --git a/builtin/log.c b/builtin/log.c\nindex 0a7ed4bef9..615bd69baf 100644\n--- a/builtin/log.c\n+++ b/builtin/log.c\n@@ -1738,7 +1738,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)\n \t\tOPT_CALLBACK_F('N', \"no-numbered\", &numbered, NULL,\n \t\t\t    N_(\"use [PATCH] even with multiple patches\"),\n \t\t\t    PARSE_OPT_NOARG | PARSE_OPT_NONEG, no_numbered_callback),\n-\t\tOPT_BOOL('s', \"signoff\", &do_signoff, N_(\"add Signed-off-by:\")),\n+\t\tOPT_BOOL('s', \"signoff\", &do_signoff, N_(\"add a Signed-off-by: line\")),\n \t\tOPT_BOOL(0, \"stdout\", &use_stdout,\n \t\t\t    N_(\"print patches to standard out\")),\n \t\tOPT_BOOL(0, \"cover-letter\", &cover_letter,\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 9d5359edc2..5a2b4ca29e 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -289,7 +289,7 @@ static struct option builtin_merge_options[] = {\n \t  N_(\"GPG sign commit\"), PARSE_OPT_OPTARG, NULL, (intptr_t) \"\" },\n \tOPT_AUTOSTASH(&autostash),\n \tOPT_BOOL(0, \"overwrite-ignore\", &overwrite_ignore, N_(\"update ignored files (default)\")),\n-\tOPT_BOOL(0, \"signoff\", &signoff, N_(\"add Signed-off-by:\")),\n+\tOPT_BOOL(0, \"signoff\", &signoff, N_(\"add a Signed-off-by: line\")),\n \tOPT_BOOL(0, \"no-verify\", &no_verify, N_(\"bypass pre-merge-commit and commit-msg hooks\")),\n \tOPT_END()\n };\ndiff --git a/builtin/pull.c b/builtin/pull.c\nindex 425950f469..4d47fe5d3c 100644\n--- a/builtin/pull.c\n+++ b/builtin/pull.c\n@@ -142,7 +142,7 @@ static struct option pull_options[] = {\n \t\tN_(\"add (at most <n>) entries from shortlog to merge commit message\"),\n \t\tPARSE_OPT_OPTARG),\n \tOPT_PASSTHRU(0, \"signoff\", &opt_signoff, NULL,\n-\t\tN_(\"add Signed-off-by:\"),\n+\t\tN_(\"add a Signed-off-by: line\"),\n \t\tPARSE_OPT_OPTARG),\n \tOPT_PASSTHRU(0, \"squash\", &opt_squash, NULL,\n \t\tN_(\"create a single commit instead of doing a merge\"),\ndiff --git a/builtin/revert.c b/builtin/revert.c\nindex f61cc5d82c..1c895efedd 100644\n--- a/builtin/revert.c\n+++ b/builtin/revert.c\n@@ -107,7 +107,7 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts)\n \t\tOPT_BOOL('n', \"no-commit\", &opts->no_commit, N_(\"don't automatically commit\")),\n \t\tOPT_BOOL('e', \"edit\", &opts->edit, N_(\"edit the commit message\")),\n \t\tOPT_NOOP_NOARG('r', NULL),\n-\t\tOPT_BOOL('s', \"signoff\", &opts->signoff, N_(\"add Signed-off-by:\")),\n+\t\tOPT_BOOL('s', \"signoff\", &opts->signoff, N_(\"add a Signed-off-by: line\")),\n \t\tOPT_CALLBACK('m', \"mainline\", opts, N_(\"parent-number\"),\n \t\t\t     N_(\"select mainline parent\"), option_parse_m),\n \t\tOPT_RERERE_AUTOUPDATE(&opts->allow_rerere_auto),\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407924","messageId":"20201019220214.GB49623@nand.local","threadId":"54436","inReplyTo":"37a4932d48c1d36c3c512e9f8c0bcac878de6b76.1603142543.git.bkuhn@sfconservancy.org","subject":"Re: [PATCH v2 2/3] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2020-10-19T22:02:14Z","receivedAt":"2020-10-19T22:02:19Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Bradley,\n\nI think that the 3-patch series that Junio was talking about in [1] is\nactually this one [2].\n\nSkimming the differences between the two, this patch of yours doesn't\nhave an analogue in what Junio sent. But, I think it's worthwhile, so\nperhaps it could be applied on top before moving into next (at the time\nof writing, this is integrated into 'seen' as 1b98087e0f (Merge\nbranch 'bk/sob-dco' into jch, 2020-10-19)).\n\nOn Mon, Oct 19, 2020 at 02:25:43PM -0700, Bradley M. Kuhn wrote:\n> Ted reported during patch review of the previous commit that an old\n> typo was present in the git-commit.txt and merge-options.txt.\n> Namely, the phrase \"Signed-off-by line\" was used without either a\n> definite nor indefinite article.\n>\n> [...]\n>\n> Reported-by: \"Theodore Y. Ts'o\" <tytso@mit.edu>\n> Message-ID: <20201018151315.GJ181507@mit.edu>\n> Signed-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n\n  Acked-by: Taylor Blau <me@ttaylorr.com>\n\nThanks,\nTaylor\n\n[1]: https://lore.kernel.org/git/xmqqmu0it6ls.fsf@gitster.c.googlers.com/\n[2]: https://lore.kernel.org/git/20201018194912.2716372-1-gitster@pobox.com/\n"},{"id":"407926","messageId":"xmqqy2k1dfoh.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"20201019220214.GB49623@nand.local","subject":"Re: [PATCH v2 2/3] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-19T22:17:02Z","receivedAt":"2020-10-19T22:17:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Taylor Blau <me@ttaylorr.com> writes:\n\n> I think that the 3-patch series that Junio was talking about in [1] is\n> actually this one [2].\n> ...\n> [1]: https://lore.kernel.org/git/xmqqmu0it6ls.fsf@gitster.c.googlers.com/\n> [2]: https://lore.kernel.org/git/20201018194912.2716372-1-gitster@pobox.com/\n\nTrue.\n\nI actually think it is a bad idea to add \":\" after every mention of\n\"Signed-off-by\"; it only looks clarifying because we use a boring\nand generic word \"line\" to refer to where that three-word token\nappears.\n\nWe can say \"a 'Signed-off-by' trailer\" and it becomes plenty clear\nthat we are not talking about any random line in the log message,\nand we do not need \":\" everywhere, I suspect.\n\nThanks.\n"},{"id":"407938","messageId":"cover.1603155607.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"xmqqy2k1dfoh.fsf@gitster.c.googlers.com","subject":"[PATCH v3 0/4] clarify meaning of --signoff & related doc improvements in describing Signed-off-by","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T01:03:51Z","receivedAt":"2020-10-20T01:06:20Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"[ Note that there were competing v2's of this patch series, one from me and\n  one from Junio.  Sorry about that; I had missed Junio's from Sunday. ]\n\nI believe this patch series now addresses all the issues raised in the\ndiscussion.\n\n  * [1/4] is unchanged from Junio's v2 and is the preparatory cleanup.\n\n  * [2/4] remains unchanged textually since I originally posted it and Pfeff\n    signed off.\n\n  * [3/4] is unchanged from Junio's v2 and is his clarification for what\n     Git's --signoff means.\n     \n  * [4/4] is a rework of a patch from *my* v2.  It takes into account Junio's\n    comments about preferring the word \"trailer\" and leaving off the ':'\n    whenever possible when discussing Signed-off-by.\n\nFor reference:\n\n        v1: https://lore.kernel.org/git/20201015215933.96425-1-bkuhn@sfconservancy.org/\nJunio's v2: https://lore.kernel.org/git/20201018194912.2716372-1-gitster@pobox.com/\n     my v2: https://lore.kernel.org/git/cover.1603142543.git.bkuhn@sfconservancy.org/\n\nBradley M. Kuhn (2):\n  Documentation: clarify and expand description of --signoff\n  Documentation: stylistically normalize references to Signed-off-by:\n\nJunio C Hamano (2):\n  doc: preparatory clean-up of description on the sign-off option\n  SubmittingPatches: clarify DCO is our --signoff rule\n\n Documentation/MyFirstContribution.txt |  2 +-\n Documentation/SubmittingPatches       | 35 +++++++++++++++------------\n Documentation/config/format.txt       |  2 +-\n Documentation/git-am.txt              |  2 +-\n Documentation/git-cherry-pick.txt     |  2 +-\n Documentation/git-commit.txt          | 10 ++------\n Documentation/git-format-patch.txt    |  2 +-\n Documentation/git-rebase.txt          |  2 +-\n Documentation/git-revert.txt          |  2 +-\n Documentation/git-send-email.txt      |  4 +--\n Documentation/git-svn.txt             |  4 +--\n Documentation/githooks.txt            |  2 +-\n Documentation/merge-options.txt       | 11 +--------\n Documentation/signoff-option.txt      | 18 ++++++++++++++\n builtin/am.c                          |  2 +-\n builtin/commit.c                      |  2 +-\n builtin/log.c                         |  2 +-\n builtin/merge.c                       |  2 +-\n builtin/pull.c                        |  2 +-\n builtin/rebase.c                      |  2 +-\n builtin/revert.c                      |  2 +-\n commit.c                              |  2 +-\n 22 files changed, 60 insertions(+), 54 deletions(-)\n create mode 100644 Documentation/signoff-option.txt\n\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407939","messageId":"0a6bdbdcf7fbe96674908dc7314a2069fec850e1.1603155607.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603155607.git.bkuhn@sfconservancy.org","subject":"[PATCH v3 1/4] doc: preparatory clean-up of description on the sign-off option","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T01:03:52Z","receivedAt":"2020-10-20T01:06:21Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"From: Junio C Hamano <gitster@pobox.com>\n\nAlmost identical text on the signed-off-by trailer appears in the\ndocumentation for \"git commit\" and \"git merge\" and its friends.\n\nIntroduce a new signoff-options.txt file to be shared.  A couple\nthings of note are:\n\n - The short-form \"-s\" is available only in \"git commit\", but not in\n   commands that are friends of \"git merge\", as it is used as a\n   short-hand for \"--strategy\".\n\n - The original lacks description on the negated \"--no-signoff\" form\n   on \"git commit\" side, but it equally is applicable.  It however\n   was unclear in the original text that not adding a Signed-off-by\n   trailer is the default, so rephrase to explain it as a way to\n   countermand a --signoff option that appeared earlier on the same\n   command line.\n\nThis is in preparation to apply a further clarification on what\nexactly the Signed-off-by trailer means.\n\nSuggested-by: Philippe Blain <levraiphilippeblain@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\nReviewed-by: Taylor Blau <me@ttaylorr.com>\nReviewed-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n---\n Documentation/git-commit.txt     | 10 ++--------\n Documentation/merge-options.txt  | 11 +----------\n Documentation/signoff-option.txt | 14 ++++++++++++++\n 3 files changed, 17 insertions(+), 18 deletions(-)\n create mode 100644 Documentation/signoff-option.txt\n\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex a3baea32ae..17150fa7ea 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -59,6 +59,7 @@ commit by giving the same set of parameters (options and paths).\n If you make a commit and then find a mistake immediately after\n that, you can recover from it with 'git reset'.\n \n+:git-commit: 1\n \n OPTIONS\n -------\n@@ -163,14 +164,7 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n \tmessage, the commit is aborted.  This has no effect when a message\n \tis given by other means, e.g. with the `-m` or `-F` options.\n \n--s::\n---signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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+include::signoff-option.txt[]\n \n -n::\n --no-verify::\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 80d4831662..eb0aabd396 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -77,16 +77,7 @@ When not possible, refuse to merge and exit with a non-zero status.\n With --no-log do not list one-line descriptions from the\n actual commits being merged.\n \n---signoff::\n---no-signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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-With --no-signoff do not add a Signed-off-by line.\n+include::signoff-option.txt[]\n \n --stat::\n -n::\ndiff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt\nnew file mode 100644\nindex 0000000000..d1c6713774\n--- /dev/null\n+++ b/Documentation/signoff-option.txt\n@@ -0,0 +1,14 @@\n+ifdef::git-commit[]\n+-s::\n+endif::git-commit[]\n+--signoff::\n+--no-signoff::\n+\tAdd Signed-off-by line by the committer at the end of the commit\n+\tlog message.  The meaning of a signoff depends on the project,\n+\tbut it typically certifies that committer has\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+The --no-signoff option can be used to countermand an earlier --signoff\n+option on the command line.\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407940","messageId":"418d15c53268f947e11dac2f22d1f8c3c8c60997.1603155607.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603155607.git.bkuhn@sfconservancy.org","subject":"[PATCH v3 2/4] Documentation: clarify and expand description of --signoff","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T01:03:53Z","receivedAt":"2020-10-20T01:06:22Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Building on past documentation improvements in b2c150d3aa (Expand\ndocumentation describing --signoff, 2016-01-05), further clarify\nthat any project using Git may and often does set its own policy.\n\nHowever, leave intact reference to the Linux DCO, which Git also\nuses.  It is reasonable for Git to advocate for its own Signed-off-by\nmethodology in its documentation, as long as the documentation\nremains respectful that YMMV and other projects may well have very\ndifferent contributor representations tied to Signed-off-by.\n\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Jeff King <peff@peff.net>\nReviewed-by: Taylor Blau <me@ttaylorr.com>\n---\n Documentation/signoff-option.txt | 16 ++++++++++------\n 1 file changed, 10 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt\nindex d1c6713774..fbff8dd5be 100644\n--- a/Documentation/signoff-option.txt\n+++ b/Documentation/signoff-option.txt\n@@ -3,12 +3,16 @@ ifdef::git-commit[]\n endif::git-commit[]\n --signoff::\n --no-signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\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+\tAdd a Signed-off-by trailer by the committer at the end of the commit\n+\tlog message.  The meaning of a signoff depends on the project\n+\tto which you're committing.  For example, it may certify that\n+\tthe committer has the rights to submit the work under the\n+\tproject's license or agrees to some contributor representation,\n+\tsuch as a Developer Certificate of Origin.\n+\t(See http://developercertificate.org for the one used by the\n+\tLinux kernel and Git projects.)  Consult the documentation or\n+\tleadership of the project to which you're contributing to\n+\tunderstand how the signoffs are used in that project.\n +\n The --no-signoff option can be used to countermand an earlier --signoff\n option on the command line.\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407941","messageId":"2047100ba2b72e765b7afaa1ae5ea7d26644d9d9.1603155607.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603155607.git.bkuhn@sfconservancy.org","subject":"[PATCH v3 3/4] SubmittingPatches: clarify DCO is our --signoff rule","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T01:03:54Z","receivedAt":"2020-10-20T01:06:23Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"From: Junio C Hamano <gitster@pobox.com>\n\nThe description on sign-off and DCO was written back in the days\nwhere there was only a choice between \"use sign-off and it means the\ncontributor agrees to the Linux-kernel style DCO\" and \"not using\nsign-off at all will make your patch unusable\".  These days, we are\ntrying to clarify that the exact meaning of a sign-off varies\nproject to project.\n\nLet's be more explicit when presenting what _our_ rules are.  It is\nof secondary importance that it originally came from the kernel\nproject, so move the description as a historical note at the end,\nwhile cautioning that what a sign-off means to us may be different from\nwhat it means to other projects contributors may have been used to.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\nReviewed-by: Taylor Blau <me@ttaylorr.com>\nReviewed-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\n---\n Documentation/SubmittingPatches | 25 ++++++++++++++-----------\n 1 file changed, 14 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 291b61e262..f83a050b35 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -300,15 +300,12 @@ patch.\n [[sign-off]]\n === Certify your work by adding your \"Signed-off-by: \" line\n \n-To improve tracking of who did what, we've borrowed the\n-\"sign-off\" procedure from the Linux kernel project on patches\n-that are being emailed around.  Although core Git is a lot\n-smaller project it is a good discipline to follow it.\n+To improve tracking of who did what, we ask you to certify that you\n+wrote the patch or have the right to pass it on under the same license\n+as ours, by \"signing off\" your patch.  Without sign-off, we cannot\n+accept your patches.\n \n-The sign-off is a simple line at the end of the explanation for\n-the patch, which certifies that you wrote it or otherwise have\n-the right to pass it on as an open-source patch.  The rules are\n-pretty simple: if you can certify the below D-C-O:\n+If you can certify the below D-C-O:\n \n [[dco]]\n .Developer's Certificate of Origin 1.1\n@@ -338,14 +335,15 @@ d. I understand and agree that this project and the contribution\n    this project or the open source license(s) involved.\n ____\n \n-then you just add a line saying\n+you add a \"Signed-off-by\" trailer to your commit, that looks like\n+this:\n \n ....\n \tSigned-off-by: Random J Developer <random@developer.example.org>\n ....\n \n-This line can be automatically added by Git if you run the git-commit\n-command with the -s option.\n+This line can be added by Git if you run the git-commit command with\n+the -s option.\n \n Notice that you can place your own Signed-off-by: line when\n forwarding somebody else's patch with the above rules for\n@@ -353,6 +351,11 @@ D-C-O.  Indeed you are encouraged to do so.  Do not forget to\n place an in-body \"From: \" line at the beginning to properly attribute\n the change to its true author (see (2) above).\n \n+This procedure originally came from the Linux kernel project, so our\n+rule is quite similar to theirs, but what exactly it means to sign-off\n+your patch differs from project to project, so it may be different\n+from that of the project you are accustomed to.\n+\n [[real-name]]\n Also notice that a real name is used in the Signed-off-by: line. Please\n don't hide your real name.\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407942","messageId":"448b9d464eafdb0ee8faa8cd41ee08f844e27701.1603155607.git.bkuhn@sfconservancy.org","threadId":"54436","inReplyTo":"cover.1603155607.git.bkuhn@sfconservancy.org","subject":"[PATCH v3 4/4] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T01:03:55Z","receivedAt":"2020-10-20T01:06:26Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Ted reported an old typo in the git-commit.txt and merge-options.txt.\nNamely, the phrase \"Signed-off-by line\" was used without either a\ndefinite nor indefinite article.\n\nUpon examination, it seems that the documentation (including items in\nDocumentation/, but also option help strings) have been quite\ninconsistent on usage when referring to `Signed-off-by`.\n\nFirst, very few places used a definite or indefinite article with the\nphrase \"Signed-off-by line\", but that was the initial typo that led\nto this investigation.  So, normalize using either an indefinite or\ndefinite article consistently.\n\nThe original phrasing, in Commit 3f971fc425b (Documentation updates,\n2005-08-14), is \"Add Signed-off-by line\".  Commit 6f855371a53 (Add\n--signoff, --check, and long option-names. 2005-12-09) switched to\nusing \"Add `Signed-off-by:` line\", but didn't normalize the former\ncommit to match.  Later commits seem to have cut and pasted from one\nor the other, which is likely how the usage became so inconsistent.\n\nJunio stated on the git mailing list in\n<xmqqy2k1dfoh.fsf@gitster.c.googlers.com> a preference to leave off\nthe colon.  Thus, prefer `Signed-off-by` (with backticks) for the\ndocumentation files and Signed-off-by (without backticks) for option\nhelp strings.\n\nAdditionally, Junio argued that \"trailer\" is now the standard term to\nrefer to `Signed-off-by`, saying that \"becomes plenty clear that we\nare not talking about any random line in the log message\".  As such,\nprefer \"trailer\" over \"line\" anywhere the former word fits.\n\nHowever, leave alone those few places in documentation that use\nSigned-off-by to refer to the process (rather than the specific\ntrailer), or in places where mail headers are generally discussed in\ncomparison with Signed-off-by.\n\nReported-by: \"Theodore Y. Ts'o\" <tytso@mit.edu>\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\nAcked-by: Taylor Blau <me@ttaylorr.com>\n---\n Documentation/MyFirstContribution.txt |  2 +-\n Documentation/SubmittingPatches       | 10 +++++-----\n Documentation/config/format.txt       |  2 +-\n Documentation/git-am.txt              |  2 +-\n Documentation/git-cherry-pick.txt     |  2 +-\n Documentation/git-format-patch.txt    |  2 +-\n Documentation/git-rebase.txt          |  2 +-\n Documentation/git-revert.txt          |  2 +-\n Documentation/git-send-email.txt      |  4 ++--\n Documentation/git-svn.txt             |  4 ++--\n Documentation/githooks.txt            |  2 +-\n Documentation/signoff-option.txt      |  2 +-\n builtin/am.c                          |  2 +-\n builtin/commit.c                      |  2 +-\n builtin/log.c                         |  2 +-\n builtin/merge.c                       |  2 +-\n builtin/pull.c                        |  2 +-\n builtin/rebase.c                      |  2 +-\n builtin/revert.c                      |  2 +-\n commit.c                              |  2 +-\n 20 files changed, 26 insertions(+), 26 deletions(-)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex 4f85a089ef..492f3998f7 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -249,7 +249,7 @@ component you're working on, followed by a blank line (always required) and then\n the body of your commit message, which should provide the bulk of the context.\n Remember to be explicit and provide the \"Why\" of your change, especially if it\n couldn't easily be understood from your diff. When editing your commit message,\n-don't remove the Signed-off-by line which was added by `-s` above.\n+don't remove the `Signed-off-by` trailer which was added by `-s` above.\n \n ----\n psuh: add a built-in by popular demand\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex f83a050b35..3bf2147787 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -209,7 +209,7 @@ send them as replies to either an additional \"cover letter\" message\n (see below), the first patch, or the respective preceding patch.\n \n If your log message (including your name on the\n-Signed-off-by line) is not writable in ASCII, make sure that\n+`Signed-off-by` trailer) is not writable in ASCII, make sure that\n you send off a message in the correct encoding.\n \n WARNING: Be wary of your MUAs word-wrap\n@@ -229,7 +229,7 @@ previously sent.\n The `git format-patch` command follows the best current practice to\n format the body of an e-mail message.  At the beginning of the\n patch should come your commit message, ending with the\n-Signed-off-by: lines, and a line that consists of three dashes,\n+`Signed-off-by` trailers, and a line that consists of three dashes,\n followed by the diffstat information and the patch itself.  If\n you are forwarding a patch from somebody else, optionally, at\n the beginning of the e-mail message just before the commit\n@@ -298,7 +298,7 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n patch.\n \n [[sign-off]]\n-=== Certify your work by adding your \"Signed-off-by: \" line\n+=== Certify your work by adding your `Signed-off-by` trailer\n \n To improve tracking of who did what, we ask you to certify that you\n wrote the patch or have the right to pass it on under the same license\n@@ -345,7 +345,7 @@ this:\n This line can be added by Git if you run the git-commit command with\n the -s option.\n \n-Notice that you can place your own Signed-off-by: line when\n+Notice that you can place your own `Signed-off-by` trailer when\n forwarding somebody else's patch with the above rules for\n D-C-O.  Indeed you are encouraged to do so.  Do not forget to\n place an in-body \"From: \" line at the beginning to properly attribute\n@@ -357,7 +357,7 @@ your patch differs from project to project, so it may be different\n from that of the project you are accustomed to.\n \n [[real-name]]\n-Also notice that a real name is used in the Signed-off-by: line. Please\n+Also notice that a real name is used in the `Signed-off-by` trailer. Please\n don't hide your real name.\n \n [[commit-trailers]]\ndiff --git a/Documentation/config/format.txt b/Documentation/config/format.txt\nindex c2efd8758a..851bf410a3 100644\n--- a/Documentation/config/format.txt\n+++ b/Documentation/config/format.txt\n@@ -79,7 +79,7 @@ format.thread::\n \n format.signOff::\n \tA boolean value which lets you enable the `-s/--signoff` option of\n-\tformat-patch by default. *Note:* Adding the Signed-off-by: line to a\n+\tformat-patch by default. *Note:* Adding the `Signed-off-by` trailer to a\n \tpatch should be a conscious act and means that you certify you have\n \tthe rights to submit this work under the same open source license.\n \tPlease see the 'SubmittingPatches' document for further discussion.\ndiff --git a/Documentation/git-am.txt b/Documentation/git-am.txt\nindex 38c0852139..06bc063542 100644\n--- a/Documentation/git-am.txt\n+++ b/Documentation/git-am.txt\n@@ -33,7 +33,7 @@ OPTIONS\n \n -s::\n --signoff::\n-\tAdd a `Signed-off-by:` line to the commit message, using\n+\tAdd a `Signed-off-by` trailer to the commit message, using\n \tthe committer identity of yourself.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \ndiff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt\nindex 75feeef08a..5d750314b2 100644\n--- a/Documentation/git-cherry-pick.txt\n+++ b/Documentation/git-cherry-pick.txt\n@@ -104,7 +104,7 @@ effect to your index in a row.\n \n -s::\n --signoff::\n-\tAdd Signed-off-by line at the end of the commit message.\n+\tAdd a `Signed-off-by` trailer at the end of the commit message.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \n -S[<keyid>]::\ndiff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt\nindex 0f81d0437b..bf1bb40f63 100644\n--- a/Documentation/git-format-patch.txt\n+++ b/Documentation/git-format-patch.txt\n@@ -119,7 +119,7 @@ include::diff-options.txt[]\n \n -s::\n --signoff::\n-\tAdd `Signed-off-by:` line to the commit message, using\n+\tAdd a `Signed-off-by` trailer to the commit message, using\n \tthe committer identity of yourself.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 38e15488f6..a0487b5cc5 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -496,7 +496,7 @@ See also INCOMPATIBLE OPTIONS below.\n See also INCOMPATIBLE OPTIONS below.\n \n --signoff::\n-\tAdd a Signed-off-by: trailer to all the rebased commits. Note\n+\tAdd a `Signed-off-by` trailer to all the rebased commits. Note\n \tthat if `--interactive` is given then only commits marked to be\n \tpicked, edited or reworded will have the trailer added.\n +\ndiff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt\nindex 044276e9da..bb92a4a451 100644\n--- a/Documentation/git-revert.txt\n+++ b/Documentation/git-revert.txt\n@@ -99,7 +99,7 @@ effect to your index in a row.\n \n -s::\n --signoff::\n-\tAdd Signed-off-by line at the end of the commit message.\n+\tAdd a `Signed-off-by` trailer at the end of the commit message.\n \tSee the signoff option in linkgit:git-commit[1] for more information.\n \n --strategy=<strategy>::\ndiff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt\nindex 0a69810147..b7bbbeadef 100644\n--- a/Documentation/git-send-email.txt\n+++ b/Documentation/git-send-email.txt\n@@ -313,7 +313,7 @@ Automating\n \tthe value of `sendemail.identity`.\n \n --[no-]signed-off-by-cc::\n-\tIf this is set, add emails found in Signed-off-by: or Cc: lines to the\n+\tIf this is set, add emails found in the `Signed-off-by` trailer or Cc: lines to the\n \tcc list. Default is the value of `sendemail.signedoffbycc` configuration\n \tvalue; if that is unspecified, default to --signed-off-by-cc.\n \n@@ -340,7 +340,7 @@ Automating\n   except for self (use 'self' for that).\n - 'bodycc' will avoid including anyone mentioned in Cc lines in the\n   patch body (commit message) except for self (use 'self' for that).\n-- 'sob' will avoid including anyone mentioned in Signed-off-by lines except\n+- 'sob' will avoid including anyone mentioned in the Signed-off-by trailers except\n   for self (use 'self' for that).\n - 'misc-by' will avoid including anyone mentioned in Acked-by,\n   Reviewed-by, Tested-by and other \"-by\" lines in the patch body,\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 6624a14fbd..67b143cc81 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -701,7 +701,7 @@ creating the branch or tag.\n \n --use-log-author::\n \tWhen retrieving svn commits into Git (as part of 'fetch', 'rebase', or\n-\t'dcommit' operations), look for the first `From:` or `Signed-off-by:` line\n+\t'dcommit' operations), look for the first `From:` line or `Signed-off-by` trailer\n \tin the log message and use that as the author string.\n +\n [verse]\n@@ -710,7 +710,7 @@ config key: svn.useLogAuthor\n --add-author-from::\n \tWhen committing to svn from Git (as part of 'set-tree' or 'dcommit'\n \toperations), if the existing log message doesn't already have a\n-\t`From:` or `Signed-off-by:` line, append a `From:` line based on the\n+\t`From:` or `Signed-off-by` trailer, append a `From:` line based on the\n \tGit commit's author string.  If you use this, then `--use-log-author`\n \twill retrieve a valid author string for all commits.\n +\ndiff --git a/Documentation/githooks.txt b/Documentation/githooks.txt\nindex 6e461ace6e..4e097dc4e9 100644\n--- a/Documentation/githooks.txt\n+++ b/Documentation/githooks.txt\n@@ -164,7 +164,7 @@ can also be used to refuse the commit after inspecting the message\n file.\n \n The default 'commit-msg' hook, when enabled, detects duplicate\n-\"Signed-off-by\" lines, and aborts the commit if one is found.\n+`Signed-off-by` trailers, and aborts the commit if one is found.\n \n post-commit\n ~~~~~~~~~~~\ndiff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt\nindex fbff8dd5be..12aa2333e4 100644\n--- a/Documentation/signoff-option.txt\n+++ b/Documentation/signoff-option.txt\n@@ -3,7 +3,7 @@ ifdef::git-commit[]\n endif::git-commit[]\n --signoff::\n --no-signoff::\n-\tAdd a Signed-off-by trailer by the committer at the end of the commit\n+\tAdd a `Signed-off-by` trailer by the committer at the end of the commit\n \tlog message.  The meaning of a signoff depends on the project\n \tto which you're committing.  For example, it may certify that\n \tthe committer has the rights to submit the work under the\ndiff --git a/builtin/am.c b/builtin/am.c\nindex 2c7673f74e..26f53cdc09 100644\n--- a/builtin/am.c\n+++ b/builtin/am.c\n@@ -2237,7 +2237,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)\n \t\t\tN_(\"allow fall back on 3way merging if needed\")),\n \t\tOPT__QUIET(&state.quiet, N_(\"be quiet\")),\n \t\tOPT_SET_INT('s', \"signoff\", &state.signoff,\n-\t\t\tN_(\"add a Signed-off-by line to the commit message\"),\n+\t\t\tN_(\"add a Signed-off-by trailer to the commit message\"),\n \t\t\tSIGNOFF_EXPLICIT),\n \t\tOPT_BOOL('u', \"utf8\", &state.utf8,\n \t\t\tN_(\"recode into utf8 (default)\")),\ndiff --git a/builtin/commit.c b/builtin/commit.c\nindex 1dfd799ec5..505fe60956 100644\n--- a/builtin/commit.c\n+++ b/builtin/commit.c\n@@ -1507,7 +1507,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)\n \t\tOPT_STRING(0, \"fixup\", &fixup_message, N_(\"commit\"), N_(\"use autosquash formatted message to fixup specified commit\")),\n \t\tOPT_STRING(0, \"squash\", &squash_message, N_(\"commit\"), N_(\"use autosquash formatted message to squash specified commit\")),\n \t\tOPT_BOOL(0, \"reset-author\", &renew_authorship, N_(\"the commit is authored by me now (used with -C/-c/--amend)\")),\n-\t\tOPT_BOOL('s', \"signoff\", &signoff, N_(\"add Signed-off-by:\")),\n+\t\tOPT_BOOL('s', \"signoff\", &signoff, N_(\"add a Signed-off-by trailer\")),\n \t\tOPT_FILENAME('t', \"template\", &template_file, N_(\"use specified template file\")),\n \t\tOPT_BOOL('e', \"edit\", &edit_flag, N_(\"force edit of commit\")),\n \t\tOPT_CLEANUP(&cleanup_arg),\ndiff --git a/builtin/log.c b/builtin/log.c\nindex 0a7ed4bef9..9f939e6cdf 100644\n--- a/builtin/log.c\n+++ b/builtin/log.c\n@@ -1738,7 +1738,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)\n \t\tOPT_CALLBACK_F('N', \"no-numbered\", &numbered, NULL,\n \t\t\t    N_(\"use [PATCH] even with multiple patches\"),\n \t\t\t    PARSE_OPT_NOARG | PARSE_OPT_NONEG, no_numbered_callback),\n-\t\tOPT_BOOL('s', \"signoff\", &do_signoff, N_(\"add Signed-off-by:\")),\n+\t\tOPT_BOOL('s', \"signoff\", &do_signoff, N_(\"add a Signed-off-by trailer\")),\n \t\tOPT_BOOL(0, \"stdout\", &use_stdout,\n \t\t\t    N_(\"print patches to standard out\")),\n \t\tOPT_BOOL(0, \"cover-letter\", &cover_letter,\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 9d5359edc2..4c133402a6 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -289,7 +289,7 @@ static struct option builtin_merge_options[] = {\n \t  N_(\"GPG sign commit\"), PARSE_OPT_OPTARG, NULL, (intptr_t) \"\" },\n \tOPT_AUTOSTASH(&autostash),\n \tOPT_BOOL(0, \"overwrite-ignore\", &overwrite_ignore, N_(\"update ignored files (default)\")),\n-\tOPT_BOOL(0, \"signoff\", &signoff, N_(\"add Signed-off-by:\")),\n+\tOPT_BOOL(0, \"signoff\", &signoff, N_(\"add a Signed-off-by trailer\")),\n \tOPT_BOOL(0, \"no-verify\", &no_verify, N_(\"bypass pre-merge-commit and commit-msg hooks\")),\n \tOPT_END()\n };\ndiff --git a/builtin/pull.c b/builtin/pull.c\nindex 425950f469..17aa63cd35 100644\n--- a/builtin/pull.c\n+++ b/builtin/pull.c\n@@ -142,7 +142,7 @@ static struct option pull_options[] = {\n \t\tN_(\"add (at most <n>) entries from shortlog to merge commit message\"),\n \t\tPARSE_OPT_OPTARG),\n \tOPT_PASSTHRU(0, \"signoff\", &opt_signoff, NULL,\n-\t\tN_(\"add Signed-off-by:\"),\n+\t\tN_(\"add a Signed-off-by trailer\"),\n \t\tPARSE_OPT_OPTARG),\n \tOPT_PASSTHRU(0, \"squash\", &opt_squash, NULL,\n \t\tN_(\"create a single commit instead of doing a merge\"),\ndiff --git a/builtin/rebase.c b/builtin/rebase.c\nindex eeca53382f..7b65525301 100644\n--- a/builtin/rebase.c\n+++ b/builtin/rebase.c\n@@ -1324,7 +1324,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)\n \t\t\tN_(\"do not show diffstat of what changed upstream\"),\n \t\t\tPARSE_OPT_NOARG, NULL, REBASE_DIFFSTAT },\n \t\tOPT_BOOL(0, \"signoff\", &options.signoff,\n-\t\t\t N_(\"add a Signed-off-by: line to each commit\")),\n+\t\t\t N_(\"add a Signed-off-by trailer to each commit\")),\n \t\tOPT_BOOL(0, \"committer-date-is-author-date\",\n \t\t\t &options.committer_date_is_author_date,\n \t\t\t N_(\"make committer date match author date\")),\ndiff --git a/builtin/revert.c b/builtin/revert.c\nindex f61cc5d82c..da8997dc86 100644\n--- a/builtin/revert.c\n+++ b/builtin/revert.c\n@@ -107,7 +107,7 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts)\n \t\tOPT_BOOL('n', \"no-commit\", &opts->no_commit, N_(\"don't automatically commit\")),\n \t\tOPT_BOOL('e', \"edit\", &opts->edit, N_(\"edit the commit message\")),\n \t\tOPT_NOOP_NOARG('r', NULL),\n-\t\tOPT_BOOL('s', \"signoff\", &opts->signoff, N_(\"add Signed-off-by:\")),\n+\t\tOPT_BOOL('s', \"signoff\", &opts->signoff, N_(\"add a Signed-off-by trailer\")),\n \t\tOPT_CALLBACK('m', \"mainline\", opts, N_(\"parent-number\"),\n \t\t\t     N_(\"select mainline parent\"), option_parse_m),\n \t\tOPT_RERERE_AUTOUPDATE(&opts->allow_rerere_auto),\ndiff --git a/commit.c b/commit.c\nindex f53429c0ac..fe1fa3dc41 100644\n--- a/commit.c\n+++ b/commit.c\n@@ -1586,7 +1586,7 @@ const char *find_commit_header(const char *msg, const char *key, size_t *out_len\n \n /*\n  * Inspect the given string and determine the true \"end\" of the log message, in\n- * order to find where to put a new Signed-off-by: line.  Ignored are\n+ * order to find where to put a new Signed-off-by trailer.  Ignored are\n  * trailing comment lines and blank lines.  To support \"git commit -s\n  * --amend\" on an existing commit, we also ignore \"Conflicts:\".  To\n  * support \"git commit -v\", we truncate at cut lines.\n-- \nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n\n"},{"id":"407947","messageId":"20201020023138.GA54484@nand.local","threadId":"54436","inReplyTo":"xmqqy2k1dfoh.fsf@gitster.c.googlers.com","subject":"Re: [PATCH v2 2/3] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2020-10-20T02:31:38Z","receivedAt":"2020-10-20T02:31:45Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Mon, Oct 19, 2020 at 03:17:02PM -0700, Junio C Hamano wrote:\n> Taylor Blau <me@ttaylorr.com> writes:\n>\n> > I think that the 3-patch series that Junio was talking about in [1] is\n> > actually this one [2].\n> > ...\n> > [1]: https://lore.kernel.org/git/xmqqmu0it6ls.fsf@gitster.c.googlers.com/\n> > [2]: https://lore.kernel.org/git/20201018194912.2716372-1-gitster@pobox.com/\n>\n> True.\n>\n> I actually think it is a bad idea to add \":\" after every mention of\n> \"Signed-off-by\"; it only looks clarifying because we use a boring\n> and generic word \"line\" to refer to where that three-word token\n> appears.\n>\n> We can say \"a 'Signed-off-by' trailer\" and it becomes plenty clear\n> that we are not talking about any random line in the log message,\n> and we do not need \":\" everywhere, I suspect.\n\nMm. I may be in the minority that I think having \":\" after\n\"Signed-off-by\" is helpful, but I'm happy to go whichever way others\nfind most clear.\n\n> Thanks.\n\nThanks,\nTaylor\n"},{"id":"407948","messageId":"20201020023407.GB54484@nand.local","threadId":"54436","inReplyTo":"cover.1603155607.git.bkuhn@sfconservancy.org","subject":"Re: [PATCH v3 0/4] clarify meaning of --signoff & related doc improvements in describing Signed-off-by","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2020-10-20T02:34:07Z","receivedAt":"2020-10-20T02:34:13Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Bradley,\n\nOn Mon, Oct 19, 2020 at 06:03:51PM -0700, Bradley M. Kuhn wrote:\n> [ Note that there were competing v2's of this patch series, one from me and\n>   one from Junio.  Sorry about that; I had missed Junio's from Sunday. ]\n>\n> I believe this patch series now addresses all the issues raised in the\n> discussion.\n>\n>   * [1/4] is unchanged from Junio's v2 and is the preparatory cleanup.\n>\n>   * [2/4] remains unchanged textually since I originally posted it and Pfeff\n>     signed off.\n>\n>   * [3/4] is unchanged from Junio's v2 and is his clarification for what\n>      Git's --signoff means.\n>\n>   * [4/4] is a rework of a patch from *my* v2.  It takes into account Junio's\n>     comments about preferring the word \"trailer\" and leaving off the ':'\n>     whenever possible when discussing Signed-off-by.\n\nThanks; I think some of our emails crossed over one another, but this\nversion looks good to me.\n\nI'd be happy to discard what's currently in seen (integrated as\n1b98087e0f (Merge branch 'bk/sob-dco' into jch, 2020-10-19 at the time\nof writing) in favor of what's here.\n\nThanks,\nTaylor\n"},{"id":"407995","messageId":"xmqq8sc0d91d.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"448b9d464eafdb0ee8faa8cd41ee08f844e27701.1603155607.git.bkuhn@sfconservancy.org","subject":"Re: [PATCH v3 4/4] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-20T18:52:46Z","receivedAt":"2020-10-20T18:52:51Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Bradley M. Kuhn\" <bkuhn@sfconservancy.org> writes:\n\n> Ted reported an old typo in the git-commit.txt and merge-options.txt.\n> Namely, the phrase \"Signed-off-by line\" was used without either a\n> definite nor indefinite article.\n>\n> Upon examination, it seems that the documentation (including items in\n> Documentation/, but also option help strings) have been quite\n> inconsistent on usage when referring to `Signed-off-by`.\n\nThanks.  This must have been a lot of proofreading ;-)\n\nIt seems the patches [1-3/4] are identical to what has been queued\nin 'seen', which is a good sign.  There was a reversion of a typofix\nin the log message of one of them, though.\n\n> diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt\n> index 0a69810147..b7bbbeadef 100644\n> --- a/Documentation/git-send-email.txt\n> +++ b/Documentation/git-send-email.txt\n> @@ -313,7 +313,7 @@ Automating\n>  \tthe value of `sendemail.identity`.\n>  \n>  --[no-]signed-off-by-cc::\n> -\tIf this is set, add emails found in Signed-off-by: or Cc: lines to the\n> +\tIf this is set, add emails found in the `Signed-off-by` trailer or Cc: lines to the\n>  \tcc list. Default is the value of `sendemail.signedoffbycc` configuration\n>  \tvalue; if that is unspecified, default to --signed-off-by-cc.\n>  \n> @@ -340,7 +340,7 @@ Automating\n>    except for self (use 'self' for that).\n>  - 'bodycc' will avoid including anyone mentioned in Cc lines in the\n>    patch body (commit message) except for self (use 'self' for that).\n> -- 'sob' will avoid including anyone mentioned in Signed-off-by lines except\n>\n> +- 'sob' will avoid including anyone mentioned in the Signed-off-by trailers except\n>    for self (use 'self' for that).\n>  - 'misc-by' will avoid including anyone mentioned in Acked-by,\n>    Reviewed-by, Tested-by and other \"-by\" lines in the patch body,\n>\n> diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\n\nDid you hand edit the second hunk starting at line 340 to\ngit-send-email.txt?  I've fixed it up manually, so no need to\nresend.\n\nThanks.\n"},{"id":"408018","messageId":"20201020213315.GB1368742@ebb.org","threadId":"54436","inReplyTo":"xmqq8sc0d91d.fsf@gitster.c.googlers.com","subject":"Re: [PATCH v3 4/4] Documentation: stylistically normalize references to Signed-off-by:","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T21:33:15Z","receivedAt":"2020-10-20T21:33:49Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Junio C Hamano wrote:\n> Did you hand edit the second hunk starting at line 340 to\n> git-send-email.txt?\n\nI don't think so, although this is only the third time I've used the git\nformat-patch/send-email workflow so it's entirely possible I did something\nfunky …\n\n>  I've fixed it up manually, so no need to resend.\n\n… but thanks for taking care of it!\n\n--\nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n"},{"id":"408019","messageId":"20201020212820.GA1368742@ebb.org","threadId":"54436","inReplyTo":"20201020023407.GB54484@nand.local","subject":"Re: [PATCH v3 0/4] clarify meaning of --signoff & related doc improvements in describing Signed-off-by","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T21:28:20Z","receivedAt":"2020-10-20T21:33:54Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Taylor Blau wrote:\n> Thanks; I think some of our emails crossed over one another, but this\n> version looks good to me.\n\nYes, I was preparing the patch when you wrote that you disagreed with Junio\nand preferred the \":\".\n\nFWIW, I left the \":\" anywhere headers were being discussed and those headers\nwere described with \":\"s on them.  I only changed places where\n\"Signed-off-by:\" stood alone.\n\nBefore my v3 patchset, usage was inconsistent about (roughly half/half), so\nthe decision is mostly a coin toss.  I didn't have a strong opinion when I\nwas first writing the v3 patchset, but having thought about it overnight, I\nnow think leaving the \":\" *out* is better because a reader new to Git is more\nlikely to think a \":\" is punctuation, rather than being part of a moniker.\nThus, IMO, leaving out the \":\" in most cases probably improves readability.\n\n\nThe remainder of this email is purely an edification question that may help\nserve to improve Documentation/SubmittingPatches:\n\n> I'd be happy to discard what's currently in seen (integrated as 1b98087e0f\n> (Merge branch 'bk/sob-dco' into jch, 2020-10-19 at the time of writing) in\n> favor of what's here.\n\nI wasn't sure what I should be doing with the patch set once it was already\nin 'seen'.  The only two references in SubmittingPatches I could find were:\n\nFrom Documentation/SubmittingPatches:\n>> In any time between the (2)-(3) cycle, the maintainer may pick it up from\n>> the list and queue it to `seen`, in order to make it easier for people\n>> play with it without having to pick up and apply the patch to their trees\n>> themselves.\n\nand\n\n>> `git pull --rebase` will automatically skip already-applied patches, and\n>> will let you know. This works only if you rebase on top of the branch in\n>> which your patch has been merged (i.e. it will not tell you if your patch\n>> is merged in `seen` if you rebase on top of master).\n\nThe former hints that you *shouldn't* change the workflow if some of your\npatchset is in `seen`, and the latter hints that maybe you should, but\nneither section tells you what to do differently, if anything, once your\npatches are in `seen`.\n\nI'm curious to know if I went wrong somewhere and the workflow and would be\nglad to propose another patch to improve SubmittingPatches with a section of\nwhat to do when patches show up in `seen`, but since I'm a n00b (at least as\nan upstream Git contributor :), I'd need to know how to DTRT in this case to\ndo that.\n--\nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n"},{"id":"408021","messageId":"20201020214431.GA1398231@ebb.org","threadId":"54436","inReplyTo":"418d15c53268f947e11dac2f22d1f8c3c8c60997.1603155607.git.bkuhn@sfconservancy.org","subject":"Re: [PATCH v3 2/4] Documentation: clarify and expand description of --signoff","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T21:44:31Z","receivedAt":"2020-10-20T21:46:44Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"Junio,\n\nJunio wrote in the sub-thread about [PATCH v3 4/4]:\n>> It seems the patches [1-3/4] are identical to what has been queued\n>> in 'seen', which is a good sign.\n\nOne change I made in v3 patchset was to add Peff's Signed-off-by, as it\nis *not* there in commit 04c2b9ebd0 in seen:\n\nI wrote in [PATCH v3 2/4]:\n> Signed-off-by: Jeff King <peff@peff.net>\n\n… given that Peff made edits to this before it was posted, I think we want to\nbe sure Peff's Signed-off-by is included.  It just seems like the \"right\nthing\" to get the Signed-off-by trailers 100% correct on a commit that\nchanges the description of Signed-off-by. 😆\n\nI wrote in [PATCH v3 2/4]:\n> Reviewed-by: Taylor Blau <me@ttaylorr.com>\n\nI doubt Taylor cares whether this Reviewed-by trailer makes it in,\nbut I did add that too based on Taylor providing it earlier in the\ndiscussion of this patch. ☺\n--\nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n"},{"id":"408023","messageId":"20201020214814.GD75186@nand.local","threadId":"54436","inReplyTo":"20201020212820.GA1368742@ebb.org","subject":"Re: [PATCH v3 0/4] clarify meaning of --signoff & related doc improvements in describing Signed-off-by","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2020-10-20T21:48:14Z","receivedAt":"2020-10-20T21:48:22Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Bradley,\n\nOn Tue, Oct 20, 2020 at 02:28:20PM -0700, Bradley M. Kuhn wrote:\n> The remainder of this email is purely an edification question that may help\n> serve to improve Documentation/SubmittingPatches:\n>\n> > I'd be happy to discard what's currently in seen (integrated as 1b98087e0f\n> > (Merge branch 'bk/sob-dco' into jch, 2020-10-19 at the time of writing) in\n> > favor of what's here.\n>\n> I wasn't sure what I should be doing with the patch set once it was already\n> in 'seen'.  The only two references in SubmittingPatches I could find were:\n\nThe conclusive answer is that you can do anything you want when the\npatches are in 'seen', but when it is in 'next', things have solidified\nand the series is not meant to be changed. The one exception to that\nrule is immediately after a release, in which case 'next' is rewound\n(and thus some topics can be ejected from next).\n\n> From Documentation/SubmittingPatches:\n> >> In any time between the (2)-(3) cycle, the maintainer may pick it up from\n> >> the list and queue it to `seen`, in order to make it easier for people\n> >> play with it without having to pick up and apply the patch to their trees\n> >> themselves.\n>\n> and\n>\n> >> `git pull --rebase` will automatically skip already-applied patches, and\n> >> will let you know. This works only if you rebase on top of the branch in\n> >> which your patch has been merged (i.e. it will not tell you if your patch\n> >> is merged in `seen` if you rebase on top of master).\n>\n> The former hints that you *shouldn't* change the workflow if some of your\n> patchset is in `seen`, and the latter hints that maybe you should, but\n> neither section tells you what to do differently, if anything, once your\n> patches are in `seen`.\n\nI think the latter is really only talking about branches based on\n'master' (of course, the same thing is true of branches based on any\nbranch, but it's uncommon to base topics off of 'seen').\n\nThe former is saying that 'seen' may change zero, one, or multiple times\nduring the lifetime of a topic. The latter says if you track upstream's\n'master' and then 'git pull --rebase', 'git rebase' will tell you if\nyour patches are already applied upstream (in which case you can drop\nthem).\n\n> I'm curious to know if I went wrong somewhere and the workflow and would be\n> glad to propose another patch to improve SubmittingPatches with a section of\n> what to do when patches show up in `seen`, but since I'm a n00b (at least as\n> an upstream Git contributor :), I'd need to know how to DTRT in this case to\n> do that.\n\nIt couldn't hurt to add something to the effect of:\n\n  Since 'seen' is a convenience branch that contains the current state\n  of the in-flight topics, it is subject to be changed and rebuilt\n  multiple times (c.f., link:howto/maintain-git) so the presence of your\n  patches in 'seen' (but not 'next' or 'master') should not affect your\n  workflow.\n\nThanks,\nTaylor\n"},{"id":"408024","messageId":"20201020214846.GE75186@nand.local","threadId":"54436","inReplyTo":"20201020214431.GA1398231@ebb.org","subject":"Re: [PATCH v3 2/4] Documentation: clarify and expand description of --signoff","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2020-10-20T21:48:46Z","receivedAt":"2020-10-20T21:48:51Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Tue, Oct 20, 2020 at 02:44:31PM -0700, Bradley M. Kuhn wrote:\n> > Reviewed-by: Taylor Blau <me@ttaylorr.com>\n>\n> I doubt Taylor cares whether this Reviewed-by trailer makes it in,\n> but I did add that too based on Taylor providing it earlier in the\n> discussion of this patch. ☺\n\nHe doesn't ;-).\n\nThanks,\nTaylor\n"},{"id":"408026","messageId":"xmqq7drka6ya.fsf@gitster.c.googlers.com","threadId":"54436","inReplyTo":"20201020212820.GA1368742@ebb.org","subject":"Re: [PATCH v3 0/4] clarify meaning of --signoff & related doc improvements in describing Signed-off-by","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-20T22:06:05Z","receivedAt":"2020-10-20T22:06:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Bradley M. Kuhn\" <bkuhn@sfconservancy.org> writes:\n\n> I wasn't sure what I should be doing with the patch set once it was already\n> in 'seen'.  The only two references in SubmittingPatches I could find were:\n\nBeing 'seen' is an indication that it has been seen and does not\nmean anything more than that.  It is appreciated that a topic in\nsuch a state is improved by replacing.\n\n> From Documentation/SubmittingPatches:\n>>> In any time between the (2)-(3) cycle, the maintainer may pick it up from\n>>> the list and queue it to `seen`, in order to make it easier for people\n>>> play with it without having to pick up and apply the patch to their trees\n>>> themselves.\n\nYes.  Other people then can \"git fetch\" from me and follow the first\nparent chain \"git log --first-parent origin/master..origin/seen\" to\nfind the tip of your topic, instead of finding your message in the\nlist archive and running \"git am\" themselves.\n\nThe original submitter/owner of the topic can also find the tip of\nthe topic _in_ my tree the same way as others and reset their branch\nto what is queued in 'seen' if they wanted to keep minor fixes I\nmade based on review comments while applying the e-mailed patches.\n\nThen they can further work on polishing the topic with the usual\nmeans, e.g. using \"rebase -i\", and finally \"format-patch\" to send\nout a new round.  Being or not being in 'seen' does not change the\nworkflow that much.\n\n>>> `git pull --rebase` will automatically skip already-applied patches, and\n>>> will let you know. This works only if you rebase on top of the branch in\n>>> which your patch has been merged (i.e. it will not tell you if your patch\n>>> is merged in `seen` if you rebase on top of master).\n\nThis is talking about a fairly mature topic that has already been in\n'next' and was on the course to graduate to 'master'.  The topic\nwould eventually be in 'master', and at that point \"pull --rebase\"\nwould notice that the patches are no longer needed (or were merged\nin a different form).  But that does not apply to topics that are\nnot in 'master' yet.\n\nWhere the workflow changes is when the topic hits 'next'.  After\nthat, we request you to give incremental updates to refine what is\nqueued already.  \n\nThe reasoning behind this is simple and arbitrary.  It often is the\ncase that keeping mistakes in early iterations, and fixes to these\nmistakes, recorded in history is not worth the attention of future\nreaders of \"git log\" who need to study the history, assuming that\ntrivial mistakes are caught early.  Once earlier rounds of review is\ndone and everybody is more or less happy, the topic gets merged to\n'next', and after that point, a new issue that gets noticed and\nfixed _are_ worth recording in history, because both the original\ncontributor and reviewers failed to catch such glitches.\n\n> I'm curious to know if I went wrong somewhere and the workflow and would be\n> glad to propose another patch to improve SubmittingPatches with a section of\n> what to do when patches show up in `seen`, but since I'm a n00b (at least as\n> an upstream Git contributor :), I'd need to know how to DTRT in this case to\n> do that.\n\nI thought your v3 did things perfectly.\n\nThanks.\n"},{"id":"408032","messageId":"20201020230215.GA1404613@ebb.org","threadId":"54436","inReplyTo":"xmqq7drka6ya.fsf@gitster.c.googlers.com","subject":"Re: [PATCH v3 0/4] clarify meaning of --signoff & related doc improvements in describing Signed-off-by","fromName":"Bradley M. Kuhn","fromEmail":"bkuhn@sfconservancy.org","sentAt":"2020-10-20T23:02:15Z","receivedAt":"2020-10-20T23:04:57Z","isPatch":true,"sender":{"key":"bkuhn@sfconservancy.org","avatar":"https://avatars.githubusercontent.com/u/45438?v=4"},"body":"> \"Bradley M. Kuhn\" <bkuhn@sfconservancy.org> writes:\n> > I wasn't sure what I should be doing with the patch set once it was already\n> > in 'seen'.\n\nJunio C Hamano wrote:\n> Being 'seen' is an indication that it has been seen and does not mean\n> anything more than that.\n\nDocumentation/SubmittingPatches says:\n> >>> `git pull --rebase` will automatically skip already-applied patches, and\n> >>> will let you know. This works only if you rebase on top of the branch in\n> >>> which your patch has been merged (i.e. it will not tell you if your patch\n> >>> is merged in `seen` if you rebase on top of master).\n\n> This is talking about a fairly mature topic that has already been in 'next'\n> and was on the course to graduate to 'master'.  The topic would eventually\n> be in 'master', and at that point \"pull --rebase\" would notice that the\n> patches are no longer needed (or were merged in a different form).  But\n> that does not apply to topics that are not in 'master' yet.\n\nJunio, thanks for your detailed reply.  I have a couple ideas of some\nminor changes to SubmittingPatches that would have made what you said clearer\nto me when I was doing my first patch.  I'll think about it some and send\nsomething along, but probably won't get to it until next month (but it\ndoesn't seem urgent).\n\nTaylor wrote: \n\n>>> Since 'seen' is a convenience branch that contains the current state\n>>>  of the in-flight topics, it is subject to be changed and rebuilt\n>>>  multiple times (c.f., link:howto/maintain-git) so the presence of your\n>>>  patches in 'seen' (but not 'next' or 'master') should not affect your\n>>>  workflow.\n\nI'll hold on to this text as a possibility, to start from when I dig\ninto the proposals above.  Thanks!\n--\nBradley M. Kuhn - he/him\nPolicy Fellow & Hacker-in-Residence at Software Freedom Conservancy\n========================================================================\nBecome a Conservancy Supporter today: https://sfconservancy.org/supporter\n"}]}