path: root/git-resolve-script
AgeCommit message (Collapse)Author
2005-09-08Big tool rename.Junio C Hamano
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <>
2005-09-02scripts: equality test '==' is not portable.Junio C Hamano
On NetBSD 3 we trigger an error: [: ==: unexpected operator Double-equal is accepted by bash built-in '[' and bash(1) suggests using '=' for strict POSIX compliance (test(1) from coreutils does not mention '=='). Eradicate their uses everywhere. [jc: Somebody with a pseudonym kindly sent a message to let me know about the problem privately; I do not have access to a NetBSD box.] Signed-off-by: Junio C Hamano <>
2005-08-24Try to find the optimum merge base while resolving.Junio C Hamano
The merge-base command acquires a new option, '--all', that causes it to output all the common ancestor candidates. The "git resolve" command then uses it to pick the optimum merge base by picking the one that results in the smallest number of nontrivial merges. Signed-off-by: Junio C Hamano <>
2005-08-20git-resolve: dying is good, not showing help is bad.Junio C Hamano
Recent change to make sure we get commit, not tag, accidentally removed its feature of giving a usage help message when it died. Signed-off-by: Junio C Hamano <>
2005-08-14[PATCH] Make sure git-resolve-script always works on commitsLinus Torvalds
You can resolve a tag, and it does the right thing except that it might end up writing the tag itself into the resulting HEAD, which will confuse subsequent operations no end. This makes sure that when we resolve two heads, we will have turned them into proper commits before we start acting on them. This also fixes the parsing of "treeish^0", which would incorrectly resolve to "treeish" instead of causing an error. Signed-off-by: Linus Torvalds <> Signed-off-by: Junio C Hamano <>
2005-07-23[PATCH] Audit rev-parse users.Junio C Hamano
This patch changes rev-parse users that pass a single argument that is supposed to be a rev parameter to use "--verify". Signed-off-by: Junio C Hamano <> Signed-off-by: Junio C Hamano <>
2005-07-09Make "git resolve" take the merge message in $3Linus Torvalds
It used to do "Merge $3" as the message, but that ends up being inconvenient, and much more easily done inside git-pull-script instead. This makes the third argument to "git resolve" much easier to explain.
2005-07-08Add "git-sh-setup-script" for common git shell script setupLinus Torvalds
It sets up the normal git environment variables and a few helper functions (currently just "die()"), and returns ok if it all looks like a git archive. So use it something like . git-sh-setup-script || die "Not a git archive" to make the rest of the git scripts more careful and readable.
2005-06-21Clean up different special *HEAD handlingLinus Torvalds
We codify the following different heads (in addition to the main "HEAD", which points to the current branch, of course): - FETCH_HEAD Populated by "git fetch" - ORIG_HEAD The old HEAD before a "git pull/resolve" (successful or not) - LAST_MERGE The HEAD we're currently merging in "git pull/resolve" - MERGE_HEAD The previous head of a unresolved "git pull", which gets committed by a "git commit" after manually resolving the result We used to have "MERGE_HEAD" be populated directly by the fetch, and we removed ORIG_HEAD and LAST_MERGE too aggressively.
2005-06-20[PATCH] git-resolve-script: Add LAST_MERGE and use git-rev-parseDan Holmsand
Make git-resolve-script only write MERGE_HEAD if a merge actually occurred. All merge failures leave ORIG_HEAD and LAST_MERGE behind (instead of ORIG_HEAD and MERGE_HEAD). Use git-rev-parse to expand arguments (and check for bad ones). Signed-off-by: Dan Holmsand <> Signed-off-by: Linus Torvalds <>
2005-06-20Clean up MERGE_HEAD and ORIG_HEAD also for the trivial fast-forward merges.Linus Torvalds
Otherwise you'll be bitten by a stale MERGE_HEAD like Jeff was..
2005-06-15Trivial git script fixupsLinus Torvalds
Fix permissions, and add trivial "reset" and "add" scripts. The "reset" script just resets the index back to head, while the "add" script is just a crutch for people used to do "cvs add".
2005-06-08Make "git commit" work correctly in the presense of a manual mergeLinus Torvalds
This has gotten only very light testing, but something like this is clearly necessary and did the right thing for the one case I threw at it.
2005-06-08Make default merge messages denser.Linus Torvalds
In particular, make them readable on one line since that's what all the tools like git-shortlog and gitk end up showing.
2005-06-07git-resolve-script: stop when the automated merge failsLinus Torvalds
No point in doing a tree write that will just throw confusing messages on the screen.
2005-06-07git-resolve-script: don't wait for three seconds any moreLinus Torvalds
We used to overwrite peoples dirty state. We don't any more. So don't print the scary message and don't delay, just do the update already.
2005-06-06More work on merging with git-read-tree..Linus Torvalds
Add a "-u" flag to update the tree as a result of a merge. Right now this code is way too anal about things, and fails merges it shouldn't, but let me fix up the different cases and this will allow for much smoother merging even in the presense of dirty data in the working tree.
2005-06-06git-read-tree: be a lot more careful about merging dirty treesLinus Torvalds
We don't want to overwrite state that we haven't committed yet when merging, so it's better to make git-read-tree fail than end up with a merge tree that ends up not having the dirty changes. Update git-resolve-script to fail cleanly when git-read-tree fails.
2005-05-31git-resolve-script: use "git-apply --stat" instead of diffstatLinus Torvalds
Not everybody necessarily even has diffstat installed.
2005-05-25[PATCH] optimize git-resolve-scriptJeff Garzik
This change was suggested for my git-switch-tree script, and the same issues apply to core git's git-resolve-script as well.
2005-05-10Introduce GIT_DIR environment variable.Junio C Hamano
During the mailing list discussion on renaming GIT_ environment variables, people felt that having one environment that lets the user (or Porcelain) specify both SHA1_FILE_DIRECTORY (now GIT_OBJECT_DIRECTORY) and GIT_INDEX_FILE for the default layout would be handy. This change introduces GIT_DIR environment variable, from which the defaults for GIT_INDEX_FILE and GIT_OBJECT_DIRECTORY are derived. When GIT_DIR is not defined, it defaults to ".git". GIT_INDEX_FILE defaults to "$GIT_DIR/index" and GIT_OBJECT_DIRECTORY defaults to "$GIT_DIR/objects". Special thanks for ideas and discussions go to Petr Baudis and Daniel Barkalow. Bugs are mine ;-) Signed-off-by: Junio C Hamano <>
2005-05-05Fix git-resolve-script.Linus Torvalds
I'd stupidly forgotten one merge_head -> merge conversion, and all my tests were for the fast-forward case that never triggered the bug.
2005-05-05Split "git-pull-script" into two partsLinus Torvalds
Separate out the merge resolve from the actual getting of the data. Also, update the resolve phase to take advantage of the fact that we don't need to do the commit->tree object lookup by hand, since all the actors involved happily just act on a commit object these days.