From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: git-send-email Date: Mon, 15 Jun 2020 17:42:42 +0300 Message-ID: <837dw82xwd.fsf@gnu.org> References: <875zdteybt.fsf@runbox.com> <87368wrvf5.fsf@yahoo.com> <86k126d83n.wl-me@enzu.ru> <83pnbyckvv.fsf@gnu.org> <4923d7e98f5ed816a7569093dbc673153adcea88.camel@yandex.ru> <837dwb3zb6.fsf@gnu.org> <20200613141653.GA55972@breton.holly.idiocy.org> <835zbv3v6q.fsf@gnu.org> <20200613142329.GA56313@breton.holly.idiocy.org> <834krf3uij.fsf@gnu.org> <87r1ujatv4.fsf@igel.home> <831rmj3stn.fsf@gnu.org> <87mu57atav.fsf@igel.home> <87lfkpcn6t.fsf_-_@gmail.com> <83d0612gx3.fsf@gnu.org> <878sgobuvf.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="27708"; mail-complaints-to="usenet@ciao.gmane.io" Cc: schwab@linux-m68k.org, alan@idiocy.org, hi-angel@yandex.ru, stefan@marxist.se, emacs-devel@gnu.org To: =?iso-8859-1?Q?K=E9vin?= Le Gouguec Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jun 15 16:43:23 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jkqKY-00075e-Iy for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Jun 2020 16:43:22 +0200 Original-Received: from localhost ([::1]:53436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jkqKX-0001cr-LL for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Jun 2020 10:43:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52722) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jkqK3-0001CH-RO for emacs-devel@gnu.org; Mon, 15 Jun 2020 10:42:51 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:37634) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jkqK0-0000Pv-Tj; Mon, 15 Jun 2020 10:42:48 -0400 Original-Received: from [176.228.60.248] (port=4171 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jkqJz-00007v-E6; Mon, 15 Jun 2020 10:42:48 -0400 In-Reply-To: <878sgobuvf.fsf@gmail.com> (message from =?iso-8859-1?Q?K=E9v?= =?iso-8859-1?Q?in?= Le Gouguec on Mon, 15 Jun 2020 10:23:16 +0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:252272 Archived-At: > From: Kévin Le Gouguec > Cc: stefan@marxist.se, alan@idiocy.org, emacs-devel@gnu.org, > schwab@linux-m68k.org, hi-angel@yandex.ru > Date: Mon, 15 Jun 2020 10:23:16 +0200 > > AFAIU, git send-email literally just runs format-patch, and sends the > result (with said optional annotation) over SMTP. I'm not sure what > difference this makes as far as authorship authenticity is concerned? > The From field used by git send-email is literally the From field set by > git format-patch. > > Really, the only differences that I can see between format-patch and > send-email are > > - for contributors, no need to whip out a mail client and fiddle with > attachments, > > - for maintainers, no need to scan the mail for attachments; just pipe > the mail itself to git am. You need to look at this from the right vantage point: the POV of me (or someone else) who needs to install changes in such an email. I'm on the receiving end of the email, so I have no idea what command(s) were used to create and send it. All I see is a random email message, not unlike many others, just with diffs in its body. You suggest to pipe it into Git, but how do I know it's in a proper format to be processed correctly by Git? There's no clue. I need to read the relevant parts of the email to verify: . that the Subject line is appropriate for the heading of the commit log message . that the From header names the author, and was not rewritten in transit by some mailing-list software or another MTA . that the Date makes sense . that the diffs weren't wrapped by whatever MUA was used . that the diffs and the body are properly encoded And even after all that, I can never be sure that Git will process the patch, because my decision that the format is proper is just a guess. Any single problem I missed, and I get to recover with "am --abort", clean up my repository, find out what was wrong, etc. All of this wastes time and energy, which adds up when you need to process more than just a couple of submissions. By contrast, when the changes are formatted by "git format-patch" and included in the body, preferably as an attachment, the patch has a clear-cut signature, it has its own "From" header that identifies the author independently of the address from which the email was sent, it has the commit date independent of the mailing timestamp, and I can trust its encoding. In this case, I just pipe into "git am" without much effort. Do you see now why we prefer the latter? And it isn't like Emacs is the only project; many GNU projects also prefer to have patches submitted in this format.