"Fossies" - the Fresh Open Source Software Archive

Member "git-am.txt" (15 Dec 2018, 7717 Bytes) of package /linux/misc/git-htmldocs-2.20.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 git-am(1)
    2 =========
    3 
    4 NAME
    5 ----
    6 git-am - Apply a series of patches from a mailbox
    7 
    8 
    9 SYNOPSIS
   10 --------
   11 [verse]
   12 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
   13 	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
   14 	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
   15 	 [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
   16 	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
   17 	 [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
   18 	 [(<mbox> | <Maildir>)...]
   19 'git am' (--continue | --skip | --abort | --quit | --show-current-patch)
   20 
   21 DESCRIPTION
   22 -----------
   23 Splits mail messages in a mailbox into commit log message,
   24 authorship information and patches, and applies them to the
   25 current branch.
   26 
   27 OPTIONS
   28 -------
   29 (<mbox>|<Maildir>)...::
   30 	The list of mailbox files to read patches from. If you do not
   31 	supply this argument, the command reads from the standard input.
   32 	If you supply directories, they will be treated as Maildirs.
   33 
   34 -s::
   35 --signoff::
   36 	Add a `Signed-off-by:` line to the commit message, using
   37 	the committer identity of yourself.
   38 	See the signoff option in linkgit:git-commit[1] for more information.
   39 
   40 -k::
   41 --keep::
   42 	Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
   43 
   44 --keep-non-patch::
   45 	Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
   46 
   47 --[no-]keep-cr::
   48 	With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])
   49 	with the same option, to prevent it from stripping CR at the end of
   50 	lines. `am.keepcr` configuration variable can be used to specify the
   51 	default behaviour.  `--no-keep-cr` is useful to override `am.keepcr`.
   52 
   53 -c::
   54 --scissors::
   55 	Remove everything in body before a scissors line (see
   56 	linkgit:git-mailinfo[1]). Can be activated by default using
   57 	the `mailinfo.scissors` configuration variable.
   58 
   59 --no-scissors::
   60 	Ignore scissors lines (see linkgit:git-mailinfo[1]).
   61 
   62 -m::
   63 --message-id::
   64 	Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]),
   65 	so that the Message-ID header is added to the commit message.
   66 	The `am.messageid` configuration variable can be used to specify
   67 	the default behaviour.
   68 
   69 --no-message-id::
   70 	Do not add the Message-ID header to the commit message.
   71 	`no-message-id` is useful to override `am.messageid`.
   72 
   73 -q::
   74 --quiet::
   75 	Be quiet. Only print error messages.
   76 
   77 -u::
   78 --utf8::
   79 	Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
   80 	The proposed commit log message taken from the e-mail
   81 	is re-coded into UTF-8 encoding (configuration variable
   82 	`i18n.commitencoding` can be used to specify project's
   83 	preferred encoding if it is not UTF-8).
   84 +
   85 This was optional in prior versions of git, but now it is the
   86 default.   You can use `--no-utf8` to override this.
   87 
   88 --no-utf8::
   89 	Pass `-n` flag to 'git mailinfo' (see
   90 	linkgit:git-mailinfo[1]).
   91 
   92 -3::
   93 --3way::
   94 --no-3way::
   95 	When the patch does not apply cleanly, fall back on
   96 	3-way merge if the patch records the identity of blobs
   97 	it is supposed to apply to and we have those blobs
   98 	available locally. `--no-3way` can be used to override
   99 	am.threeWay configuration variable. For more information,
  100 	see am.threeWay in linkgit:git-config[1].
  101 
  102 --ignore-space-change::
  103 --ignore-whitespace::
  104 --whitespace=<option>::
  105 -C<n>::
  106 -p<n>::
  107 --directory=<dir>::
  108 --exclude=<path>::
  109 --include=<path>::
  110 --reject::
  111 	These flags are passed to the 'git apply' (see linkgit:git-apply[1])
  112 	program that applies
  113 	the patch.
  114 
  115 --patch-format::
  116 	By default the command will try to detect the patch format
  117 	automatically. This option allows the user to bypass the automatic
  118 	detection and specify the patch format that the patch(es) should be
  119 	interpreted as. Valid formats are mbox, mboxrd,
  120 	stgit, stgit-series and hg.
  121 
  122 -i::
  123 --interactive::
  124 	Run interactively.
  125 
  126 --committer-date-is-author-date::
  127 	By default the command records the date from the e-mail
  128 	message as the commit author date, and uses the time of
  129 	commit creation as the committer date. This allows the
  130 	user to lie about the committer date by using the same
  131 	value as the author date.
  132 
  133 --ignore-date::
  134 	By default the command records the date from the e-mail
  135 	message as the commit author date, and uses the time of
  136 	commit creation as the committer date. This allows the
  137 	user to lie about the author date by using the same
  138 	value as the committer date.
  139 
  140 --skip::
  141 	Skip the current patch.  This is only meaningful when
  142 	restarting an aborted patch.
  143 
  144 -S[<keyid>]::
  145 --gpg-sign[=<keyid>]::
  146 	GPG-sign commits. The `keyid` argument is optional and
  147 	defaults to the committer identity; if specified, it must be
  148 	stuck to the option without a space.
  149 
  150 --continue::
  151 -r::
  152 --resolved::
  153 	After a patch failure (e.g. attempting to apply
  154 	conflicting patch), the user has applied it by hand and
  155 	the index file stores the result of the application.
  156 	Make a commit using the authorship and commit log
  157 	extracted from the e-mail message and the current index
  158 	file, and continue.
  159 
  160 --resolvemsg=<msg>::
  161 	When a patch failure occurs, <msg> will be printed
  162 	to the screen before exiting.  This overrides the
  163 	standard message informing you to use `--continue`
  164 	or `--skip` to handle the failure.  This is solely
  165 	for internal use between 'git rebase' and 'git am'.
  166 
  167 --abort::
  168 	Restore the original branch and abort the patching operation.
  169 
  170 --quit::
  171 	Abort the patching operation but keep HEAD and the index
  172 	untouched.
  173 
  174 --show-current-patch::
  175 	Show the patch being applied when "git am" is stopped because
  176 	of conflicts.
  177 
  178 DISCUSSION
  179 ----------
  180 
  181 The commit author name is taken from the "From: " line of the
  182 message, and commit author date is taken from the "Date: " line
  183 of the message.  The "Subject: " line is used as the title of
  184 the commit, after stripping common prefix "[PATCH <anything>]".
  185 The "Subject: " line is supposed to concisely describe what the
  186 commit is about in one line of text.
  187 
  188 "From: " and "Subject: " lines starting the body override the respective
  189 commit author name and title values taken from the headers.
  190 
  191 The commit message is formed by the title taken from the
  192 "Subject: ", a blank line and the body of the message up to
  193 where the patch begins.  Excess whitespace at the end of each
  194 line is automatically stripped.
  195 
  196 The patch is expected to be inline, directly following the
  197 message.  Any line that is of the form:
  198 
  199 * three-dashes and end-of-line, or
  200 * a line that begins with "diff -", or
  201 * a line that begins with "Index: "
  202 
  203 is taken as the beginning of a patch, and the commit log message
  204 is terminated before the first occurrence of such a line.
  205 
  206 When initially invoking `git am`, you give it the names of the mailboxes
  207 to process.  Upon seeing the first patch that does not apply, it
  208 aborts in the middle.  You can recover from this in one of two ways:
  209 
  210 . skip the current patch by re-running the command with the `--skip`
  211   option.
  212 
  213 . hand resolve the conflict in the working directory, and update
  214   the index file to bring it into a state that the patch should
  215   have produced.  Then run the command with the `--continue` option.
  216 
  217 The command refuses to process new mailboxes until the current
  218 operation is finished, so if you decide to start over from scratch,
  219 run `git am --abort` before running the command with mailbox
  220 names.
  221 
  222 Before any patches are applied, ORIG_HEAD is set to the tip of the
  223 current branch.  This is useful if you have problems with multiple
  224 commits, like running 'git am' on the wrong branch or an error in the
  225 commits that is more easily fixed by changing the mailbox (e.g.
  226 errors in the "From:" lines).
  227 
  228 HOOKS
  229 -----
  230 This command can run `applypatch-msg`, `pre-applypatch`,
  231 and `post-applypatch` hooks.  See linkgit:githooks[5] for more
  232 information.
  233 
  234 SEE ALSO
  235 --------
  236 linkgit:git-apply[1].
  237 
  238 GIT
  239 ---
  240 Part of the linkgit:git[1] suite