git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: "André Goddard Rosa" <andre.goddard@gmail.com>
Cc: "Santi Béjar" <santi@agolina.net>,
	"Git Mailing List" <git@vger.kernel.org>
Subject: Re: Problem with "From:" line on "git format-patch" generated patches
Date: Tue, 3 Nov 2009 16:55:56 -0600	[thread overview]
Message-ID: <20091103225556.GA20160@progeny.tock> (raw)
In-Reply-To: <b8bf37780911031011v5c8ec684ke6eebc6b0de1a66a@mail.gmail.com>

Hi André,

André Goddard Rosa wrote:

>> I'm not using any specific tool for inputting the git-format-patch,
>> but instead I'm sending the files generated by it through gmail as an
>> inlined patch in the email body.
>>
>> I like the convenience of format-patch for generating the patch files,
>> but in this case, formatting the header as rfc2047 is not necessary
>> and makes a funny/garbled output in my patch submission.

The header fields git format-patch outputs are just intended as a
starting point for the header of your mailing.  It is more convenient
to receive an e-mail with

	Delivered-to: maintainer@example.com
	Received: [...]
	Message-ID: <patch.sender.0001@example.com>
	Date: Tue, 03 Nov 2009 16:33:54 -0600
	From: Patch Sender <patch.sender@example.com>
	Subject: [PATCH] Fix one bug, add another
	Content-Type: text/plain; charset=us-ascii

	Blah blah blah

than one in which the content includes some useless metadata that was
already in the header.  So you should just strip the header out from
the body before sending.

There are three common exceptions: 1) you might want to send a patch
written by someone else, 2) you might want to mark a patch as written
before it was sent, and 3) some people like to receive patches as
attachments rather than inlined in messages.  For the first two cases,
the solution is to include the header fields to change in the body:

	From: Patch Writer <patch.writer@example.com>
	Date: Wed, 01 Apr 1970 01:23:45 +0100

	Blah blah blah
	---
	Hi,

	Patch Writer wrote this patch a while ago that might be
	relevant.  It needed a straightforward one-line change to
	apply and is otherwise unchanged.

	What do you think?
[...]

For the last case, I think it is most common to send unchanged 'git
format-patch' output.  But only the From, Date, and Subject fields
are actually needed.

I am not sure how well 'git am' copes with non-ascii characters in
the pseudo-header lines: I would have guessed it could handle them
both rfc2047-encoded and not, but I have not tried.

> I really would like continuing having the convenience of using a web
> access to my gmail for sending the patches, so I just need a way to
> format the patches which makes it easy submitting them later. I'd like
> to avoid using any other email client for that, if possible.

Here, there is another danger: the Gmail web interface does not
consider your whitespace precious, so it is very prone to mangling
patches (especially with long lines).

Documentation/SubmittingPatches [1] has some advice:

| Gmail
| -----
| 
| GMail does not appear to have any way to turn off line wrapping in the web
| interface, so this will mangle any emails that you send.  You can however
| use any IMAP email client to connect to the google imap server, and forward
| the emails through that.  Just make sure to disable line wrapping in that
| email client.  Alternatively, use "git send-email" instead.
| 
| Submitting properly formatted patches via Gmail is simple now that
| IMAP support is available. First, edit your ~/.gitconfig to specify your
| account settings:
| 
| [imap]
| 	folder = "[Gmail]/Drafts"
| 	host = imaps://imap.gmail.com
| 	user = user@gmail.com
| 	pass = p4ssw0rd
| 	port = 993
| 	sslverify = false
| 
| You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error
| that the "Folder doesn't exist".
| 
| Next, ensure that your Gmail settings are correct. In "Settings" the
| "Use Unicode (UTF-8) encoding for outgoing messages" should be checked.
| 
| Once your commits are ready to send to the mailing list, run the following
| command to send the patch emails to your Gmail Drafts folder.
| 
| 	$ git format-patch -M --stdout origin/master | git imap-send
| 
| Go to your Gmail account, open the Drafts folder, find the patch email, fill
| in the To: and CC: fields and send away!

Good luck.

Hope that helps,
Jonathan

[1] <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=Documentation/SubmittingPatches>
converting tabs to spaces.  

  reply	other threads:[~2009-11-03 22:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-03 16:30 Problem with "From:" line on "git format-patch" generated patches André Goddard Rosa
2009-11-03 17:02 ` Santi Béjar
2009-11-03 18:06   ` André Goddard Rosa
2009-11-03 18:11     ` André Goddard Rosa
2009-11-03 22:55       ` Jonathan Nieder [this message]
2009-11-04 10:55         ` André Goddard Rosa
2009-11-04  8:49     ` Jeff King
2009-11-04 10:59       ` André Goddard Rosa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091103225556.GA20160@progeny.tock \
    --to=jrnieder@gmail.com \
    --cc=andre.goddard@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=santi@agolina.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).