aboutsummaryrefslogtreecommitdiff
path: root/git-am.sh
Commit message (Collapse)AuthorAge
* Merge branch 'jc/apply'Junio C Hamano2006-05-17
|\ | | | | | | | | | | | | * jc/apply: git-am: use apply --cached apply --cached: apply a patch without using working tree. apply --numstat: show new name, not old name.
| * git-am: use apply --cachedJunio C Hamano2006-05-15
| | | | | | | | | | | | | | | | Now 'git apply' can apply patch without working tree, preparation of pristine preimage and postimage trees that are done when falling back on 3-way merge by "git am" can do so without temporary files. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Make git rebase interactive help match documentation.Sean2006-05-14
|/ | | | | Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Give the user a hint for how to continue in the case that git-am fails ↵Robert Shearman2006-05-02
| | | | | | | | | | because it requires user intervention Give the user a hint for how to continue in the case that git-am fails because it requires user intervention. Signed-off-by: Robert Shearman <rob@codeweaves.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am --resolved: more usable error message.Junio C Hamano2006-04-28
| | | | | | | | | | | | | After doing the hard work of hand resolving the conflicts in the working tree, if the user forgets to run update-index to mark the paths that have been resolved, the command gave an unfriendly "fatal: git-write-tree: not able to write tree" error message. Catch the situation early and give more meaningful message and suggestion. Noticed and suggested by Len Brown. Signed-off-by: Junio C Hamano <junkio@cox.net>
* war on whitespaces: documentation.Junio C Hamano2006-03-02
| | | | | | | We were missing the --whitespace option in the usage string for git-apply and git-am, so this commit adds them. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: --whitespace=x option.Junio C Hamano2006-02-28
| | | | | | | This is passed down to git-apply to override the built-in default and per-repository configuration at runtime. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: do not allow empty commits by mistake.Junio C Hamano2006-02-23
| | | | | | | | | Running "git-am --resolved" without doing anything can create an empty commit. Prevent it. Thanks for Eric W. Biederman for spotting this. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Keep Porcelainish from failing by broken ident after making changes.Junio C Hamano2006-02-22
| | | | | | | | | | | | | | | | | "empty ident not allowed" error makes commit-tree fail, so we are already safer in that we would not end up with commit objects that have bogus names on the author or committer fields. However, before commit-tree is called there are already changes made to the index file and the working tree. The operation can be resumed after fixing the environment problem, but when this triggers to a newcomer with unusable gecos, the first question becomes "what did I lose and how would I recover". This patch modifies some Porcelainish commands to verify GIT_COMMITTER_IDENT as soon as we know we are going to make some commits before doing much damage to prevent confusion. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Only call git-rerere if $GIT_DIR/rr-cache exists.Junio C Hamano2006-02-11
| | | | | | | Johannes noticed that git-rerere depends on Digest.pm, and if one does not use the command, one can live without it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-rerere: reuse recorded resolve.Junio C Hamano2006-02-06
| | | | | | | | | | | | | | | In a workflow that employs relatively long lived topic branches, the developer sometimes needs to resolve the same conflict over and over again until the topic branches are done (either merged to the "release" branch, or sent out and accepted upstream). This commit introduces a new command, "git rerere", to help this process by recording the conflicted automerge results and corresponding hand-resolve results on the initial manual merge, and later by noticing the same conflicted automerge and applying the previously recorded hand resolution using three-way merge. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix git-am --skipJan Harkes2005-12-16
| | | | | | | | | | | | | | | | | | | git-am --skip does not unpack the next patch and ends up reapplying the old patch, believing that it is the new patch in the sequence. If the old patch applied successfully it will commit it with the supposedly skipped log message and ends up dropping the following patch. If the patch did not apply the user is left with the conflict he tried to skip and has to unpack the next patch in the sequence by hand to get git-am back on track. By clearing the resume variable whenever skips bumps the sequence counter we correctly unpack the next patch. I also added another resume= in the case a patch file is missing from the sequence to avoid the same problem when a file in the sequence was removed. Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* mailinfo and git-am: allow "John Doe <johndoe>"Junio C Hamano2005-12-14
| | | | | | | | | | An isolated developer could have a local-only e-mail, which will be stripped out by mailinfo because it lacks '@'. Define a fallback parser to accomodate that. At the same time, reject authorless patch in git-am. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'hold/am'Junio C Hamano2005-12-14
|\
| * git-am support for naked email messages (take 2)H. Peter Anvin2005-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows git-am to accept single-message files as well as mboxes. Unlike the previous version, this one doesn't need to be explicitly told which one it is; rather, it looks to see if the first line is a From line and uses it to select mbox mode or not. I moved the logic to do all this into git-mailsplit, which got a new user interface as result, although the old interface is still available for backwards compatibility. [jc: applied with two obvious fixes.] Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-am: Usage string clean-upfreku045@student.liu.se2005-12-14
|/ | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use printf rather than echo -n.Jason Riedy2005-12-06
| | | | | | | | | | | | | | | | | | On AIX, there is no -n option to the system's echo. Instead, it needs the '\c' control character. We could replace echo -n "foo" with echo -e "foo\c" but printf is recommended by most man pages. Tested on AIX 5.3, Solaris 8, and Debian. [jc: futureproofed two instances that uses variable with '%s' so later feeding different messages would not break things too easily; others are emitting literal so whoever changes the literal ought to notice more easily so they are safe.] Signed-off-by: E. Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-sh-setup: die if outside git repository.Junio C Hamano2005-11-25
| | | | | | | | Now all the users of this script detect its exit status and die, complaining that it is outside git repository. So move the code that dies from all callers to git-sh-setup script. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: --binary; document --resume and --binary.Junio C Hamano2005-11-17
| | | | | | | | | | | Now git-apply can grok binary replacement patches, give --binary flag to git-am. As a safety measure, this is not by default enabled, so that you do not let malicious e-mailed patch to replace an arbitrary path with just a couple of lines (diff index lines, the filename and string "Binary files "...) by accident. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: --resolved.Junio C Hamano2005-11-16
| | | | | | | | | | | | After failed patch application, you can manually apply the patch (this includes resolving the conflicted merge after git-am falls back to 3-way merge) and run git-update-index on necessary paths to prepare the index file in a shape a successful patch application should have produced. Then re-running git-am --resolved would record the resulting index file along with the commit log information taken from the patch e-mail. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: do not lose already edited final-commit when resuming.Junio C Hamano2005-11-08
| | | | | | | The last round stopped munging the patch when resuming, but failed to preserve final-commit. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add [v]iew patch in git-am interactive.Junio C Hamano2005-10-25
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: make it easier after fixing up an unapplicable patch.Junio C Hamano2005-10-25
| | | | | | | Instead of having the user to edit the mail message, let the hand merge result stored in .dotest/patch and continue, which is easier to manage. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix missing exports in git-amJunio C Hamano2005-10-20
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* Update git-apply to use C-style quoting for funny pathnames.Junio C Hamano2005-10-17
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: do not fail if 3-way fallback succeeds.Junio C Hamano2005-10-13
| | | | | | The current one incorrectly stops there without committing. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-am: interactive should fail gracefully.Junio C Hamano2005-10-12
| | | | | | | | When feeding patches from standard input, and --interactive is specified, quit, so that the user can re-run the command, instead of infinitely looping. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add git-am, applymbox replacement.Junio C Hamano2005-10-07
It reorganizes the code and also has saner command line options syntax. Unlike git-applymbox, it can take more than one mailbox file from the command line, as well as reading from the standard input when '-' is specified. Signed-off-by: Junio C Hamano <junkio@cox.net>