summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2005-08-29Remove git-apply-patch-script.Libravatar Junio C Hamano1-1/+1
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>
2005-08-29Redo "revert" using three-way merge machinery.Libravatar Junio C Hamano1-0/+1
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>
2005-08-26Enable git-send-email-script on Debian.Libravatar Junio C Hamano1-1/+4
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>
2005-08-24Merge refs/heads/master from . Libravatar Junio C Hamano1-1/+2
2005-08-24[PATCH] Infamous 'octopus merge'Libravatar Junio C Hamano1-0/+1
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>
2005-08-24[PATCH] Retire git-parse-remote.Libravatar Junio C Hamano1-1/+1
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>
2005-08-24[PATCH] Start adding the $GIT_DIR/remotes/ support.Libravatar Junio C Hamano1-1/+1
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>
2005-08-23Merge refs/heads/master from . Libravatar Junio C Hamano1-2/+1
2005-08-22Clean-up output from "git show-branch" and document it.Libravatar Junio C Hamano1-1/+0
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>
2005-08-22[PATCH] Add 'git show-branch'.Libravatar Junio C Hamano1-1/+1
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>
2005-08-16Merge with master to get diff fixes.Libravatar Junio C Hamano1-1/+1
2005-08-16[PATCH] Make "git diff" work inside relative subdirectoriesLibravatar Linus Torvalds1-1/+1
We always show the diff as an absolute path, but pathnames to diff are taken relative to the current working directory (and if no pathnames are given, the default ends up being all of the current working directory). Note that "../xyz" also works, so you can do cd linux/drivers/char git diff ../block and it will generate a diff of the linux/drivers/block changes. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-15Merge master changes into rc.Libravatar Junio C Hamano1-0/+1
2005-08-15Add git-show-branches-scriptLibravatar Junio C Hamano1-0/+1
Often I find myself wanting to do quick branches check when I am not in the windowing environment and cannot run gitk. This stupid script shows commits leading to the heads of interesting branches with indication which ones belong to which branches, so that fork point is somewhat discernible without using gitk. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-13Merge master changes into release candidate branch.Libravatar Junio C Hamano1-42/+47
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-12Make tools/ directory first-class citizen.Libravatar Junio C Hamano1-2/+0
Tools directory being separate is just a historical coincidence. Build and install together with the main directory, just like the clean target does. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-12[PATCH] Unify Makefile indentationLibravatar Petr Baudis1-14/+14
Use <tab> instead of two spaces uniformly in the Makefile, even in the ifdefs. Gives it a nice consistent look. [jc: At the same time I indented the nested ifdefs to make them slightly easier to read.] Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-12[PATCH] Use $DESTDIR instead of $destLibravatar Petr Baudis1-3/+3
$DESTDIR is more usual during the build than $dest and is what is usually used in the makefiles, so let's use it too. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-12Make CFLAGS overridable from make command line.Libravatar Pavel Roskin1-21/+25
This patch renames COPTS to CFLAGS, because it's COPTS that was user overridable. Also, -Wall is moved there because it's optional. What was CFLAGS is now ALL_CFLAGS, which users should not override. Defines are added to DEFINES. Since ALL_CFLAGS is recursively expanded, it uses the final value of DEFINES. Implicit rules are made explicit since the implicit rules use CFLAGS rather than ALL_CFLAGS. I believe that serious projects should not rely on implicit rules anyway. Percent rules are used because they are used already and because they don't need the .SUFFIXES target. [jc: in addition to updating the patch for 0.99.4, I fixed up a glitch in Pavel's original patch which compiled sha1.o out of mozilla-sha1/sha1.c, where it should have left the resulting object file in mozilla-sha1 directory for later "ar".] Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-12Clean generated files a bit more, to cope with Debian build droppings.Libravatar Junio C Hamano1-2/+5
Also attempt to build a source package for debian.
2005-08-11Merge changes in the master branch into 0.99.5 preparation branch.Libravatar Junio C Hamano1-1/+2
2005-08-11Clean generated deb files.Libravatar Junio C Hamano1-1/+2
Do not forgot that we have a separate git-tk package these days. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-10Start preparing for 0.99.5Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-10Merge with master.Libravatar Junio C Hamano1-0/+1
This merges commit c35a7b8d806317dc1762e36561cbd31c2530dd9c from master into our head commit edee414c3e5a546aae3dd1529f397df949713305 Sincerely, jit-merge command.
2005-08-09git-revert: revert an existing commit.Libravatar Junio C Hamano1-0/+1
Given one existing commit, revert the change the patch introduces, and record a new commit that records it. This requires your working tree to be clean (no modifications from the HEAD commit). This is based on what Linus posted to the list, with enhancements he suggested, including the use of -M to attempt reverting renames. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-09Merge with master.Libravatar Junio C Hamano1-1/+1
This merges commit f10e0e0b18c8e2e69535e7380fb3c1f9b097cfda from master into our head commit c3958a7926ab20b90fe0767580b466698477f5b6 Sincerely, jit-merge command.
2005-08-09Downgrade git-send-email-scriptLibravatar Junio C Hamano1-1/+1
RPM folks have problem installing the package otherwise. Since its usefulness does have much to do with GIT, downgrade it to "contrib" status for now. We may want to move it to contrib/ subdirectory after auditing other programs when we reorganize the source tree. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-08Merge with master.Libravatar Junio C Hamano1-0/+1
This merges commit 3c4e8a636f4de3668b24d0020df731cdc78ae6e9 from master into our head commit 80f45687f44b6258b0eacae6b1ae15e3ad4a6552 Sincerely, jit-merge command.
2005-08-08Makefile dependency fix.Libravatar Junio C Hamano1-0/+1
Johannes Schindelin noticed that recent Makefile updates were too eager to loosen dependencies. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-06Fix build rules for debian package.Libravatar Junio C Hamano1-5/+5
Run install-tools target to install the tools to accept e-mail patches. Also clean up the main Makefile a bit. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-06GIT 0.99.4 (release candidate)Libravatar Junio C Hamano1-8/+10
This is my first attempt to adjust Debian and RPM to pass prefix, to prepare the 0.99.4 release. It updates debian/rules and git-core.spec.in to properly pass prefix when building binary packages. It also updates debian/changelog to make the resulting binary package name 0.99.4; this is not needed on the RPM side (it takes the version number from the main Makefile). Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-06Redo the templates generation and installation.Libravatar Junio C Hamano1-3/+6
Per discussion with people interested in binary packaging, change the default template location from /etc/git-core to /usr/share/git-core hierarchy. If a user wants to run git before installing for whatever reason, in addition to adding $src to the PATH environment variable, git-init-db can be run with --template=$src/templates/blt/ parameter. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-05Update get_sha1() to grok extended format.Libravatar Junio C Hamano1-1/+2
Everybody envies rev-parse, who is the only one that can grok the extended sha1 format. Move the get_extended_sha1() out of rev-parse, rename it to get_sha1() and make it available to everybody else. The one I posted earlier to the list had one bug where it did not handle a name that ends with a digit correctly (it incorrectly tried the "Nth parent" path). This commit fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-03Retire check-files.Libravatar Junio C Hamano1-1/+1
The king penguin said: It has no point any more, all the tools check the file status on their own, and yes, the thing should probably be removed. and the faithful servant makes it so. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-03Install sample hooksLibravatar Junio C Hamano1-0/+5
A template mechanism to populate newly initialized repository with default set of files is introduced. Use it to ship example hooks that can be used for update and post update checks, as Josef Weidendorfer suggests. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-02[PATCH] Add git-send-email-script - tool to send emails from ↵Libravatar Ryan Anderson1-0/+1
git-format-patch-script This is based off of GregKH's script, send-lots-of-email.pl, and strives to do all the nice things a good subsystem maintainer does when forwarding a patch or 50 upstream: All the prior handlers of the patch, as determined by the Signed-off-by: lines, and/or the author of the commit, are cc:ed on the email. All emails are sent as a reply to the previous email, making it easy to skip a collection of emails that are uninteresting. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-02Clean t/trash upon "make clean" as well.Libravatar Junio C Hamano1-0/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-01GIT 0.99.3Libravatar Junio C Hamano1-1/+1
Things have slowly but surely started to settle down, and the http transport finally can natively grok packed repositories. To give Pasky a good anchor point, hoping that he can start split off the core part from Cogito, here is the 0.99.3, which will be accompanied with its own tag. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-01Retire git-fetch-dumb-http and missing-revsLibravatar Junio C Hamano1-3/+2
Now git-http-pull knows how to do packed repo, retire scripted hacks I placed as a stop-gap measure. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-31[PATCH] Added hook in git-receive-packLibravatar Josef Weidendorfer1-0/+3
Just before updating a ref, $GIT_DIR/hooks/update refname old-sha1 new-sha1 is called if executable. The hook can decline the ref to be updated by exiting with a non-zero status, or allow it to be updated by exiting with a zero status. The mechanism also allows e.g sending of a mail with pushed commits on the remote repository. Documentation update with an example hook is included. jc: The credits of the basic idea and initial implementation go to Josef, but I ended up rewriting major parts of his patch, so bugs are all mine. Also I changed the semantics for the hook from his original version (which were post-update hook) so that the hook can optionally decline to update the ref, and also can be used to implement the overall cleanups. The latter was primarily to implement a suggestion from Linus that calling update-server-info should be made optional. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-31Add a stupid "count objects" script.Libravatar Junio C Hamano1-0/+2
This counts the number of unpacked object files and disk space consumed by them, to help you decide when it is a good time to repack. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-31Fetch from a packed repository on dumb servers.Libravatar Junio C Hamano1-2/+3
Implement fetching from a packed repository over http/https using the dumb server support files. I consider some parts of the logic should be in a separate C program, but it appears to work with my simple tests. I have backburnered it for a bit too long for my liking, so let's throw it out in the open and see what happens. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-30[PATCH] add NO_CURL option to the MakefileLibravatar Johannes Schindelin1-1/+8
This patch implements Linus' idea that if you are not interested in pulling by HTTP, you can now say NO_CURL=1 make to compile everything except git-http-pull (thus not needing curl at all). Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-30[PATCH] Making it easier to find which change introduced a bugLibravatar Linus Torvalds1-1/+1
This adds a new "git bisect" command. - "git bisect start" start bisection search. - "git bisect bad <rev>" mark some version known-bad (if no arguments, then current HEAD) - "git bisect good <revs>..." mark some versions known-good (if no arguments, then current HEAD) - "git bisect reset <branch>" done with bisection search and go back to your work (if no arguments, then "master"). The way you use it is: git bisect start git bisect bad # Current version is bad git bisect good v2.6.13-rc2 # v2.6.13-rc2 was the last version # tested that was good When you give at least one bad and one good versions, it will bisect the revision tree and say something like: Bisecting: 675 revisions left to test after this and check out the state in the middle. Now, compile that kernel, and boot it. Now, let's say that this booted kernel works fine, then just do git bisect good # this one is good which will now say Bisecting: 337 revisions left to test after this and you continue along, compiling that one, testing it, and depending on whether it is good or bad, you say "git bisect good" or "git bisect bad", and ask for the next bisection. Until you have no more left, and you'll have been left with the first bad kernel rev in "refs/bisect/bad". Oh, and then after you want to reset to the original head, do a git bisect reset to get back to the master branch, instead of being in one of the bisection branches ("git bisect start" will do that for you too, actually: it will reset the bisection state, and before it does that it checks that you're not using some old bisection branch). Not really any harder than doing series of "quilt push" and "quilt pop", now is it? [jc: This patch is a rework based on what Linus posted to the list. The changes are: - The original introduced four separate commands, which was three too many, so I merged them into one with subcommands. - Since the next thing you would want to do after telling it "bad" and "good" is always to bisect, this version does it automatically for you. - I think the termination condition was wrong. The original version checked if the set of revisions reachable from next bisection but not rechable from any of the known good ones is empty, but if the current bisection was a bad one, this would not terminate, so I changed it to terminate it when the set becomes a singleton or empty. - Removed the use of shell array variable. ] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-30NO_OPENSSL should really mean no openssl.Libravatar Junio C Hamano1-1/+3
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29Fix typo in recent Makefile cleanup.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29[PATCH] Build commands through object filesLibravatar Petr Baudis1-7/+8
Separate the process of building the commands to compilation and linkage. This makes it more consistent with the library objects, is the traditional thing to do, and significantly speeds up the subsequent rebuilds, especially for us the people who develop git on 300MHz notebooks. Ported from Cogito. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29[PATCH] Support for NO_OPENSSLLibravatar Petr Baudis1-1/+7
Support for completely OpenSSL-less builds. FSF considers distributing GPL binaries with OpenSSL linked in as a legal problem so this is trouble e.g. for Debian, or some people might not want to install OpenSSL anyway. If you make NO_OPENSSL=1 you get completely OpenSSL-less build, disabling --merge-order and using Mozilla's SHA1 implementation. Ported from Cogito. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29[PATCH] Reorder Makefile rulesLibravatar Petr Baudis1-30/+57
The Makefile rules were massively reordered so that they are actually logically grouped now. Captions were added to separate the sections. No rule contents was touched during the process. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29[PATCH] Remove the explicit Makefile dependencies descriptionLibravatar Petr Baudis1-66/+8
Remove about one gazillion of explicit dependency rules with few lines describing the general dependency pattern and then the exceptions. This noticably shortens the Makefile and makes it easier to touch it. This is part of the Cogito Makefile changes port. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>