From patchwork Sun Oct 18 19:49:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Junio C Hamano X-Patchwork-Id: 11843375 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C857C433E7 for ; Sun, 18 Oct 2020 19:49:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 00FFB22268 for ; Sun, 18 Oct 2020 19:49:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=pobox.com header.i=@pobox.com header.b="YyWxMunz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729976AbgJRTt1 (ORCPT ); Sun, 18 Oct 2020 15:49:27 -0400 Received: from pb-smtp21.pobox.com ([173.228.157.53]:58308 "EHLO pb-smtp21.pobox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387727AbgJRTtY (ORCPT ); Sun, 18 Oct 2020 15:49:24 -0400 Received: from pb-smtp21.pobox.com (unknown [127.0.0.1]) by pb-smtp21.pobox.com (Postfix) with ESMTP id D70C7E6764; Sun, 18 Oct 2020 15:49:21 -0400 (EDT) (envelope-from gitster@pobox.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=sasl; bh=5kLH8TxWMioB/NRRPh0FTtDxv Ik=; b=YyWxMunzdy+BKo+eoz7sziqTQL4olJ9BS1X20rE2sChsFmCRh9Lk3PNIf s+iYItAYDIAnmSAm6anVC8H4aYFhMP4IR1TxevQDyTT4a+xUbLtr2dOkoCKDCki1 1UFAmGZtPy01WRgt+SokKJY5Q+MD3CChK7CvGAHjoe9Bp6rzM0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; q=dns; s=sasl; b=I984TB08O+S0JvCrsmN GHEaEXpy3KH4ExohL07XAtiJxjCXRuIajCVGiQHr+rwR+CKutCABoH2yOoTak15B 4N/elREScyrkH1H6Vyb39g2a2Ps+lGULBHh5705yPS3/Xlu5Y6pe53nE/mrOFdGM ypfA0EMjUtmMTdD/GrCeXKMI= Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp21.pobox.com (Postfix) with ESMTP id D0689E6761; Sun, 18 Oct 2020 15:49:21 -0400 (EDT) (envelope-from gitster@pobox.com) Received: from pobox.com (unknown [34.74.119.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 57D14E675F; Sun, 18 Oct 2020 15:49:18 -0400 (EDT) (envelope-from gitster@pobox.com) From: Junio C Hamano To: git@vger.kernel.org Cc: Philippe Blain Subject: [PATCH v2 1/3] doc: preparatory clean-up of description on the sign-off option Date: Sun, 18 Oct 2020 12:49:10 -0700 Message-Id: <20201018194912.2716372-2-gitster@pobox.com> X-Mailer: git-send-email 2.29.0-rc2-130-g9dc1ca14f3 In-Reply-To: <20201018194912.2716372-1-gitster@pobox.com> References: <20201018194912.2716372-1-gitster@pobox.com> MIME-Version: 1.0 X-Pobox-Relay-ID: 0264B1E6-117B-11EB-8B01-D609E328BF65-77302942!pb-smtp21.pobox.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Almost identical text on the signed-off-by trailer appears in the documentation for "git commit" and "git merge" and its friends. Introduce a new signoff-options.txt file to be shared. A couple things of note are: - The short-form "-s" is available only in "git commit", but not in commands that are friends of "git merge", as it is used as a short-hand for "--strategy". - The original lacks description on the negated "--no-signoff" form on "git commit" side, but it equally is applicable. It however was unclear in the original text that not adding a Signed-off-by trailer is the default, so rephrase to explain it as a way to countermand a --signoff option that appeared earlier on the same command line. This is in preparation to apply a further clarification on what exactly the Signed-off-by trailer means. Suggested-by: Philippe Blain Signed-off-by: Junio C Hamano --- * It initially seemed that the update in [v2 2/3] didn't need too many iterations to complete, but it turned out that a preliminary clean-up would make it easier to iterate on the text after all. Documentation/git-commit.txt | 10 ++-------- Documentation/merge-options.txt | 11 +---------- Documentation/signoff-option.txt | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 18 deletions(-) create mode 100644 Documentation/signoff-option.txt diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index a3baea32ae..17150fa7ea 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -59,6 +59,7 @@ commit by giving the same set of parameters (options and paths). If you make a commit and then find a mistake immediately after that, you can recover from it with 'git reset'. +:git-commit: 1 OPTIONS ------- @@ -163,14 +164,7 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`. message, the commit is aborted. This has no effect when a message is given by other means, e.g. with the `-m` or `-F` options. --s:: ---signoff:: - Add Signed-off-by line by the committer at the end of the commit - log message. The meaning of a signoff depends on the project, - but it typically certifies that committer has - the rights to submit this work under the same license and - agrees to a Developer Certificate of Origin - (see http://developercertificate.org/ for more information). +include::signoff-option.txt[] -n:: --no-verify:: diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt index 80d4831662..eb0aabd396 100644 --- a/Documentation/merge-options.txt +++ b/Documentation/merge-options.txt @@ -77,16 +77,7 @@ When not possible, refuse to merge and exit with a non-zero status. With --no-log do not list one-line descriptions from the actual commits being merged. ---signoff:: ---no-signoff:: - Add Signed-off-by line by the committer at the end of the commit - log message. The meaning of a signoff depends on the project, - but it typically certifies that committer has - the rights to submit this work under the same license and - agrees to a Developer Certificate of Origin - (see http://developercertificate.org/ for more information). -+ -With --no-signoff do not add a Signed-off-by line. +include::signoff-option.txt[] --stat:: -n:: diff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt new file mode 100644 index 0000000000..d1c6713774 --- /dev/null +++ b/Documentation/signoff-option.txt @@ -0,0 +1,14 @@ +ifdef::git-commit[] +-s:: +endif::git-commit[] +--signoff:: +--no-signoff:: + Add Signed-off-by line by the committer at the end of the commit + log message. The meaning of a signoff depends on the project, + but it typically certifies that committer has + the rights to submit this work under the same license and + agrees to a Developer Certificate of Origin + (see http://developercertificate.org/ for more information). ++ +The --no-signoff option can be used to countermand an earlier --signoff +option on the command line. From patchwork Sun Oct 18 19:49:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Junio C Hamano X-Patchwork-Id: 11843373 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0A65C43467 for ; Sun, 18 Oct 2020 19:49:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A523A20714 for ; Sun, 18 Oct 2020 19:49:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=pobox.com header.i=@pobox.com header.b="VPDr3j+I" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387761AbgJRTtb (ORCPT ); Sun, 18 Oct 2020 15:49:31 -0400 Received: from pb-smtp20.pobox.com ([173.228.157.52]:62634 "EHLO pb-smtp20.pobox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728029AbgJRTt2 (ORCPT ); Sun, 18 Oct 2020 15:49:28 -0400 Received: from pb-smtp20.pobox.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id 73FF510FFB1; Sun, 18 Oct 2020 15:49:25 -0400 (EDT) (envelope-from gitster@pobox.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=sasl; bh=LtiCfcSykfJWemVW++l9OxmNM pg=; b=VPDr3j+IUO2EdjHk9AObjty/wjlGSg+hG2JaEhR/1cxQ7/+wUAMI3oTjV s3Yikpsv9TU0jm0xsgLIy7bjslEIV7G4R0xbmjST52qtlfA3a46YrMJ3Xjg/FG+7 l2DKY7fdm/gSjxfSfZ+ocnmxpu6Eugbs/6s8jOfwCf3WJADp6w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; q=dns; s=sasl; b=HKjffBDkN/Xl886w66u o/TbSKuaVqYTKkx/z+tndmwsL7Z6CWYZ2dKxl85RqLMgVnjTP/BDH4ppctiPNzjG 7ieb4bI7U9xngKi72H9jSf6+PcJcqUsxq3oYW/pHOEk+1gURCIG5LMH9w70Czf/1 9LPVqjdLQOYHe6EliQg4RIjo= Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id 59F9C10FFB0; Sun, 18 Oct 2020 15:49:25 -0400 (EDT) (envelope-from gitster@pobox.com) Received: from pobox.com (unknown [34.74.119.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 9623110FFAF; Sun, 18 Oct 2020 15:49:22 -0400 (EDT) (envelope-from gitster@pobox.com) From: Junio C Hamano To: git@vger.kernel.org Cc: "Bradley M. Kuhn" , "Theodore Y. Ts'o" Subject: [PATCH v2 2/3] Documentation: clarify and expand description of --signoff Date: Sun, 18 Oct 2020 12:49:11 -0700 Message-Id: <20201018194912.2716372-3-gitster@pobox.com> X-Mailer: git-send-email 2.29.0-rc2-130-g9dc1ca14f3 In-Reply-To: <20201018194912.2716372-1-gitster@pobox.com> References: <20201018194912.2716372-1-gitster@pobox.com> MIME-Version: 1.0 X-Pobox-Relay-ID: 04EE18F8-117B-11EB-B537-E43E2BB96649-77302942!pb-smtp20.pobox.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: "Bradley M. Kuhn" Building on past documentation improvements in b2c150d3aa (Expand documentation describing --signoff, 2016-01-05), further clarify that any project using Git may and often does set its own policy. However, leave intact reference to the Linux DCO, which Git also uses. It is reasonable for Git to advocate for its own Signed-off-by methodology in its documentation, as long as the documentation remains respectful that YMMV and other projects may well have very different contributor representations tied to Signed-off-by. Signed-off-by: Bradley M. Kuhn Signed-off-by: Junio C Hamano --- Documentation/signoff-option.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt index d1c6713774..fbff8dd5be 100644 --- a/Documentation/signoff-option.txt +++ b/Documentation/signoff-option.txt @@ -3,12 +3,16 @@ ifdef::git-commit[] endif::git-commit[] --signoff:: --no-signoff:: - Add Signed-off-by line by the committer at the end of the commit - log message. The meaning of a signoff depends on the project, - but it typically certifies that committer has - the rights to submit this work under the same license and - agrees to a Developer Certificate of Origin - (see http://developercertificate.org/ for more information). + Add a Signed-off-by trailer by the committer at the end of the commit + log message. The meaning of a signoff depends on the project + to which you're committing. For example, it may certify that + the committer has the rights to submit the work under the + project's license or agrees to some contributor representation, + such as a Developer Certificate of Origin. + (See http://developercertificate.org for the one used by the + Linux kernel and Git projects.) Consult the documentation or + leadership of the project to which you're contributing to + understand how the signoffs are used in that project. + The --no-signoff option can be used to countermand an earlier --signoff option on the command line. From patchwork Sun Oct 18 19:49:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Junio C Hamano X-Patchwork-Id: 11843377 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91131C43457 for ; Sun, 18 Oct 2020 19:50:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 550B022268 for ; Sun, 18 Oct 2020 19:50:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=pobox.com header.i=@pobox.com header.b="QaWQh9GR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387789AbgJRTtf (ORCPT ); Sun, 18 Oct 2020 15:49:35 -0400 Received: from pb-smtp2.pobox.com ([64.147.108.71]:60288 "EHLO pb-smtp2.pobox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731199AbgJRTta (ORCPT ); Sun, 18 Oct 2020 15:49:30 -0400 Received: from pb-smtp2.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id B39AE928F6; Sun, 18 Oct 2020 15:49:25 -0400 (EDT) (envelope-from gitster@pobox.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=sasl; bh=A/bmE/u86lSlIx7zs9Rx/hC9o eo=; b=QaWQh9GRHf7MCISz/+GUxZGqmCGqNTZOokfjXg5/ucUut1l6WOepX4tHd W211JomoqHzXuN5Zsdwn0YY8Kcmd1dNy7PZ4z09mNPqbYxkMxyUthDq1iTJgWyJl IKGDeqxeKPpcyyFn+5i8I3xLqvcjfHPvgN8JHwZLubWzociFq0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:subject :date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; q=dns; s=sasl; b=A3DHK7Rb0EjXg7qxbRD LVI5ZV51wouDuv1RFvUUYsXssv2tvUuHS2C3RVMJesaULMHMQ9XRIvbOLsohYFY/ cUIF6Jn0evL3hD4vc8Ubpo89oM7mISC2PK5JdVS3S/iuVzbFux4VnlURHHPFt5GW d9sl69K++IqX7VsZzKi0CuSU= Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id AC2CF928F5; Sun, 18 Oct 2020 15:49:25 -0400 (EDT) (envelope-from gitster@pobox.com) Received: from pobox.com (unknown [34.74.119.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 37AF0928F2; Sun, 18 Oct 2020 15:49:25 -0400 (EDT) (envelope-from gitster@pobox.com) From: Junio C Hamano To: git@vger.kernel.org Subject: [PATCH v2 3/3] SubmittingPatches: clarify DCO is our --signoff rule Date: Sun, 18 Oct 2020 12:49:12 -0700 Message-Id: <20201018194912.2716372-4-gitster@pobox.com> X-Mailer: git-send-email 2.29.0-rc2-130-g9dc1ca14f3 In-Reply-To: <20201018194912.2716372-1-gitster@pobox.com> References: <20201018194912.2716372-1-gitster@pobox.com> MIME-Version: 1.0 X-Pobox-Relay-ID: 067CE122-117B-11EB-8989-74DE23BA3BAF-77302942!pb-smtp2.pobox.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org The description on sign-off and DCO was written back in the days where there was only a choice between "use sign-off and it means the contributor agrees to the Linux-kernel style DCO" and "not using sign-off at all will make your patch unusable". These days, we are trying to clarify that the exact meaning of a sign-off varies project to project. Let's be more explicit when presenting what _our_ rules are. It is of secondary importance that it originally came from the kernel project, so move the description as a historical note at the end, while cautioning that what a sign-off means to us may be different from what it means to other projects contributors may have been used to. Signed-off-by: Junio C Hamano --- Documentation/SubmittingPatches | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 291b61e262..f83a050b35 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -300,15 +300,12 @@ patch. [[sign-off]] === Certify your work by adding your "Signed-off-by: " line -To improve tracking of who did what, we've borrowed the -"sign-off" procedure from the Linux kernel project on patches -that are being emailed around. Although core Git is a lot -smaller project it is a good discipline to follow it. +To improve tracking of who did what, we ask you to certify that you +wrote the patch or have the right to pass it on under the same license +as ours, by "signing off" your patch. Without sign-off, we cannot +accept your patches. -The sign-off is a simple line at the end of the explanation for -the patch, which certifies that you wrote it or otherwise have -the right to pass it on as an open-source patch. The rules are -pretty simple: if you can certify the below D-C-O: +If you can certify the below D-C-O: [[dco]] .Developer's Certificate of Origin 1.1 @@ -338,14 +335,15 @@ d. I understand and agree that this project and the contribution this project or the open source license(s) involved. ____ -then you just add a line saying +you add a "Signed-off-by" trailer to your commit, that looks like +this: .... Signed-off-by: Random J Developer .... -This line can be automatically added by Git if you run the git-commit -command with the -s option. +This line can be added by Git if you run the git-commit command with +the -s option. Notice that you can place your own Signed-off-by: line when forwarding somebody else's patch with the above rules for @@ -353,6 +351,11 @@ D-C-O. Indeed you are encouraged to do so. Do not forget to place an in-body "From: " line at the beginning to properly attribute the change to its true author (see (2) above). +This procedure originally came from the Linux kernel project, so our +rule is quite similar to theirs, but what exactly it means to sign-off +your patch differs from project to project, so it may be different +from that of the project you are accustomed to. + [[real-name]] Also notice that a real name is used in the Signed-off-by: line. Please don't hide your real name.