git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Creating attachments using git-format-patch

From
PIPanagiotis Issaris <takis.issaris@uhasselt.be>
Date
Mar 4, 2007, 21:48 UTC
Message-ID
<20070304214809.GA18861@issaris.org>
In-Reply-To
<7vodn84ru2.fsf@assigned-by-dhcp.cox.net>
Hi,
On Sun, Mar 04, 2007 at 01:33:09PM -0800, Junio C Hamano wrote:
Show 12 quoted lines
> Panagiotis Issaris <takis@issaris.org> writes:
> 
> > The patch did not work for me in the sense that the patches still 
> > appeared as inline text in both Mutt (1.5.13) and Thunderbird (2 beta 2).
> >
> > The email show up as being threaded in Mutt, but in Thunderbird they 
> > still do not show up threaded.
> > thread about git-format-patch attachments, so Thunderbird appears to 
> > work alright).
> 
> If the patch below is needed, then I doubt you can honestly say
> it appears to work...

Well, here on Ubuntu using Mutt and Thunderbird the change below indeed makes the patches appear as attachments instead of inline text.

The e-mails not showing up as one thread is probably some other issue, or some misuse of me of git-format-patch and git-send-email.

I'm trying to get one e-mail sent with a header of [PATCH 00/16] with the other patches as attachments to that one summary e-mail. Initially they did not show up as being threaded in Thunderbird, but they did show up being threaded in Mutt. Now, with some experimentation, I managed to get them to show up in a thread in Thunderbird too, but unfortunately, now I am seeing the [PATCH 00/16] e-mail followed by one reply [PATCH 01/16] and all others are replies to [PATCH 01/16] instead of [PATCH 00/16]. Or by further experimentation, I got the [PATCH 00/16] e-mail sent with 14 replies correctly threaded, but two of them for some reader not ending up in the same thread...

git-format-patch --thread --attach -n origin..or2

git-send-email --no-chain-reply-to --to takis.issaris@uhasselt.be --from \ takis@issaris.org --subject "[PATCH 00/16] Various Doxygen related patches" \ --suppress-from --compose 00*patch

I've tried removing the --no-chain-reply and removing the --thread option of format-patch, but I never manage to get the mails sent in the way I want them to.

Anyway, I think my not-showing-up-as-a-thread issue is mainly because of me not understanding how to use it correctly :) and being unrelated to the patches-showing-up-inline-instead-of-as-attachments issue, which is really fixed here with the patch shown below.

In fact, I noticed that using --inline or --attach does not seem to make a difference for Mutt or Thunderbird, in both cases the emails appear to have attachments now :-/

The way I came to the patch below is by manually editing the e-mails generated by git-format-patch and sending them after each modification with git-send-email until I figured out what change made the patches appear as attachments in both email clients.

Show 30 quoted lines
> > diff -u b/log-tree.c b/log-tree.c
> > --- b/log-tree.c
> > +++ b/log-tree.c
> > @@ -186,7 +186,7 @@
> >  			snprintf(subject_buffer, sizeof(subject_buffer) - 1,
> >  				 "%s"
> >  				 "MIME-Version: 1.0\n"
> > -				 "Content-Type: multipart/mixed;\n"
> > +				 "Content-Type: multipart/mixed;"
> >  				 " boundary=\"%s%s\"\n"
> >  				 "\n"
> >  				 "This is a multi-part message in MIME "
> > @@ -202,10 +202,10 @@
> >  
> >  			snprintf(buffer, sizeof(buffer) - 1,
> >  				 "--%s%s\n"
> > -				 "Content-Type: text/x-patch;\n"
> > +				 "Content-Type: text/x-patch;"
> >  				 " name=\"%s.diff\"\n"
> >  				 "Content-Transfer-Encoding: 8bit\n"
> > -				 "Content-Disposition: %s;\n"
> > +				 "Content-Disposition: %s;"
> >  				 " filename=\"%s.diff\"\n\n",
> >  				 mime_boundary_leader, opt->mime_boundary,
> >  				 sha1,
> 
> But if it helps some implementations of MIME decoder without
> harming others, then I'd say why not.  I just wanted to make
> sure it does not throw regression at others (for example by
> making the physical line too long for them to grok).
Of course, I fully understand your cautiousness.

With friendly regards, Takis

Previous: Junio C HamanoNext: Junio C Hamano
Message 11 of 12 in “Creating attachments using git-format-patch”
  1. Panagiotis IssarisMar 3, 2007
  2. Junio C HamanoMar 3, 2007
  3. Johannes SchindelinMar 3, 2007
  4. format-patch: add --no-inline optionJohannes Schindelin, Mar 3, 2007
  5. Junio C HamanoMar 4, 2007
  6. Junio C HamanoMar 4, 2007
  7. Johannes SchindelinMar 4, 2007
  8. Panagiotis IssarisMar 4, 2007
  9. Panagiotis IssarisMar 4, 2007
  10. Junio C HamanoMar 4, 2007
  11. Panagiotis IssarisMar 4, 2007
  12. Junio C HamanoMar 5, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.