319 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			319 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| git-send-email(1)
 | |
| =================
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| git-send-email - Send a collection of patches as emails
 | |
| 
 | |
| 
 | |
| SYNOPSIS
 | |
| --------
 | |
| 'git send-email' [options] <file|directory|rev-list options>...
 | |
| 
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| Takes the patches given on the command line and emails them out.
 | |
| Patches can be specified as files, directories (which will send all
 | |
| files in the directory), or directly as a revision list.  In the
 | |
| last case, any format accepted by linkgit:git-format-patch[1] can
 | |
| be passed to git send-email.
 | |
| 
 | |
| The header of the email is configurable by command line options.  If not
 | |
| specified on the command line, the user will be prompted with a ReadLine
 | |
| enabled interface to provide the necessary information.
 | |
| 
 | |
| There are two formats accepted for patch files:
 | |
| 
 | |
| 1. mbox format files
 | |
| +
 | |
| This is what linkgit:git-format-patch[1] generates.  Most headers and MIME
 | |
| formatting are ignored.
 | |
| 
 | |
| 2. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl'
 | |
| script
 | |
| +
 | |
| This format expects the first line of the file to contain the "Cc:" value
 | |
| and the "Subject:" of the message as the second line.
 | |
| 
 | |
| 
 | |
| OPTIONS
 | |
| -------
 | |
| 
 | |
| Composing
 | |
| ~~~~~~~~~
 | |
| 
 | |
| --annotate::
 | |
| 	Review and edit each patch you're about to send. See the
 | |
| 	CONFIGURATION section for 'sendemail.multiedit'.
 | |
| 
 | |
| --bcc=<address>::
 | |
| 	Specify a "Bcc:" value for each email. Default is the value of
 | |
| 	'sendemail.bcc'.
 | |
| +
 | |
| The --bcc option must be repeated for each user you want on the bcc list.
 | |
| 
 | |
| --cc=<address>::
 | |
| 	Specify a starting "Cc:" value for each email.
 | |
| 	Default is the value of 'sendemail.cc'.
 | |
| +
 | |
| The --cc option must be repeated for each user you want on the cc list.
 | |
| 
 | |
| --compose::
 | |
| 	Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1])
 | |
| 	to edit an introductory message for the patch series.
 | |
| +
 | |
| When '--compose' is used, git send-email will use the From, Subject, and
 | |
| In-Reply-To headers specified in the message. If the body of the message
 | |
| (what you type after the headers and a blank line) only contains blank
 | |
| (or GIT: prefixed) lines the summary won't be sent, but From, Subject,
 | |
| and In-Reply-To headers will be used unless they are removed.
 | |
| +
 | |
| Missing From or In-Reply-To headers will be prompted for.
 | |
| +
 | |
| See the CONFIGURATION section for 'sendemail.multiedit'.
 | |
| 
 | |
| --from=<address>::
 | |
| 	Specify the sender of the emails.  If not specified on the command line,
 | |
| 	the value of the 'sendemail.from' configuration option is used.  If
 | |
| 	neither the command line option nor 'sendemail.from' are set, then the
 | |
| 	user will be prompted for the value.  The default for the prompt will be
 | |
| 	the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
 | |
| 	set, as returned by "git var -l".
 | |
| 
 | |
| --in-reply-to=<identifier>::
 | |
| 	Specify the contents of the first In-Reply-To header.
 | |
| 	Subsequent emails will refer to the previous email
 | |
| 	instead of this if --chain-reply-to is set (the default)
 | |
| 	Only necessary if --compose is also set.  If --compose
 | |
| 	is not set, this will be prompted for.
 | |
| 
 | |
| --subject=<string>::
 | |
| 	Specify the initial subject of the email thread.
 | |
| 	Only necessary if --compose is also set.  If --compose
 | |
| 	is not set, this will be prompted for.
 | |
| 
 | |
| --to=<address>::
 | |
| 	Specify the primary recipient of the emails generated. Generally, this
 | |
| 	will be the upstream maintainer of the project involved. Default is the
 | |
| 	value of the 'sendemail.to' configuration value; if that is unspecified,
 | |
| 	this will be prompted for.
 | |
| +
 | |
| The --to option must be repeated for each user you want on the to list.
 | |
| 
 | |
| 
 | |
| Sending
 | |
| ~~~~~~~
 | |
| 
 | |
| --envelope-sender=<address>::
 | |
| 	Specify the envelope sender used to send the emails.
 | |
| 	This is useful if your default address is not the address that is
 | |
| 	subscribed to a list. In order to use the 'From' address, set the
 | |
| 	value to "auto". If you use the sendmail binary, you must have
 | |
| 	suitable privileges for the -f parameter.  Default is the value of the
 | |
| 	'sendemail.envelopesender' configuration variable; if that is
 | |
| 	unspecified, choosing the envelope sender is left to your MTA.
 | |
| 
 | |
| --smtp-encryption=<encryption>::
 | |
| 	Specify the encryption to use, either 'ssl' or 'tls'.  Any other
 | |
| 	value reverts to plain SMTP.  Default is the value of
 | |
| 	'sendemail.smtpencryption'.
 | |
| 
 | |
| --smtp-pass[=<password>]::
 | |
| 	Password for SMTP-AUTH. The argument is optional: If no
 | |
| 	argument is specified, then the empty string is used as
 | |
| 	the password. Default is the value of 'sendemail.smtppass',
 | |
| 	however '--smtp-pass' always overrides this value.
 | |
| +
 | |
| Furthermore, passwords need not be specified in configuration files
 | |
| or on the command line. If a username has been specified (with
 | |
| '--smtp-user' or a 'sendemail.smtpuser'), but no password has been
 | |
| specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
 | |
| user is prompted for a password while the input is masked for privacy.
 | |
| 
 | |
| --smtp-server=<host>::
 | |
| 	If set, specifies the outgoing SMTP server to use (e.g.
 | |
| 	`smtp.example.com` or a raw IP address).  Alternatively it can
 | |
| 	specify a full pathname of a sendmail-like program instead;
 | |
| 	the program must support the `-i` option.  Default value can
 | |
| 	be specified by the 'sendemail.smtpserver' configuration
 | |
| 	option; the built-in default is `/usr/sbin/sendmail` or
 | |
| 	`/usr/lib/sendmail` if such program is available, or
 | |
| 	`localhost` otherwise.
 | |
| 
 | |
| --smtp-server-port=<port>::
 | |
| 	Specifies a port different from the default port (SMTP
 | |
| 	servers typically listen to smtp port 25, but may also listen to
 | |
| 	submission port 587, or the common SSL smtp port 465);
 | |
| 	symbolic port names (e.g. "submission" instead of 587)
 | |
| 	are also accepted. The port can also be set with the
 | |
| 	'sendemail.smtpserverport' configuration variable.
 | |
| 
 | |
| --smtp-ssl::
 | |
| 	Legacy alias for '--smtp-encryption ssl'.
 | |
| 
 | |
| --smtp-user=<user>::
 | |
| 	Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
 | |
| 	if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
 | |
| 	then authentication is not attempted.
 | |
| 
 | |
| 
 | |
| Automating
 | |
| ~~~~~~~~~~
 | |
| 
 | |
| --cc-cmd=<command>::
 | |
| 	Specify a command to execute once per patch file which
 | |
| 	should generate patch file specific "Cc:" entries.
 | |
| 	Output of this command must be single email address per line.
 | |
| 	Default is the value of 'sendemail.cccmd' configuration value.
 | |
| 
 | |
| --[no-]chain-reply-to::
 | |
| 	If this is set, each email will be sent as a reply to the previous
 | |
| 	email sent.  If disabled with "--no-chain-reply-to", all emails after
 | |
| 	the first will be sent as replies to the first email sent.  When using
 | |
| 	this, it is recommended that the first file given be an overview of the
 | |
| 	entire patch series. Default is the value of the 'sendemail.chainreplyto'
 | |
| 	configuration value; if that is unspecified, default to --chain-reply-to.
 | |
| 
 | |
| --identity=<identity>::
 | |
| 	A configuration identity. When given, causes values in the
 | |
| 	'sendemail.<identity>' subsection to take precedence over
 | |
| 	values in the 'sendemail' section. The default identity is
 | |
| 	the value of 'sendemail.identity'.
 | |
| 
 | |
| --[no-]signed-off-by-cc::
 | |
| 	If this is set, add emails found in Signed-off-by: or Cc: lines to the
 | |
| 	cc list. Default is the value of 'sendemail.signedoffbycc' configuration
 | |
| 	value; if that is unspecified, default to --signed-off-by-cc.
 | |
| 
 | |
| --suppress-cc=<category>::
 | |
| 	Specify an additional category of recipients to suppress the
 | |
| 	auto-cc of:
 | |
| +
 | |
| --
 | |
| - 'author' will avoid including the patch author
 | |
| - 'self' will avoid including the sender
 | |
| - 'cc' will avoid including anyone mentioned in Cc lines in the patch header
 | |
|   except for self (use 'self' for that).
 | |
| - 'bodycc' will avoid including anyone mentioned in Cc lines in the
 | |
|   patch body (commit message) except for self (use 'self' for that).
 | |
| - 'sob' will avoid including anyone mentioned in Signed-off-by lines except
 | |
|    for self (use 'self' for that).
 | |
| - 'cccmd' will avoid running the --cc-cmd.
 | |
| - 'body' is equivalent to 'sob' + 'bodycc'
 | |
| - 'all' will suppress all auto cc values.
 | |
| --
 | |
| +
 | |
| Default is the value of 'sendemail.suppresscc' configuration value; if
 | |
| that is unspecified, default to 'self' if --suppress-from is
 | |
| specified, as well as 'body' if --no-signed-off-cc is specified.
 | |
| 
 | |
| --[no-]suppress-from::
 | |
| 	If this is set, do not add the From: address to the cc: list.
 | |
| 	Default is the value of 'sendemail.suppressfrom' configuration
 | |
| 	value; if that is unspecified, default to --no-suppress-from.
 | |
| 
 | |
| --[no-]thread::
 | |
| 	If this is set, the In-Reply-To and References headers will be
 | |
| 	added to each email sent.  Whether each mail refers to the
 | |
| 	previous email (`deep` threading per 'git format-patch'
 | |
| 	wording) or to the first email (`shallow` threading) is
 | |
| 	governed by "--[no-]chain-reply-to".
 | |
| +
 | |
| If disabled with "--no-thread", those headers will not be added
 | |
| (unless specified with --in-reply-to).  Default is the value of the
 | |
| 'sendemail.thread' configuration value; if that is unspecified,
 | |
| default to --thread.
 | |
| +
 | |
| It is up to the user to ensure that no In-Reply-To header already
 | |
| exists when 'git send-email' is asked to add it (especially note that
 | |
| 'git format-patch' can be configured to do the threading itself).
 | |
| Failure to do so may not produce the expected result in the
 | |
| recipient's MUA.
 | |
| 
 | |
| 
 | |
| Administering
 | |
| ~~~~~~~~~~~~~
 | |
| 
 | |
| --confirm=<mode>::
 | |
| 	Confirm just before sending:
 | |
| +
 | |
| --
 | |
| - 'always' will always confirm before sending
 | |
| - 'never' will never confirm before sending
 | |
| - 'cc' will confirm before sending when send-email has automatically
 | |
|   added addresses from the patch to the Cc list
 | |
| - 'compose' will confirm before sending the first message when using --compose.
 | |
| - 'auto' is equivalent to 'cc' + 'compose'
 | |
| --
 | |
| +
 | |
| Default is the value of 'sendemail.confirm' configuration value; if that
 | |
| is unspecified, default to 'auto' unless any of the suppress options
 | |
| have been specified, in which case default to 'compose'.
 | |
| 
 | |
| --dry-run::
 | |
| 	Do everything except actually send the emails.
 | |
| 
 | |
| --[no-]format-patch::
 | |
| 	When an argument may be understood either as a reference or as a file name,
 | |
| 	choose to understand it as a format-patch argument ('--format-patch')
 | |
| 	or as a file name ('--no-format-patch'). By default, when such a conflict
 | |
| 	occurs, git send-email will fail.
 | |
| 
 | |
| --quiet::
 | |
| 	Make git-send-email less verbose.  One line per email should be
 | |
| 	all that is output.
 | |
| 
 | |
| --[no-]validate::
 | |
| 	Perform sanity checks on patches.
 | |
| 	Currently, validation means the following:
 | |
| +
 | |
| --
 | |
| 		*	Warn of patches that contain lines longer than 998 characters; this
 | |
| 			is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
 | |
| --
 | |
| +
 | |
| Default is the value of 'sendemail.validate'; if this is not set,
 | |
| default to '--validate'.
 | |
| 
 | |
| 
 | |
| CONFIGURATION
 | |
| -------------
 | |
| 
 | |
| sendemail.aliasesfile::
 | |
| 	To avoid typing long email addresses, point this to one or more
 | |
| 	email aliases files.  You must also supply 'sendemail.aliasfiletype'.
 | |
| 
 | |
| sendemail.aliasfiletype::
 | |
| 	Format of the file(s) specified in sendemail.aliasesfile. Must be
 | |
| 	one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'.
 | |
| 
 | |
| sendemail.multiedit::
 | |
| 	If true (default), a single editor instance will be spawned to edit
 | |
| 	files you have to edit (patches when '--annotate' is used, and the
 | |
| 	summary when '--compose' is used). If false, files will be edited one
 | |
| 	after the other, spawning a new editor each time.
 | |
| 
 | |
| sendemail.confirm::
 | |
| 	Sets the default for whether to confirm before sending. Must be
 | |
| 	one of 'always', 'never', 'cc', 'compose', or 'auto'. See '--confirm'
 | |
| 	in the previous section for the meaning of these values.
 | |
| 
 | |
| 
 | |
| Author
 | |
| ------
 | |
| Written by Ryan Anderson <ryan@michonline.com>
 | |
| 
 | |
| git-send-email is originally based upon
 | |
| send_lots_of_email.pl by Greg Kroah-Hartman.
 | |
| 
 | |
| 
 | |
| Documentation
 | |
| --------------
 | |
| Documentation by Ryan Anderson
 | |
| 
 | |
| 
 | |
| GIT
 | |
| ---
 | |
| Part of the linkgit:git[1] suite
 | 
