Code

Make help entries alphabetical
[git.git] / Documentation / git-send-email.txt
index 0d6ac4a7b8e0d1eb6351019cd6c8d92822d3326d..12788667d43a3f94d46b802cd1225cf8bc517129 100644 (file)
@@ -8,7 +8,7 @@ git-send-email - Send a collection of patches as emails
 
 SYNOPSIS
 --------
-'git send-email' [options] <file|directory> [... file|directory]
+'git send-email' [options] <file|directory|rev-list options>...
 
 
 DESCRIPTION
@@ -19,9 +19,12 @@ 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.
 
+
 OPTIONS
 -------
-The options available are:
+
+Composing
+~~~~~~~~~
 
 --bcc::
        Specify a "Bcc:" value for each email. Default is the value of
@@ -34,46 +37,29 @@ The --bcc option must be repeated for each user you want on the bcc list.
 +
 The --cc option must be repeated for each user you want on the cc list.
 
---cc-cmd::
-       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.
+--annotate::
+       Review each patch you're about to send in an editor. The setting
+       'sendemail.multiedit' defines if this will spawn one editor per patch
+       or one for all of them at once.
 
 --compose::
        Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
        introductory message for the patch series.
-
---dry-run::
-       Do everything except actually send the emails.
-
---envelope-sender::
-       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. 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.
++
+When '--compose' is used, git send-email gets less interactive will use the
+values of the headers you set there. If the body of the email (what you type
+after the headers and a blank line) only contains blank (or GIT: prefixed)
+lines, the summary won't be sent, but git-send-email will still use the
+Headers values if you don't removed them.
++
+If it wasn't able to see a header in the summary it will ask you about it
+interactively after quitting your editor.
 
 --from::
        Specify the sender of the emails.  This will default to
        the value GIT_COMMITTER_IDENT, as returned by "git var -l".
        The user will still be prompted to confirm this entry.
 
---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'.
-
 --in-reply-to::
        Specify the contents of the first In-Reply-To header.
        Subsequent emails will refer to the previous email
@@ -81,14 +67,30 @@ The --cc option must be repeated for each user you want on the cc list.
        Only necessary if --compose is also set.  If --compose
        is not set, this will be prompted for.
 
---quiet::
-       Make git-send-email less verbose.  One line per email should be
-       all that is output.
+--subject::
+       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.
 
---[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.signedoffcc' configuration
-       value; if that is unspecified, default to --signed-off-by-cc.
+--to::
+       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::
+       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. 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::
        Specify the encryption to use, either 'ssl' or 'tls'.  Any other
@@ -130,10 +132,34 @@ user is prompted for a password while the input is masked for privacy.
        if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
        then authentication is not attempted.
 
---subject::
-       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.
+
+Automating
+~~~~~~~~~~
+
+--cc-cmd::
+       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::
+       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::
        Specify an additional category of recipients to suppress the
@@ -157,17 +183,26 @@ user is prompted for a password while the input is masked for privacy.
        header set. Default is the value of the 'sendemail.thread' configuration
        value; if that is unspecified, default to --thread.
 
---to::
-       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.
+
+Administering
+~~~~~~~~~~~~~
+
+--dry-run::
+       Do everything except actually send the emails.
+
+--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:
+
+--[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.
 +
 --
                *       Warn of patches that contain lines longer than 998 characters; this
@@ -180,6 +215,7 @@ 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'.
@@ -188,6 +224,13 @@ sendemail.aliasfiletype::
        Format of the file(s) specified in sendemail.aliasesfile. Must be
        one of 'mutt', 'mailrc', 'pine', 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.
+
+
 Author
 ------
 Written by Ryan Anderson <ryan@michonline.com>
@@ -195,10 +238,12 @@ 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