From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id BrGnM48bSWHJRAAAgWs5BA (envelope-from ) for ; Tue, 21 Sep 2021 01:38:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id OLzNLo8bSWE4MAAA1q6Kng (envelope-from ) for ; Mon, 20 Sep 2021 23:38:55 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 809E21201C for ; Tue, 21 Sep 2021 01:38:55 +0200 (CEST) Received: from localhost ([::1]:47832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mSSsA-0005Hf-LM for larch@yhetil.org; Mon, 20 Sep 2021 19:38:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mSSrK-0005FQ-D9 for guix-patches@gnu.org; Mon, 20 Sep 2021 19:38:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:60986) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mSSrK-0002zk-5f for guix-patches@gnu.org; Mon, 20 Sep 2021 19:38:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mSSrJ-00033i-Va for guix-patches@gnu.org; Mon, 20 Sep 2021 19:38:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#50363] [PATCH v4] Improve default diff hunk header detection. Resent-From: Sarah Morgensen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 20 Sep 2021 23:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50363 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 50363@debbugs.gnu.org Cc: ludo@gnu.org, maximedevos@telenet.be, kyle@kyleam.com Received: via spool by 50363-submit@debbugs.gnu.org id=B50363.163218107711743 (code B ref 50363); Mon, 20 Sep 2021 23:38:01 +0000 Received: (at 50363) by debbugs.gnu.org; 20 Sep 2021 23:37:57 +0000 Received: from localhost ([127.0.0.1]:44299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mSSrE-00033K-Hp for submit@debbugs.gnu.org; Mon, 20 Sep 2021 19:37:57 -0400 Received: from out2.migadu.com ([188.165.223.204]:45122) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mSSrC-00033B-4Y for 50363@debbugs.gnu.org; Mon, 20 Sep 2021 19:37:55 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1; t=1632181072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NC1cTB41VF5atrk8Adb8gh8Mmlw994MMYjXHeoCSjyk=; b=bClkc/vQPJEDvAsf8k430pJviY9h2/X5C/sr5EBglOeGn3l3+spzYq2jxcW5UyGYH+S9Z/ yS7TcE0AaWVuKVzWdZHwGk9H4NWavSqgAdE0k3ibzmzG7x72PUu42DWNifMfdB0lmKmPNj A1UzzNhutyH3szhUjoR0FGNG/K/aU1g= From: Sarah Morgensen Date: Mon, 20 Sep 2021 16:37:44 -0700 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1632181135; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=NC1cTB41VF5atrk8Adb8gh8Mmlw994MMYjXHeoCSjyk=; b=l5pSfM3otCD7lAKxtVaPqWYhRdlrToCZF6grLz8V0pQ/i519qJZmWzmPwOurcWD48jnJkK EdNV3F8rv5k3N5mXWEVWnWSLgxhKTqkZRx5jTe3wsaBrkIgLaBYNcy2U/4KCyNJ4g1G2Oi 3eZmSmaQxu5NVrSn5rkUz26PjmCY0AjRPR7+YLUUs2+NxfH99PZSDCS0jyl3bZNVzI7F8w PbpzZ0XBWDxbcTPe+HNWmhxeW8iQOzkk1qnmTI1HV1llt/m/54zTAsCacg4Ww6nhzHGLK3 jzbBhiui8hGqC1igMRuPVqnqsRnAf3B+HarX3NQdhqvjvGOrQZ/Ru0rdC59gSQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1632181135; a=rsa-sha256; cv=none; b=PMdBowYFiHY6rQy2SOeNbyXS5YU/ROzC/kplxBstuU2WZ4+a9h+Qf+oCOoFKDxvv9KgEs3 oEOkYriWXU+BVf7I7W5JcKZJLTt+tYtMlMAJ1RjofhKZkpV2WMg0d5NM8XamBY3AseNnTu oZB0BHBerOUb1sqhtZe8/B5xmIOFLYxnPjkzx2Lmt18WbnL1YGSu+/+hCP4W77m3ogMxER g5QfcWCbp+Pee3/+oKEYokOlF04C0Muu7tuguIYgZaPcQLWdMVrapwy1nCFN+cpG99R35M 918LGsdv/rx410lVVlCtRVfERdrEvVcMgHfYLBCA+M/Wt04dVicJ4+Xc0b3+KQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=mgsn.dev header.s=key1 header.b="bClkc/vQ"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=mgsn.dev (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: 3.71 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=mgsn.dev header.s=key1 header.b="bClkc/vQ"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=mgsn.dev (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 809E21201C X-Spam-Score: 3.71 X-Migadu-Scanner: scn0.migadu.com X-TUID: 5GCOfVilTwpY Tell git where to look for diff hunk headers: top-level definitions for Scheme files, and (sub)section headers for texi files. * .gitattributes, etc/git/gitconfig: New files. * doc/contributing.texi ("Submitting Patches"): Add subsection "Configuring Git". Document etc/git/gitconfig. --- Changes since v3 (thanks to Kyle for the suggestions): * Diff name changed from "tex" to "texinfo" * "texinfo" diff matches nodes rather than sections (this is what most texinfo diff drivers seem to do) * Examples fixed -- .gitattributes | 3 +++ doc/contributing.texi | 46 +++++++++++++++++++++++++++++++++++++++---- doc/guix.texi | 1 + etc/git/gitconfig | 5 +++++ 4 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 .gitattributes create mode 100644 etc/git/gitconfig diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..b31f7fd74d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.scm diff=scheme +*.scm.in diff=scheme +*.texi diff=texinfo diff --git a/doc/contributing.texi b/doc/contributing.texi index d1b77d7d05..a6bfcb82e0 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -992,9 +992,12 @@ Submitting Patches Development is done using the Git distributed version control system. Thus, access to the repository is not strictly necessary. We welcome contributions in the form of patches as produced by @code{git -format-patch} sent to the @email{guix-patches@@gnu.org} mailing list. -Seasoned Guix developers may also want to look at the section on commit -access (@pxref{Commit Access}). +format-patch} sent to the @email{guix-patches@@gnu.org} mailing list +(@pxref{submitting patches,, Submitting patches to a project, git, Git +User Manual}). Contributors are encouraged to take a moment to set some +Git repository options (@pxref{Configuring Git}) first, which can +improve the readability of patches. Seasoned Guix developers may also +want to look at the section on commit access (@pxref{Commit Access}). This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Patches}). Each @@ -1205,11 +1208,46 @@ Submitting Patches When a bug is resolved, please close the thread by sending an email to @email{@var{NNN}-done@@debbugs.gnu.org}. +@node Configuring Git +@subsection Configuring Git +@cindex git configuration +@cindex @code{git format-patch} +@cindex @code{git send-email} + +If you have not done so already, you may wish to set a name and email +that will be associated with your commits (@pxref{telling git your name, +, Telling Git your name, git, Git User Manual}). If you wish to use a +different name or email just for commits in this respository, you can +use @command{git config --local}, or edit @file{.git/config} in the +repository instead of @file{~/.gitconfig}. + +We provide some default settings in @file{etc/git/gitconfig} which +modify how patches are generated, making them easier to read and apply. +These settings can be applied by manually copying them to +@file{.git/config} in your checkout, or by telling Git to include the +whole file: + +@example +git config --local include.path ../etc/git/gitconfig +@end example + +From then on, any changes to @file{etc/git/gitconfig} would +automatically take effect. + +Since the first patch in a series must be sent separately +(@pxref{Sending a Patch Series}), it can also be helpful to tell +@command{git format-patch} to handle the e-mail threading instead of +@command{git send-email}: + +@example +git config --local format.thread shallow +git config --local sendemail.thread no +@end example + @unnumberedsubsec Sending a Patch Series @anchor{Sending a Patch Series} @cindex patch series @cindex @code{git send-email} -@cindex @code{git-send-email} When sending a patch series (e.g., using @code{git send-email}), please first send one message to @email{guix-patches@@gnu.org}, and then send diff --git a/doc/guix.texi b/doc/guix.texi index 6436e83a7c..4dac36310f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -96,6 +96,7 @@ Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* +Copyright @copyright{} 2021 Sarah Morgensen@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or diff --git a/etc/git/gitconfig b/etc/git/gitconfig new file mode 100644 index 0000000000..c9ebdc8fa8 --- /dev/null +++ b/etc/git/gitconfig @@ -0,0 +1,5 @@ +[diff "scheme"] + xfuncname = "^(\\(define.*)$" + +[diff "texinfo"] + xfuncname = "^@node[[:space:]]+([^,]+).*$" base-commit: 808f9ffbd3106da4c92d2367b118b98196c9e81e -- 2.33.0