Documentation: hints for sending patches inline with Thunderbird
The standard reference for this information is the article "Plain text e-mail - Thunderbird#Completely_plain_email" at kb.mozillazine.org, but the hints hidden away in git's SubmittingPatches file are more complete. Move them to the "git format-patch" manual so they can be installed with git and read by a wide audience. While at it, make some tweaks: - update "Approach #1" so it might work with Thunderbird 3; - remove ancient version numbers from the descriptions of both approaches so current readers might have more reason to complain if they don't work. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							57756161ee
						
					
				
				
					commit
					dc53151f02
				
			@ -416,86 +416,7 @@ it.
 | 
			
		||||
Thunderbird
 | 
			
		||||
-----------
 | 
			
		||||
 | 
			
		||||
(A Large Angry SCM)
 | 
			
		||||
 | 
			
		||||
By default, Thunderbird will both wrap emails as well as flag them as
 | 
			
		||||
being 'format=flowed', both of which will make the resulting email unusable
 | 
			
		||||
by git.
 | 
			
		||||
 | 
			
		||||
Here are some hints on how to successfully submit patches inline using
 | 
			
		||||
Thunderbird.
 | 
			
		||||
 | 
			
		||||
There are two different approaches.  One approach is to configure
 | 
			
		||||
Thunderbird to not mangle patches.  The second approach is to use
 | 
			
		||||
an external editor to keep Thunderbird from mangling the patches.
 | 
			
		||||
 | 
			
		||||
Approach #1 (configuration):
 | 
			
		||||
 | 
			
		||||
This recipe is current as of Thunderbird 2.0.0.19.  Three steps:
 | 
			
		||||
  1.  Configure your mail server composition as plain text
 | 
			
		||||
      Edit...Account Settings...Composition & Addressing,
 | 
			
		||||
        uncheck 'Compose Messages in HTML'.
 | 
			
		||||
  2.  Configure your general composition window to not wrap
 | 
			
		||||
      Edit..Preferences..Composition, wrap plain text messages at 0
 | 
			
		||||
  3.  Disable the use of format=flowed
 | 
			
		||||
      Edit..Preferences..Advanced..Config Editor.  Search for:
 | 
			
		||||
        mailnews.send_plaintext_flowed
 | 
			
		||||
      toggle it to make sure it is set to 'false'.
 | 
			
		||||
 | 
			
		||||
After that is done, you should be able to compose email as you
 | 
			
		||||
otherwise would (cut + paste, git-format-patch | git-imap-send, etc),
 | 
			
		||||
and the patches should not be mangled.
 | 
			
		||||
 | 
			
		||||
Approach #2 (external editor):
 | 
			
		||||
 | 
			
		||||
This recipe appears to work with the current [*1*] Thunderbird from Suse.
 | 
			
		||||
 | 
			
		||||
The following Thunderbird extensions are needed:
 | 
			
		||||
	AboutConfig 0.5
 | 
			
		||||
		http://aboutconfig.mozdev.org/
 | 
			
		||||
	External Editor 0.7.2
 | 
			
		||||
		http://globs.org/articles.php?lng=en&pg=8
 | 
			
		||||
 | 
			
		||||
1) Prepare the patch as a text file using your method of choice.
 | 
			
		||||
 | 
			
		||||
2) Before opening a compose window, use Edit->Account Settings to
 | 
			
		||||
uncheck the "Compose messages in HTML format" setting in the
 | 
			
		||||
"Composition & Addressing" panel of the account to be used to send the
 | 
			
		||||
patch. [*2*]
 | 
			
		||||
 | 
			
		||||
3) In the main Thunderbird window, _before_ you open the compose window
 | 
			
		||||
for the patch, use Tools->about:config to set the following to the
 | 
			
		||||
indicated values:
 | 
			
		||||
	mailnews.send_plaintext_flowed	=> false
 | 
			
		||||
	mailnews.wraplength		=> 0
 | 
			
		||||
 | 
			
		||||
4) Open a compose window and click the external editor icon.
 | 
			
		||||
 | 
			
		||||
5) In the external editor window, read in the patch file and exit the
 | 
			
		||||
editor normally.
 | 
			
		||||
 | 
			
		||||
6) Back in the compose window: Add whatever other text you wish to the
 | 
			
		||||
message, complete the addressing and subject fields, and press send.
 | 
			
		||||
 | 
			
		||||
7) Optionally, undo the about:config/account settings changes made in
 | 
			
		||||
steps 2 & 3.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[Footnotes]
 | 
			
		||||
*1* Version 1.0 (20041207) from the MozillaThunderbird-1.0-5 rpm of Suse
 | 
			
		||||
9.3 professional updates.
 | 
			
		||||
 | 
			
		||||
*2* It may be possible to do this with about:config and the following
 | 
			
		||||
settings but I haven't tried, yet.
 | 
			
		||||
	mail.html_compose			=> false
 | 
			
		||||
	mail.identity.default.compose_html	=> false
 | 
			
		||||
	mail.identity.id?.compose_html		=> false
 | 
			
		||||
 | 
			
		||||
(Lukas Sandström)
 | 
			
		||||
 | 
			
		||||
There is a script in contrib/thunderbird-patch-inline which can help
 | 
			
		||||
you include patches with Thunderbird in an easy way. To use it, do the
 | 
			
		||||
steps above and then use the script as the external editor.
 | 
			
		||||
See the MUA-SPECIFIC HINTS section of git-format-patch(1).
 | 
			
		||||
 | 
			
		||||
Gnus
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
@ -332,6 +332,89 @@ If it does not apply correctly, there can be various reasons.
 | 
			
		||||
  patch e-mail should come after the three-dash line that signals
 | 
			
		||||
  the end of the commit message.
 | 
			
		||||
 | 
			
		||||
MUA-SPECIFIC HINTS
 | 
			
		||||
------------------
 | 
			
		||||
Here are some hints on how to successfully submit patches inline using
 | 
			
		||||
various mailers.
 | 
			
		||||
 | 
			
		||||
Thunderbird
 | 
			
		||||
~~~~~~~~~~~
 | 
			
		||||
By default, Thunderbird will both wrap emails as well as flag
 | 
			
		||||
them as being 'format=flowed', both of which will make the
 | 
			
		||||
resulting email unusable by git.
 | 
			
		||||
 | 
			
		||||
There are two different approaches.  One approach is to configure
 | 
			
		||||
Thunderbird to not mangle patches.  The second approach is to use
 | 
			
		||||
an external editor to keep Thunderbird from mangling the patches.
 | 
			
		||||
 | 
			
		||||
Approach #1 (configuration)
 | 
			
		||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
			
		||||
Three steps:
 | 
			
		||||
 | 
			
		||||
1. Configure your mail server composition as plain text:
 | 
			
		||||
   Edit...Account Settings...Composition & Addressing,
 | 
			
		||||
   uncheck "Compose Messages in HTML".
 | 
			
		||||
 | 
			
		||||
2. Configure your general composition window to not wrap.
 | 
			
		||||
+
 | 
			
		||||
In Thunderbird 2:
 | 
			
		||||
Edit..Preferences..Composition, wrap plain text messages at 0
 | 
			
		||||
+
 | 
			
		||||
In Thunderbird 3:
 | 
			
		||||
Edit..Preferences..Advanced..Config Editor.  Search for
 | 
			
		||||
"mail.wrap_long_lines".
 | 
			
		||||
Toggle it to make sure it is set to `false`.
 | 
			
		||||
 | 
			
		||||
3. Disable the use of format=flowed:
 | 
			
		||||
Edit..Preferences..Advanced..Config Editor.  Search for
 | 
			
		||||
"mailnews.send_plaintext_flowed".
 | 
			
		||||
Toggle it to make sure it is set to `false`.
 | 
			
		||||
 | 
			
		||||
After that is done, you should be able to compose email as you
 | 
			
		||||
otherwise would (cut + paste, 'git format-patch' | 'git imap-send', etc),
 | 
			
		||||
and the patches will not be mangled.
 | 
			
		||||
 | 
			
		||||
Approach #2 (external editor)
 | 
			
		||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
			
		||||
 | 
			
		||||
The following Thunderbird extensions are needed:
 | 
			
		||||
AboutConfig from http://aboutconfig.mozdev.org/ and
 | 
			
		||||
External Editor from http://globs.org/articles.php?lng=en&pg=8
 | 
			
		||||
 | 
			
		||||
1. Prepare the patch as a text file using your method of choice.
 | 
			
		||||
 | 
			
		||||
2. Before opening a compose window, use Edit->Account Settings to
 | 
			
		||||
   uncheck the "Compose messages in HTML format" setting in the
 | 
			
		||||
   "Composition & Addressing" panel of the account to be used to
 | 
			
		||||
   send the patch.
 | 
			
		||||
 | 
			
		||||
3. In the main Thunderbird window, 'before' you open the compose
 | 
			
		||||
   window for the patch, use Tools->about:config to set the
 | 
			
		||||
   following to the indicated values:
 | 
			
		||||
+
 | 
			
		||||
----------
 | 
			
		||||
	mailnews.send_plaintext_flowed  => false
 | 
			
		||||
	mailnews.wraplength             => 0
 | 
			
		||||
----------
 | 
			
		||||
 | 
			
		||||
4. Open a compose window and click the external editor icon.
 | 
			
		||||
 | 
			
		||||
5. In the external editor window, read in the patch file and exit
 | 
			
		||||
   the editor normally.
 | 
			
		||||
 | 
			
		||||
Side note: it may be possible to do step 2 with
 | 
			
		||||
about:config and the following settings but no one's tried yet.
 | 
			
		||||
 | 
			
		||||
----------
 | 
			
		||||
	mail.html_compose                       => false
 | 
			
		||||
	mail.identity.default.compose_html      => false
 | 
			
		||||
	mail.identity.id?.compose_html          => false
 | 
			
		||||
----------
 | 
			
		||||
 | 
			
		||||
There is a script in contrib/thunderbird-patch-inline which can help
 | 
			
		||||
you include patches with Thunderbird in an easy way. To use it, do the
 | 
			
		||||
steps above and then use the script as the external editor.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
EXAMPLES
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user