aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* [PATCH] Add "git-update-ref" to update the HEAD (or other) refLinus Torvalds2005-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a careful version of the script stuff that currently just blindly writes HEAD with a new value. You can use git-update-ref HEAD <newhead> or git-update-ref HEAD <newhead> <oldhead> where the latter version verifies that the old value of HEAD matches oldhead. It basically allows a "ref" file to be a symbolic pointer to another ref file by starting with the four-byte header sequence of "ref:". More importantly, it allows the update of a ref file to follow these symbolic pointers, whether they are symlinks or these "regular file symbolic refs". NOTE! It follows _real_ symlinks only if they start with "refs/": otherwise it will just try to read them and update them as a regular file (ie it will allow the filesystem to follow them, but will overwrite such a symlink to somewhere else with a regular filename). In general, using git-update-ref HEAD "$head" should be a _lot_ safer than doing echo "$head" > "$GIT_DIR/HEAD" both from a symlink following standpoint _and_ an error checking standpoint. The "refs/" rule for symlinks means that symlinks that point to "outside" the tree are safe: they'll be followed for reading but not for writing (so we'll never write through a ref symlink to some other tree, if you have copied a whole archive by creating a symlink tree). Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Clean generated files a bit more.Junio C Hamano2005-09-24
| | | | | | | | Now we conditionally compile things in compat/, so we should remove object files there. Python execution can leave *.pyc and *.pyo, which need to be cleaned as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Stop installing the backward compatible symlinks.Junio C Hamano2005-09-24
| | | | | | | | | | Also cmd-renames.sh can now be used to remove the backward compatible symlinks -- this is not used by default in any way. As discussed on the list with Pasky, git-ssh-push and git-ssh-pull will keep calling each other for a while longer. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use 0.99.7.GIT as version between 0.99.7 and 0.99.8Junio C Hamano2005-09-24
| | | | | | | Pasky taught me how he does his versioning for ELinks. This will sort after 0.99.7 and interim fixes 0.99.7a, and before 0.99.8. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Solaris: give a bit more built-in defaults.Junio C Hamano2005-09-24
| | | | | | | Taking the make command line Peter Eriksen uses, give defaults to SHELL_PATH, TAR, CURLDIR, NO_STRCASESTR, and INSTALL. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] CURLDIR in MakefilePatrick Mauritz2005-09-24
| | | | | | | | Support systems that do not install curl headers and libraries in /usr/{include,lib}. Signed-off-by: Patrick Mauritz <oxygene@studentenbude.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Prettyprint octopus merge message.Junio C Hamano2005-09-22
| | | | | | | | Including the current branch in the list of heads being merged was not a good idea, so drop it. And shorten the message by grouping branches and tags together to form a single line. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Retire diff-helper.Junio C Hamano2005-09-22
| | | | | | | The textual diff generation with built-in '-p' in diff-* brothers has proven to be useful enough that git-diff-helper outlived its usefulness. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Retire rev-tree.Junio C Hamano2005-09-22
| | | | | | | | Some old scripts might still use git-rev-tree, but it really is clearly inferior in every way to git-rev-list that such scripts should be fixed anyway. Fixing them should be pretty easy. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Retire git-export.Junio C Hamano2005-09-22
| | | | | | | | | | | | git-export was done as a concept example on how easy it is to export the git data to something else. It's much less powerful than any number of trivial one-liner scripts now, and real exporters would not ever use git-export. It's obviously much less powerful than "git-whatchanged", or just about any combination of git-rev-list + git-diff-tree. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] ARM optimized SHA1 implementationNicolas Pitre2005-09-20
| | | | | | | | | | | | | | | | | | | This is my ARM assembly SHA1 implementation for GIT. It is approximately 50% faster than the generic C version. On an XScale processor running at 400MHz: generic C version: 9.8 MB/s my version: 14.5 MB/s It's not that I expect a lot of big GIT users on ARM, but I stillknow about one important ARM user that might benefit from it, and writing that code was fun. I also reworked the makefile a bit so any optimized SHA1 implementations is used regardless of whether NO_OPENSSL is defined or not. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Ship our own copy of subprocess.pyJunio C Hamano2005-09-19
| | | | | | so people without the latest Python could run merge-recursive. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] strcasestr compatibility replacementLinus Torvalds2005-09-19
| | | | | | | | | | Some C libraries lack strcasestr(); add a stupid replacement to help folks with such. [jc: original Linus posting, updated with his "also need <ctype.h>", updated further with a fix from Joachim B Haga <cjhaga@fys.uio.no>"] Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'master' of .Junio C Hamano2005-09-18
|\
| * [PATCH] getdomainname should be usable on SunOS with -lnslJunio C Hamano2005-09-17
| | | | | | | | | | | | | | Jason Riedy suggests that we should be able to use getdomainname if we properly specify which libraries to link. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Be more backward compatible with git-ssh-{push,pull}.Junio C Hamano2005-09-15
| | | | | | | | | | | | | | | | HPA reminded me that these programs knows about the name of the counterpart on the other end and simply symlinking the old name to new name locally would not be enough. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Retire info/rev-cacheJunio C Hamano2005-09-15
| | | | | | | | | | | | | | It was one of those things that were well intentioned but did not turn out to be useful in practice. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * [PATCH] Use '-d' as the first flag to 'install'Peter Eriksen2005-09-15
| | | | | | | | | | | | | | | | | | ... in order to please Solaris 'install'. GNU install is not harmed with this. [jc: Documentation/Makefile also fixed.] Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'master' of . Junio C Hamano2005-09-13
|\ \ | |/
| * [PATCH] Rename the 'fredrik' merge strategy to 'recursive'.Fredrik Kuivinen2005-09-13
| | | | | | | | | | | | | | | | Otherwise we would regret when Fredrik comes up with another merge algorithm with different pros-and-cons with the current one. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'master' of . Junio C Hamano2005-09-12
|\ \ | |/
| * [PATCH] Add "git grep" helperLinus Torvalds2005-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Very convenient shorthand for git-ls-files [file-patterns] | xargs grep <pattern> which I tend to do all the time. Yes, it's trivial, but it's really nice. I can do git grep '\<some_variable\>' arch/i386 include/asm-i386 and it does exactly what you'd think it does. And since it just uses the normal git-ls-files file patterns, you can do things like git grep something 'include/*.h' and it will search all header files under the include/ subdirectory. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Prepare 0.99.7 release candidate branch.Junio C Hamano2005-09-10
|/ | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add a new merge strategy by Fredrik Kuivinen.Junio C Hamano2005-09-10
| | | | | | | | | | | I really wanted to try this out, instead of asking for an adjustment to the 'git merge' driver and waiting. For now the new strategy is called 'fredrik' and not in the list of default strategies to be tried. The script wants Python 2.4 so this commit also adjusts Debian and RPM build procecure files. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use Daniel's read-tree in the merge strategy 'resolve'.Junio C Hamano2005-09-10
| | | | | | And rename the one Linus kept calling stupid, 'stupid'. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Multi-backend merge driver.Junio C Hamano2005-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new command 'git merge' takes the current head and one or more remote heads, with the commit log message for the automated case. If the heads being merged are simple fast-forwards, it acts the same way as the current 'git resolve'. Otherwise, it tries different merge strategies and takes the result from the one that succeeded auto-merging, if there is any. If no merge strategy succeeds auto-merging, their results are evaluated for number of paths needed for hand resolving, and the one with the least number of such paths is left in the working tree. The user is asked to resolve them by hand and make a commit manually. The calling convention from the 'git merge' driver to merge strategy programs is very simple: - A strategy program is to be called 'git-merge-<strategy>'. - They take input of this form: <common1> <common2> ... '--' <head> <remote1> <remote2>... That is, one or more the common ancestors, double dash, the current head, and one or more remote heads being merged into the current branch. - Before a strategy program is called, the working tree is matched to the current <head>. - The strategy program exits with status code 0 when it successfully auto-merges the given heads. It should do update-cache for all the merged paths when it does so -- the index file will be used to record the merge result as a commit by the driver. - The strategy program exits with status code 1 when it leaves conflicts behind. It should do update-cache for all the merged paths that it successfully auto-merged, and leave the cache entry in the index file as the same as <head> for paths it could not auto-merge, and leave its best-effort result with conflict markers in the working tree when it does so. - The strategy program exists with status code other than 0 or 1 if it does not handle the given merge at all. As examples, this commit comes with merge strategies based on 'git resolve' and 'git octopus'. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Retire support for old environment variables.Junio C Hamano2005-09-09
| | | | | | | | | | We have deprecated the old environment variable names for quite a while and now it's time to remove them. Gone are: SHA1_FILE_DIRECTORIES AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME COMMIT_AUTHOR_EMAIL COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] remove duplicate git-send-email-script.perl target in MakefileMarco Roeland2005-09-09
| | | | | | | | | | | Remove duplicate git-send-email-perl target in Makefile. When WITH_SEND_EMAIL was defined, as in the Debian 'deb' target, git-send-email-perl was added twice to SCRIPT_PERL, leading to a duplicate definition in the Makefile. Creating a ".deb" then failed. Signed-off-by: Marco Roeland <marco.roeland@xs4all.nl> Signed-off-by: Junio C Hamano <junkio@cox.net>
* 'build' scripts before installing.Junio C Hamano2005-09-08
| | | | | | | | | | | | | Earlier we renamed git-foo.sh to git-foo while installing, which was mostly done by inertia than anything else. This however made writing tests to use scripts harder. This patch builds the scripts the same way as we build binaries from their sources. As a side effect, you can now specify non-standard paths you have your Perl binary is in when running the make. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git --version tells which version of git you have.Junio C Hamano2005-09-07
| | | | | | | Originally from Martin Atukunda <matlads@dsmagic.com> but adjusted for post-rename code. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Portability fix for Solaris 10/x86Patrick Mauritz2005-09-07
| | | | | | | | | | | | | * getdomainname unavailable there. * needs -lsocket for linkage. * needs __EXTENSIONS__ at the beginning of convert-objects.c [JC: I've done this slightly differently from what Patrick originally sent to the list and dropped the bit that deals with installations that has curl header and library at non-default location. I am resisting the slipperly slope called autoconf.] Signed-off-by: Junio C Hamano <junkio@cox.net>
* Big tool rename.Junio C Hamano2005-09-07
| | | | | | | | | | | | | | | | | | | 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 <junkio@cox.net>
* GIT 0.99.6v0.99.6Junio C Hamano2005-09-07
|\
| * Merge branch 'master' of . Junio C Hamano2005-09-05
| |\
| * \ Merge refs/heads/master from . Junio C Hamano2005-08-29
| |\ \
| * \ \ Merge master branch changes into release candidate branch.Junio C Hamano2005-08-26
| |\ \ \ | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | Prepare 0.99.6 branch.Junio C Hamano2005-08-24
| | | | |
* | | | | Flatten tools/ directory to make build procedure simpler.Junio C Hamano2005-09-07
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also make platform specific part more isolated. Currently we only have Darwin defined, but I've taken a look at SunOS specific patch (which I dropped on the floor for now) as well. Doing things this way would make adding it easier. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Retire git-clone-dumb-http.Junio C Hamano2005-09-05
| | | | | | | | | | | | | | | | | | | | | | | | ... and fold it into git-clone-script. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Install archimport-script.Junio C Hamano2005-09-04
| |_|/ |/| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Remove git-apply-patch-script.Junio C Hamano2005-08-29
| | | | | | | | | | | | | | | | | | | | | | | | Now the rebase is rewritten to use git cherry-pick, there is no user for that ancient script. I've checked Cogito and StGIT to make sure they do not use it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Redo "revert" using three-way merge machinery.Junio C Hamano2005-08-29
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reverse patch application using "git apply" sometimes is too rigid. Since the user would get used to resolving conflicting merges by hand during the normal merge experience, using the same machinery would be more helpful rather than just giving up. Cherry-picking and reverting are essentially the same operation. You pick one commit, and apply the difference that commit introduces to its own commit ancestry chain to the current tree. Revert applies the diff in reverse while cherry-pick applies it forward. They share the same logic, just different messages and merge direction. Rewrite "git rebase" using "git cherry-pick". Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Enable git-send-email-script on Debian.Junio C Hamano2005-08-26
|/ | | | | | | | | | You can define WITH_SEND_EMAIL to include the send-email command as part of the installation. Since Debian, unlike RPM/Fedora, has the two necessary Perl modules available as part of the mainline distribution, there is no reason for us to shy away from shipping send-email. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge refs/heads/master from . Junio C Hamano2005-08-24
|\
| * [PATCH] Infamous 'octopus merge'Junio C Hamano2005-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This script uses the list of heads and their origin multi-head "git fetch" left in the $GIT_DIR/FETCH_HEAD file, and makes an octopus merge on top of the current HEAD using them. The implementation tries to be strict for the sake of safety. It insists that your working tree is clean (no local changes) and matches the HEAD, and when any of the merged heads does not automerge, the whole process is aborted and tries to rewind your working tree is to the original state. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * [PATCH] Retire git-parse-remote.Junio C Hamano2005-08-24
| | | | | | | | | | | | | | | | | | | | | | Update git-pull to match updated git-fetch and allow pull to fetch from multiple remote references. There is no support for resolving more than two heads, which will be done with "git octopus". Update "git ls-remote" to use git-parse-remote-script. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * [PATCH] Start adding the $GIT_DIR/remotes/ support.Junio C Hamano2005-08-24
| | | | | | | | | | | | | | All the necessary parsing code is in git-parse-remote-script; update git-push-script to use it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge refs/heads/master from . Junio C Hamano2005-08-23
|\ \ | |/
| * Clean-up output from "git show-branch" and document it.Junio C Hamano2005-08-22
| | | | | | | | | | | | | | | | When showing only one branch a lot of default output becomes redundant, so clean it up a bit, and document what is shown. Retire the earlier implementation "git-show-branches-script". Signed-off-by: Junio C Hamano <junkio@cox.net>
| * [PATCH] Add 'git show-branch'.Junio C Hamano2005-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'git show-branches' command turns out to be reasonably useful, but painfully slow. So rewrite it in C, using ideas from merge-base while enhancing it a bit more. - Unlike show-branches, it can take --heads (show me all my heads), --tags (show me all my tags), or --all (both). - It can take --more=<number> to show beyond the merge-base. - It shows the short name for each commit in the extended SHA1 syntax. - It can find merge-base for more than two heads. Examples: $ git show-branch --more=6 HEAD is almost the same as "git log --pretty=oneline --max-count=6". $ git show-branch --merge-base master mhf misc finds the merge base of the three given heads. $ git show-branch master mhf misc shows logs from the top of these three branch heads, up to their common ancestor commit is shown. $ git show-branch --all --more=10 is poor-man's gitk, showing all the tags and heads, and going back 10 commits beyond the merge base of those refs. Signed-off-by: Junio C Hamano <junkio@cox.net>