summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
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>
2005-07-29[PATCH] Improve the compilation-time settings interfaceLibravatar Petr Baudis1-18/+38
Describe variables which make itself takes and adjusts compilation accordingly (MOZILLA_SHA1, NO_OPENSSL, PPC_SHA1), and make adding defines more convenient through the $DEFINES variable. $COPTS includes -g as well now and is not overriden if it was already declared in the environment. Also, $CFLAGS is appended to rather than reset, so that if there was already a $CFLAGS environment variable, it's appended to. Some more variables are also made overridable through the environment. Renamed $bin to $bindir which is the name commonly used for this. 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>
2005-07-29[PATCH] socklen_t needs to be defined and libssl to be linked on old Mac OS XLibravatar Johannes Schindelin1-0/+4
On older Mac OS X (10.2.8), no socklen_t is defined, and therefore daemon.c does not compile. However, Mac OS X 10.4 seems to define socklen_t differently. Also, linking fails due to some symbols defined in libssl (not just libcrypto). [jc: I am tentatively dropping the socklen_t part of the patch because I am waiting for confirmation on the server side IPV6 patch from Yoshifuji-san] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-27[PATCH] Add git-request-pull-script, a short script that generates a summary ↵Libravatar Ryan Anderson1-1/+2
of pending changes A short message requesting a pull from the repository is also included. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26Name it 0.99.2Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-23Add a "git rename" to help with - surprise surprise - renamesLibravatar Linus Torvalds1-1/+1
It's stupid. We'd want to rename directories too, but this doesn't do that yet - easy enough to do per se, we just need to carefully list all the pathnames that got moved (and remember to ignore the files that weren't tracked but are in the subdirectory that got moved). Doing the directory case will require a bit more scripting.. Something like oldfiles=($(git-ls-files | grep '^$src')) newfiles=($(git-ls-files | sed ':^$src: s:^$src:$dst:')) mv $src $dst && git-update-cache --add --remove -- "${oldfiles[@]}" "${newfiles[@]}" might do it, except it needs to be done right, and carefully. Methinks perl is probably better at this. Hint hint..
2005-07-23[PATCH] Support cloning packed repo from dumb http servers.Libravatar Junio C Hamano1-1/+1
Using the information prepared with update-server-info, a truly dumb http server can allow cloning with this client side support. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] Add update-server-info.Libravatar Junio C Hamano1-1/+10
The git-update-server-info command prepares informational files to help clients discover the contents of a repository, and pull from it via a dumb transport protocols. Currently, the following files are produced. - The $repo/info/refs file lists the name of heads and tags available in the $repo/refs/ directory, along with their SHA1. This can be used by git-ls-remote command running on the client side. - The $repo/info/rev-cache file describes the commit ancestry reachable from references in the $repo/refs/ directory. This file is in an append-only binary format to make the server side friendly to rsync mirroring scheme, and can be read by git-show-rev-cache command. - The $repo/objects/info/pack file lists the name of the packs available, the interdependencies among them, and the head commits and tags contained in them. Along with the other two files, this is designed to help clients to make smart pull decisions. The git-receive-pack command is changed to invoke it at the end, so just after a push to a public repository finishes via "git push", the server info is automatically updated. In addition, building of the rev-cache file can be done by a standalone git-build-rev-cache command separately. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] git-ls-remote: show and optionally store remote refs.Libravatar Junio C Hamano1-1/+2
Retrieve and list the remote refs from git, http, and rsync repositories, and optionally stores the retrieved refs in the local repository under the same name. To access a git URL, git-peek-remote command is used. An http URL needs to have an up-to-date info/refs file for discovery, which will be introduced by a later update-server-info patch. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] git-peek-remote: show tags and heads from a remote repository.Libravatar Junio C Hamano1-1/+2
Add a git-peek-remote command that talks with upload-pack the same way git-fetch-pack and git-clone-pack do, to show the references the remote side has on the standard output. A later patch introduces git-ls-remote that implements a UI to store tag values retrieved using this command. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] Install tools with "make install-tools".Libravatar Junio C Hamano1-0/+4
Match the main Makefile by separating COPTS from CFLAGS, defining INSTALL, prefix, and bin. Add a new target 'install-tools' to the main Makefile to install them. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] Install git-verify-tag-scriptLibravatar Eric W. Biederman1-1/+1
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-16[PATCH] fetch/pull: short-hand notation for remote repositories.Libravatar Junio C Hamano1-1/+1
Since pull and fetch are done often against the same remote repository repeatedly, keeping the URL to pull from along with the name of the head to use in $GIT_DIR/branches/$name makes a lot of sense. Adopt that convention from Cogito, and try to be compatible when possible; storing a partial URL and completing it with a trailing path may not be understood by Cogito. While we are at it, fix pulling a tag. Earlier, we updated only refs/tags/$tag without updating FETCH_HEAD, and called resolve-script using a stale (or absent) FETCH_HEAD. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15Ahh, the heady days of 0.99 patchfilesLibravatar Linus Torvalds1-2/+2
Now, not all projects can be as refined as Linux. Before the final 1.0 release, we went through fifteen 0.99 patchfiles, and pl14 alone went through subreleases 'a' through 'z'. Now _that_ is a release process. Not to mention the odd-ball releases, like 0.96c+ Sadly, in this day and age of RPM's etc, we have silly limitations, and I cannot call this release '0.99pl5a or some such awe-inspiring name just because "rpmbuild" is such a party pooper. So it's just 0.99.1. Oh well. Aspiring to such greatness as the Linux release numbering is hubris anyway. You can attain such perfection only once in your life.
2005-07-15[PATCH] Add doc and install-doc targets to the MakefileLibravatar Eric W. Biederman1-0/+6
This makes it straightforward for people wanting to build and install the git man pages and the rest of the documentation to do so. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15[PATCH] Use gzip -f when building the git-core tarballLibravatar Eric W. Biederman1-1/+1
This allows rebuilding the tarball when it is already present without having to answer annoying questions from gzip Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15[PATCH] Add a RPMBUILD make variableLibravatar Eric W. Biederman1-1/+2
This allows RPMBUILD to be overridden for people with old versions of rpm or people who want to pass rpmbuild extra options. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15[PATCH] Add git-var a tool for reading interesting git variables.Libravatar Eric W. Biederman1-1/+2
Sharing code between shell scripts and C is a challenge. The program git-var allows us to have a set of named values that a shell script can interrogate and a normal C program can simply call the functions that compute them. Allowing sharing when computing plain test values. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13Add a "git-daemon" that listens on a TCP portLibravatar Linus Torvalds1-1/+1
.. and does a "git-upload-pack" on demand.
2005-07-12Abstract out the "name <email> date" handling of commit-tree.cLibravatar Linus Torvalds1-1/+1
We'll want to use it for the tagging too.
2005-07-12"make clean" should clean up after a rpm buildLibravatar Linus Torvalds1-0/+1
There's a few generated files that we left behind.
2005-07-12Rename the RPM from "git" to "git-core"Libravatar Linus Torvalds1-6/+6
That way we avoid any confusion with "GNU Interactive Tools", and it's more descriptive anyway (the rpm documentation talks about how git is split into a "core" part and an "SCM" part, this makes it clear that this is the core one).
2005-07-11Add "git branch" scriptLibravatar Linus Torvalds1-1/+2
You can use it as git branch <branchname> [start-point] and it creates a new branch of name <branchname>. If a starting point is specified, that will be where the branch is created, otherwise it will be created at the current HEAD. The sequence git branch xyz abc git checkout xyz can also be written as git checkout -b xyz abc as per the previous commit.
2005-07-11[PATCH] Bootstrap "make dist"Libravatar Chris Wright1-2/+2
Use git-tar-tree directly from git source during make dist. This handles bootstrap issue with git not being installed. Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-08[PATCH] Expose object ID computation functions.Libravatar Bryan Larsen1-2/+2
This patch makes the first half of write_sha1_file() and index_fd() externally visible, to allow callers to compute the object ID without actually storing it in the object database. [JC demangled the whitespaces himself because he liked the patch so much, and reworked the interface to index_fd() slightly, taking suggestion from Linus and of his own.] Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-08Add "mkpath()" helper functionLibravatar Linus Torvalds1-1/+1
I'm bored with doing it by hand all the time.
2005-07-08Add "git-push-script" to make a more regular interfaceLibravatar Linus Torvalds1-1/+1
It only does local and ssh pushes, because it's really just a wrapper for git-send-pack. We might make it do an rsync mirror or something, of course.
2005-07-08[PATCH] Make sq_expand() available as sq_quote().Libravatar Junio C Hamano1-0/+3
A useful shell safety helper sq_expand() was hidden as a static function in diff.c. Extract it out and make it available as sq_quote(). Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-08Add "git-sh-setup-script" for common git shell script setupLibravatar Linus Torvalds1-1/+1
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-07-07[PATCH] git-format-patch: Prepare patches for e-mail submission.Libravatar Junio C Hamano1-1/+2
This is the script I use to prepare patches for e-mail submission. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-07Infrastructure for git rpm builds. Adds GIT_VERSION to Makefile and new makeLibravatar Chris Wright1-0/+18
targets: git.spec, dist, and rpm. A simple 'make rpm' will build the rpm. Also adds git.spec.in which is used to generate git.spec. Signed-off-by: Chris Wright <chrisw@osdl.org>
2005-07-05Add a "git-show-index" helper that shows the contents of a pack indexLibravatar Linus Torvalds1-1/+2
This was invaluable for debugging the zero-sized compression issue, and might be useful for scripting too, if people want to see the contents of a pack.
2005-07-05Add "git-clone-pack" program to help with "git clone"Libravatar Linus Torvalds1-1/+1
2005-07-05Merge with Linus' current treeLibravatar Matthias Urlichs1-2/+1
2005-07-04Commit first cut at "git-fetch-pack"Libravatar Linus Torvalds1-4/+5
It's meant to be used by "git fetch" for the local and ssh case. It doesn't actually do the fetching now, but it does discover the common commit point.
2005-07-04Factor out the ssh connection stuff from send-pack.cLibravatar Linus Torvalds1-1/+1
I want to use it for git-fetch-pack too.
2005-07-03Add "git-prune-packed" that removes objects that exist in a pack.Libravatar Linus Torvalds1-1/+2
This, together with "git repack" can be used to clean up unpacked git archives.