From patchwork Wed Jan 22 17:45:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Richard Earnshaw (lists)" X-Patchwork-Id: 1227372 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-518051-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha1 header.s=default header.b=BXzd/asB; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 482tBL6qxmz9sP3 for ; Thu, 23 Jan 2020 04:46:33 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:from:to:cc:references:message-id:date:mime-version :in-reply-to:content-type; q=dns; s=default; b=Awv6pgjg+ARrTd525 JHjBdnIZLjLEDT5YLCj2Y2peNgjBdBJVd13yugmbmFAdGQKNMgdKSc1DJC4rj+sp yrsOKvf/pl0m7Co8N8jYX8YLf8YYGrloXMWsglHpNavkZ99do/UtCqIAEFSo8JW0 NNxk8lDqVoM129hqtc57LRrgG0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:from:to:cc:references:message-id:date:mime-version :in-reply-to:content-type; s=default; bh=qL/t40CCudzTZQ1ZJo5t2dP 39MA=; b=BXzd/asBB2mbin3dJrjGb4IWIWAxn/PcqJP8QKF7w0ROreMvueqOnrv qyPFQXaSkCW8tGVB0zdNPIBlRWsYVBxNclxrWJvG61Yp4o0O7JFjGqPwvD0Vh+Tr uo+ms97sx6AKbAG3pJtwxRZ5DqR9YAvOxzPiOmkiY4+PI6xo2EzM= Received: (qmail 101974 invoked by alias); 22 Jan 2020 17:45:56 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 101859 invoked by uid 89); 22 Jan 2020 17:45:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.1 spammy=becoming X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.110.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Jan 2020 17:45:21 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 61B4B1FB; Wed, 22 Jan 2020 09:45:08 -0800 (PST) Received: from e120077-lin.cambridge.arm.com (e120077-lin.cambridge.arm.com [10.2.78.81]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CA4713F6C4; Wed, 22 Jan 2020 09:45:07 -0800 (PST) Subject: [PATCH, v3] wwwdocs: e-mail subject lines for contributions From: "Richard Earnshaw (lists)" To: Gerald Pfeifer Cc: gcc-patches@gcc.gnu.org, GCC Development References: <353faf3e-bf43-eb4d-542d-45a53dce77b2@arm.com> Message-ID: <91e48c52-4548-089b-707a-afd400001dac@arm.com> Date: Wed, 22 Jan 2020 17:45:06 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: [updated based on v2 discussions] This patch proposes some new (additional) rules for email subject lines when contributing to GCC. The goal is to make sure that, as far as possible, the subject for a patch will form a good summary when the message is committed to the repository if applied with 'git am'. Where possible, I've tried to align these rules with those already in use for glibc, so that the differences are minimal and only where necessary. Some things that differ from existing practice (at least by some people) are: - Use ':' rather than '[]' - This is more git friendly and works with 'git am'. - Put bug numbers at the end of the line rather than the beginning. - The bug number is useful, but not as useful as the brief summary. Also, use the shortened form, as the topic part is more usefully conveyed in the proper topic field (see above). diff --git a/htdocs/contribute.html b/htdocs/contribute.html index 042ff069..558bae29 100644 --- a/htdocs/contribute.html +++ b/htdocs/contribute.html @@ -249,13 +249,143 @@ that ChangeLog entries may be included as part of the patch and diffs representing new files may be omitted, especially if large, since they can be accessed directly from the repository.)

+

E-mail subject lines

+ +

Your contribution e-mail subject line will become the first line of +the commit message for your patch.

+ +

A high-quality e-mail subject line for a contribution contains the +following elements:

+ +
    +
  • A classifier
  • +
  • Component tags
  • +
  • An optional series identifier
  • +
  • A brief summary
  • +
  • An optional bug number
  • +
+ +

The entire line (excluding the classifier) should not exceed 75 +characters.

+ +

Classifier

+ +

The classifier identifies the type of contribution, for example a +patch, an RFC (request for comments) or a committed patch (where +approval is not necessary. The classifier should be written in upper +case and surrounded with square brackets. This is the only component +of the e-mail subject line that will not appear in the commit itself. +The classifier may optionally contain a version number (vN) and +a series marker (N/M). Examples are:

+ +
    +
  • [PATCH] - a single patch
  • +
  • [PATCH v2] - the second version of a single patch
  • +
  • [PATCH 3/7] - the third patch in a series of seven + patches
  • +
  • [RFC] - a point of discussion, may contain a patch
  • +
  • [COMMITTED] - a patch that has already been committed.
  • +
+ +

Component tags

+ +

A component tag is a short identifier that identifies the part of +the compiler being modified. This highlights to the relevant +maintainers that the patch may need their attention. Multiple +components may be listed if necessary. Each component tag should be +followed by a colon. For example,

+ +
    +
  • libstdc++:
  • +
  • combine:
  • +
  • vax: testsuite:
  • +
+ +

Some large components may be subdivided into sub-components. If +the subcomponent name is not disctinct in its own right, you can use the +form component/sub-component:.

+ +

Series identifier

+ +

The series identifier is optional and is only relevant if a number of +patches are needed in order to effect an overall change. It should be +a short string that identifies the series (it is common to all +patches) and should be followed by a single dash surrounded by white +space.

+ +

A Very Brief summary

+ +

The brief summary encapsulates in a few words the intent of the +change. For example: cleanup check_field_decls. +Although, very short, the summary should be distinct so that it will +not be confused with other patches.

+ +

Bug number

+ +

If your patch relates a bug in the compiler for which there is an +existing PR number the bug number should be stated. Use the +short-form variant [PRnnnnn] without the bugzilla +component identifier and with no space between 'PR' and the number. +The body of the commit message should still contain the full form +(PR <component>/nnnnn) within the body of +the commit message so that Bugzilla will correctly notice the +commit. If your patch relates to two bugs, then write +[PRnnnnn, PRmmmmm]. For multiple +bugs, just cite the most relevant one in the summary and use an +elipsis instead of the second, or subsequent PR numbers; list all the +related PRs in the body of the commit message in the normal way.

+ +

It is not necessary to cite bugs that are closed as duplicates of +another unless there is something specific to that report that +is not covered by the parent bug.

+ +

Other messages

+ +

Some large patch sets benefit from an introductory e-mail that +provides more context for the patch series and describes how the +patches have been broken up to provide for review. The convention is +that such messages should follow the same format as described above, +but the patch number should be set to zero, for example: [PATCH +0/7]. Remember that the introductory message will not be +committed with the patches themselves, so it should not contain any +important information that is not also covered in the individual +patches. If you send a summary e-mail with a series it is a good idea +to send the patches as follow-ups (essentially replies) to your +initial message so that mail software can group the messages +together.

+ +

If you submit a new version of a patch series, then you should +start a new email thread (don't reply to the original patch series). +This avoids email threads becoming confused between discussions of the +first and subsequent revisions of the patch set. Your cover leter +(0/nnn) should explain clearly what has been changed between +the two patch series. Also state if some of the patches are unchanged +between revisions; this saves maintainers having to re-review the +patches they might have already reviewed in an earlier version. The +individual patch messages should be as you expect them to be +committed. It is a good idea to send a final follow-up message to the +original thread indicating that a new version has been submitted.

+ +

Examples

+ +

Here are some complete examples, based on real commits to GCC.

+ +
    +
  • [COMMITTED] libstdc++: Fix freestanding build [PR92376]
  • +
  • [PATCH 1/6] analyzer: Fix tests for UNKNOWN_LOCATION
  • +
  • [RFC] doc: Note that some warnings depend on optimizations [PR92757]
  • +
  • [COMMITTED] c++: coroutines - Initial implementation
  • +
  • [PATCH v2] wwwdocs: E-mail subject lines for contributions
  • +
+

Pinging patches, Getting patches applied

If you do not receive a response to a patch that you have submitted within two weeks or so, it may be a good idea to chase it by sending a -follow-up email to the same list(s). Patches can occasionally fall through -the cracks. Please be sure to include a brief summary of the patch and the -URL of the entry in the mailing list archive of the original submission.

+follow-up e-mail to the same list(s). Patches can occasionally fall +through the cracks. Please be sure to include a brief summary of the +patch and the URL of the entry in the mailing list archive of the +original submission.

If you do not have write access and a patch of yours has been approved, but not committed, please advise the approver of that fact. You may want