- 15 4月, 2010 1 次提交
-
-
由 Junio C Hamano 提交于
"git am -3" first tries to apply the patch without any extra trick, and applies it to a synthesized tree for 3-way merge after the first attempt fails. "git apply" exits with status 1 for a patch that is well-formed but is not applicable (and it dies on other errors with non-zereo, non-1 status) and has an optimization to fall back to the 3-way merge only in the case. An earlier patch 3ddd1703 (am: suppress apply errors when using 3-way, 2009-06-16) squelched diagnostic messages from the first attempt, not to be shown to the end user. This worked reasonably well if the reason the first application failed was because the patch was made against a wrong version. When the patch is corrupt (e.g. line-wrapped or leading whitespaces got dropped), however, because the second patch application is not even attempted, the error message from the first application is never shown and is forever lost. This message is necessary to locate where the patch is corrupt and fix it up. We could fix this issue by reverting 3dd170, or keeping the error message to somewhere and showing it, but because this is an error codepath, the easiest is to disable the optimization. The second patch application is attempted even when the input is corrupt, and it will notice, diagnose, and stop with an error message. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 13 3月, 2010 2 次提交
-
-
由 Thomas Rast 提交于
Luckily, all the support already happens to be there. Signed-off-by: NThomas Rast <trast@student.ethz.ch> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Thomas Rast 提交于
We have to deal with two separate code paths: a normal rebase, which actually goes through git-am; and rebase {-m|-s}. The only small issue with both is that they need to remember the original sha1 across a possible conflict resolution. rebase -m already puts this information in $dotest/current, and we just introduce a similar file for git-am. Note that in git-am, the hook really only runs when coming from git-rebase: the code path that sets the $dotest/original-commit file is guarded by a test for $dotest/rebasing. Signed-off-by: NThomas Rast <trast@student.ethz.ch> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 01 3月, 2010 2 次提交
-
-
由 Stefan-W. Hahn 提交于
This patch adds the configuration `am.keepcr` for git-am. It also adds `--no-keep-cr` parameter for git-am to give the possibility to override configuration from command line. Signed-off-by: NStefan-W. Hahn <stefan.hahn@s-hahn.de> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Stefan-W. Hahn 提交于
c2ca1d79 (Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings, 2009-08-04) fixed "git mailsplit" to help people with MUA whose output from save-as command uses CRLF as line terminators by stripping CR at the end of lines. However, when you know you are feeding output from "git format-patch" directly to "git am", and especially when your contents have CR at the end of line, such stripping is undesirable. To help such a use case, teach --keep-cr option to "git am" and pass that to "git mailinfo". Signed-off-by: NStefan-W. Hahn <stefan.hahn@s-hahn.de> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 24 2月, 2010 1 次提交
-
-
由 Jonathan Nieder 提交于
When git am does an automatic gc it doesn't clean up the rebase-apply directory until after this has finished. This means that if the user aborts the gc then future am or rebase operations will report that an existing operation is in progress, which is undesirable and confusing. Reported by Mark Brown <broonie@debian.org> through http://bugs.debian.org/570966Signed-off-by: NJonathan Nieder <jrnieder@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 15 2月, 2010 1 次提交
-
-
由 Jonathan Nieder 提交于
The pagination functionality in git am has some problems: - It does not check if stdout is a tty, so it always paginates. - If $GIT_PAGER uses any environment variables, they are being ignored, since it does not run $GIT_PAGER through eval. - If $GIT_PAGER is set to the empty string, instead of passing output through to stdout, it tries to run $dotest/patch. Fix them. While at it, move the definition of git_pager() to git-sh-setup so authors of other commands are not tempted to reimplement it with the same mistakes. Signed-off-by: NJonathan Nieder <jrnieder@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 12 2月, 2010 1 次提交
-
-
由 Jeff King 提交于
Rebase calls this same function "--continue", which means users may be trained to type it. There is no reason to deprecate --resolved (or -r), so we will keep it as a synonym. Signed-off-by: NJeff King <peff@peff.net> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 26 1月, 2010 1 次提交
-
-
由 Stephen Boyd 提交于
The patch detection wants to inspect all the headers of a rfc2822 message and ensure that they look like header fields. The headers are always separated from the message body with a blank line. When Thunderbird saves the message the blank line separating the headers from the body includes a CR. The patch detection is failing because a CRLF doesn't match /^$/. Fix this by allowing a CR to exist on the separating line. Signed-off-by: NStephen Boyd <bebarino@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 04 12月, 2009 1 次提交
-
-
由 Junio C Hamano 提交于
Introduce a command line option to override rerere.autoupdate configuration variable to make it more useful. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 28 11月, 2009 1 次提交
-
-
由 Junio C Hamano 提交于
Ever since the initial implementation, "git am" had kept a dead code that never triggered due to a typo in the variable name. Worse yet, the code, if it weren't for the typo, would have attempted to add "[PATCH] " at the beginning of the Subject: header when "git am" is run with its "-k" option. However, because "git am -k" tells mailinfo to keep such prefix when parsing the input, the "[PATCH] " added by this dead code would have really been unnecessary duplicate. Embarrassing is that we kept _maintaining_ the codepath without anybody noticing for four years. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 24 11月, 2009 1 次提交
-
-
由 Junio C Hamano 提交于
If the user has exported the GREP_OPTIONS environment variable, the output from "grep" and "egrep" in scripted Porcelains may be different from what they expect. For example, we may want to count number of matching lines, by "grep" piped to "wc -l", and GREP_OPTIONS=-C3 will break such use. The approach taken by this change to address this issue is to protect only our own use of grep/egrep. Because we do not unset it at the beginning of our scripts, hook scripts run from the scripted Porcelains are exposed to the same insanity this environment variable causes when grep/egrep is used to implement logic (e.g. "grep | wc -l"), and it is entirely up to the hook scripts to protect themselves. On the other hand, applypatch-msg hook may want to show offending words in the proposed commit log message using grep to the end user, and the user might want to set GREP_OPTIONS=--color to paint the match more visibly. The approach to protect only our own use without unsetting the environment variable globally will allow this use case. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 21 11月, 2009 1 次提交
-
-
由 Lukas Sandström 提交于
When we are rebasing we know that the header lines in the patch are good and that we don't need to pick up any headers from the body of the patch. This makes it possible to rebase commits whose commit message start with "From" or "Date". Test vectors by Jeff King. Signed-off-by: NLukas Sandström <luksan@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 14 11月, 2009 1 次提交
-
-
由 Jonathan Nieder 提交于
Use the new "git var GIT_PAGER" command to ask what pager to use. Without this change, the core.pager configuration is ignored by these commands. Signed-off-by: NJonathan Nieder <jrnieder@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 26 9月, 2009 2 次提交
-
-
由 Christian Himpel 提交于
According to egrep(1) the US-ASCII table is used when LC_ALL=C is set. We do not rely here on the LC_ALL value we get from the environment. Signed-off-by: NChristian Himpel <chressie@gmail.com> Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
-
由 Christian Himpel 提交于
RFC2822 specifies in paragraph 3.6.8, that optional header fields are made up of any printable US-ASCII character except ' ' (space) and ':' (colon). The pattern for the egrep command is changed to match all of these characters. Signed-off-by: NChristian Himpel <chressie@gmail.com> Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
-
- 27 8月, 2009 1 次提交
-
-
由 Junio C Hamano 提交于
You can enable it by giving --scissors to "git am". Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 11 8月, 2009 2 次提交
-
-
由 Nicolas Sebrecht 提交于
Avoid git ending with this message: "Patch format is not supported." With improved error message in the format detection failure case by Giuseppe Bilotta. Signed-off-by: NNicolas Sebrecht <ni.s@laposte.net> Signed-off-by: NBrandon Casey <drafnel@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Junio C Hamano 提交于
We traditionally allowed a mbox file or a directory name of a maildir (but never an individual file inside a maildir) to be given to "git am". Even though an individual file in a maildir (or more generally, a piece of RFC2822 e-mail) is not a mbox file, it contains enough information to create a commit out of it, so there is no reason to reject one. Running mailsplit on such a file feels stupid, but it does not hurt. This builds on top of a5a6755a (git-am foreign patch support: introduce patch_format, 2009-05-27) that introduced mailbox format detection. The codepath to deal with a mbox requires it to begin with "From " line and also allows it to begin with "From: ", but a random piece of e-mail can and often do begin with any valid RFC2822 header lines. Instead of checking the first line, we extract all the lines up to the first empty line, and make sure they look like e-mail headers. A test is added to t4150 to demonstrate this feature. Signed-off-by: NJunio C Hamano <gitster@pobox.com> Signed-off-by: NBrandon Casey <drafnel@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 07 8月, 2009 2 次提交
-
-
由 Nicolas Sebrecht 提交于
Avoid git ending with this message: "Patch format is not supported." With improved error message in the format detection failure case by Giuseppe Bilotta. Signed-off-by: NNicolas Sebrecht <ni.s@laposte.net> Signed-off-by: NBrandon Casey <drafnel@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Junio C Hamano 提交于
We traditionally allowed a mbox file or a directory name of a maildir (but never an individual file inside a maildir) to be given to "git am". Even though an individual file in a maildir (or more generally, a piece of RFC2822 e-mail) is not a mbox file, it contains enough information to create a commit out of it, so there is no reason to reject one. Running mailsplit on such a file feels stupid, but it does not hurt. This builds on top of a5a6755a (git-am foreign patch support: introduce patch_format, 2009-05-27) that introduced mailbox format detection. The codepath to deal with a mbox requires it to begin with "From " line and also allows it to begin with "From: ", but a random piece of e-mail can and often do begin with any valid RFC2822 header lines. Instead of checking the first line, we extract all the lines up to the first empty line, and make sure they look like e-mail headers. A test is added to t4150 to demonstrate this feature. Signed-off-by: NJunio C Hamano <gitster@pobox.com> Signed-off-by: NBrandon Casey <drafnel@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 06 8月, 2009 2 次提交
-
-
由 Junio C Hamano 提交于
It is not that uncommon to have mails with DOS line-ending, notably Thunderbird and web mailers like Gmail (when saving what they call "original" message). So modify mailsplit to convert CRLF line-endings to just LF. Since git-rebase is built on top of git-am, add an option to mailsplit to be used by git-am when it is acting on behalf of git-rebase, to refrain from doing this conversion. And add a test to make sure that rebase still works. Signed-off-by: NBrandon Casey <drafnel@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Giuseppe Bilotta 提交于
Introduce --ignore-whitespace option and corresponding config bool to ignore whitespace differences while applying patches, akin to the 'patch' program. 'git am', 'git rebase' and the bash git completion are made aware of this option. Signed-off-by: NGiuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 19 6月, 2009 2 次提交
-
-
由 Stephen Boyd 提交于
git-am and git-rebase are talkative scripts. Teach them to be quiet when told, allowing them to speak only when they fail or experience errors. The quiet option is maintained when git-am or git-rebase fails to apply a patch. This means subsequent --resolved, --continue, --skip, --abort invocations will be quiet if the original invocation was quiet. Drop a handful of >&2 redirection; the rest of the program sends all the info messages to stdout, not to stderr. Signed-off-by: NStephen Boyd <bebarino@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Stephen Boyd 提交于
git-am with 3-way outputs errors when applying, even though the 3-way will usually be successful. We suppress these errors from git-apply because they are not "true" errors until the 3-way has been attempted. Signed-off-by: NStephen Boyd <bebarino@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 14 6月, 2009 1 次提交
-
-
由 Giuseppe Bilotta 提交于
Introduce a clean_abort function that echoes an optional error message to standard error, removes the dotest directory and exits with status 1. Use it when patch format detection or patch splitting fails early. Signed-off-by: NGiuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 29 5月, 2009 3 次提交
-
-
由 Giuseppe Bilotta 提交于
Support StGIT patches by implementing a simple perl-based converter mimicking StGIT's own parse_patch. Also support StGIT patch series by 'exploding' the index into a list of files and re-running the mail splitting with patch_format set to stgit. Signed-off-by: NGiuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Giuseppe Bilotta 提交于
Default to mbox format if input is from stdin. Otherwise, look at the first few lines of the first patch to try to guess its format. Include checks for mailboxes, stgit patch series, stgit single patches and hg patches. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Giuseppe Bilotta 提交于
Set up a framework to allow git-am to support patches which are not in mailbox format. Introduce a patch_format variable that presently can only be set from the command line, defaulting to 'mbox' (the only supported format) if not specified. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 10 5月, 2009 1 次提交
-
-
由 Christian Couder 提交于
Signed-off-by: NChristian Couder <chriscool@tuxfamily.org> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 19 4月, 2009 1 次提交
-
-
由 Ben Jackson 提交于
Ash (used as /bin/sh on many distros) has a shell expansion bug for the form ${var:+word word}. The result is a single argument "word word". Work around by using ${var:+word} ${var:+word} or equivalent. Signed-off-by: NBen Jackson <ben@ben.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 13 4月, 2009 1 次提交
-
-
由 Nanako Shiraishi 提交于
People sometimes wonder why they cannot apply a patch that only creates new files to an unborn branch. Signed-off-by: NNanako Shiraishi <nanako3@lavabit.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 27 2月, 2009 2 次提交
-
-
由 Junio C Hamano 提交于
When you are in the middle of "git rebase", "git am --abort" by mistake would have referred to nonexistent ORIG_HEAD and barfed, or worse yet, used a stale ORIG_HEAD and taken you to an unexpected commit. Also the option parsing did not reject "git am --abort --skip". Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Michael J Gruber 提交于
git am --abort resets the index unconditionally. But in case a previous git am exited due to a dirty index it is preferable to keep that index. Make it so. Signed-off-by: NMichael J Gruber <git@drmicha.warpmail.net> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 29 1月, 2009 1 次提交
-
-
由 Jay Soffian 提交于
Update usage statement to remove a no-longer supported option, and to hide two options (one a no-op, one internal) unless --help-all is used. Use "test -t 0" instead of "tty -s" to detect when stdin is a terminal. (test -t 0 is used elsewhere in git-am and in other git shell scripts, tty -s is not, and appears to be deprecated by POSIX) Use "test ..." instead of "[ ... ]" and "die <msg>" instead of "echo <msg> >&2; exit 1" to be consistent with rest of script. Signed-off-by: NJay Soffian <jaysoffian@gmail.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 26 1月, 2009 2 次提交
-
-
由 Nanako Shiraishi 提交于
This new option tells 'git-am' to ignore the date header field recorded in the format-patch output. The commits will have the timestamp when they are created instead. You can work a lot in one day to accumulate many changes, but apply and push to the public repository only some of them at the end of the first day. Then next day you can spend all your working hours reading comics or chatting with your coworkers, and apply your remaining patches from the previous day using this option to pretend that you have been working at the end of the day. Signed-off-by: Nしらいしななこ <nanako3@lavabit.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
由 Junio C Hamano 提交于
This new option tells 'git-am' to use the timestamp recorded in the Email message as both author and committer date. Signed-off-by: Nしらいしななこ <nanako3@lavabit.com> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 24 1月, 2009 1 次提交
-
-
由 martin f. krafft 提交于
With --reject, git-am simply passes the --reject option to git-apply and thus allows people to work with reject files if they so prefer. Signed-off-by: Nmartin f. krafft <madduck@madduck.net> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 19 1月, 2009 1 次提交
-
-
由 Junio C Hamano 提交于
The $FIRSTLINE variable is from the user's commit and can contain arbitrary backslash escapes that may be (mis)interpreted when given to "echo", depending on the implementation. Use "printf" to work around the issue. Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-
- 18 1月, 2009 1 次提交
-
-
由 Jonas Flodén 提交于
When git-am fails it's not always easy to see which patch failed, since it's often hidden by a lot of error messages. Add an extra line which prints the name of the failed patch just before the resolve message to make it easier to find. Signed-off-by: NJonas Flodén <jonas@floden.nu> Signed-off-by: NJunio C Hamano <gitster@pobox.com>
-