summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2005-05-17Add silly "git-whatchanged" script.Linus Torvalds
It's a one-liner, but it's useful as documentation if nothing else.
2005-05-15[PATCH 4/4] Trivial test harness fixes.Junio C Hamano
The documentation of the test harness still refer to old numbering and also contains an obvious typo. Also "make test" should be run after making sure we have built all binaries, since test is designed to test the newly built ones. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15[PATCH 2/3] Rename git-diff-tree-helper to git-diff-helper.Junio C Hamano
It used to be that diff-tree needed helper support to parse its raw output to generate diffs, but these days git-diff-* family produces the same output and the helper is not tied to diff-tree anymore. Drop "tree" from its name. This commit is done separately to record just the rename and no file content changes. The changes in the renamed files are recorded in the next commit. Signed-off-by: Junio C Hamano <junkio@cox.net> Bundled with the changes in the unrenamed files. Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-14Implemented make testPetr Baudis
make test in project root will recurse to the t/ subdirectory and run make all there.
2005-05-10Link with -lcrypto instead of -lssl when using openssl libraries.Junio C Hamano
Mark Allen had trouble with building GIT on his Darwin and posted a patch to link with -lcrypto instead of -lssl on Darwin. Later Daniel Barkalow suggested to change it for everybody who uses openssl, because the relevant functionality is in -lcrypto not in -lssl, and the current linking happens to work only because -lssl pulls in -lcrypto. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-10Rename environment variables.Junio C Hamano
H. Peter Anvin mentioned that using SHA1_whatever as an environment variable name is not nice and we should instead use names starting with "GIT_" prefix to avoid conflicts. Here is what this patch does: * Renames the following environment variables: New name Old Name GIT_AUTHOR_DATE AUTHOR_DATE GIT_AUTHOR_EMAIL AUTHOR_EMAIL GIT_AUTHOR_NAME AUTHOR_NAME GIT_COMMITTER_EMAIL COMMIT_AUTHOR_EMAIL GIT_COMMITTER_NAME COMMIT_AUTHOR_NAME GIT_ALTERNATE_OBJECT_DIRECTORIES SHA1_FILE_DIRECTORIES GIT_OBJECT_DIRECTORY SHA1_FILE_DIRECTORY * Introduces a compatibility macro, gitenv(), which does an getenv() and if it fails calls gitenv_bc(), which in turn picks up the value from old name while giving a warning about using an old name. * Changes all users of the environment variable to fetch environment variable with the new name using gitenv(). * Updates the documentation and scripts shipped with Linus GIT distribution. The transition plan is as follows: * We will keep the backward compatibility list used by gitenv() for now, so the current scripts and user environments continue to work as before. The users will get warnings when they have old name but not new name in their environment to the stderr. * The Porcelain layers should start using new names. However, just in case it ends up calling old Plumbing layer implementation, they should also export old names, taking values from the corresponding new names, during the transition period. * After a transition period, we would drop the compatibility support and drop gitenv(). Revert the callers to directly call getenv() but keep using the new names. The last part is probably optional and the transition duration needs to be set to a reasonable value. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-08Build and install git-get-tar-commit-idJunio C Hamano
This useful program is not build nor installed by the Makefile. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-07[PATCH] make INSTALL binary in Makefile configurable via make variableThomas Glanzmann
On Solaris machines gnu install called ginstall <JC> Editorial notes. I've also changed it to use $(COPTS), $(prefix), and $(bin) because I always get confused without compiling it with -O1 when I single step in gdb. The default is left as Linus shipped. Date: Sat, 7 May 2005 10:41:54 +0200 Signed-off-by: Thomas Glanzmann <sithglan@stud.uni-erlangen.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
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.
2005-05-02Add git-write-blob.Junio C Hamano
A new command, git-write-blob, is introduced. This registers the contents of any file on the filesystem as a blob in the object database and reports its SHA1 to the standard output. To implement it, the patch promotes index_fd() from a static function in update-cache.c to extern and moves it to a library source, sha1_file.c. This command is used to update git-merge-one-file-script so that it does not smudge the work tree. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-02[PATCH] Add git-local-pull.Junio C Hamano
This adds the git-local-pull command as a smaller brother of http-pull and rpull. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01[PATCH] Add git-apply-patch-script.Junio C Hamano
I said: - Stop attempting to be compatible with cg-patch, and drop (mode:XXXXXX) bits from the diff. - Do keep the /dev/null change for created and deleted case. - No "Index:" line, no "Mode change:" line, anywhere in the output. Anything that wants the mode bits and sha1 hash can do things from GIT_EXTERNAL_DIFF mechanism. Maybe document suggested usage better. This adds an example script git-apply-patch-script, that can be used as the GIT_EXTERNAL_DIFF to apply changes between two trees directly on the current work tree, like this: GIT_EXTERNAL_DIFF=git-apply-patch-script git-diff-tree -p <tree> <tree> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-30[PATCH] Split out "pull" from particular methodsDaniel Barkalow
The method for deciding what to pull is useful separately from any of the ways of actually fetching the objects. So split out "pull" functionality from http-pull and rpull Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-30Make the date parsing accept pretty much any random crap.Linus Torvalds
This date parser turns line-noise into a date. Cool.
2005-04-30Rename "show-files" to "ls-files"Linus Torvalds
As suggested by Nicolas Pitre
2005-04-30[PATCH] Do date parsing by hand...Edgar Toernig
...since everything out there is either strange (libc mktime has issues with timezones) or introduces unnecessary dependencies for people (libcurl). This goes back to the old date parsing, but moves it out into a file of its own, and does the "struct tm" to "seconds since epoch" handling by hand. I grepped through the tz-database and it seems there's one "country" left that has non-60-minute DST: Lord Howe Island. All others dropped that before 1970.
2005-04-30[PATCH] Fix AUTHOR_DATE timezone confusiontony.luck@intel.com
This switches git-commit-tree to using curl_getdate() for the AUTHOR_DATE, and thus fixes the problem with "mktime()" parsing dates in the local timezone. It also ends up being more permissive about the format of the date. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-29[PATCH] Makefile: The big git command renaming fallout fix.Junio C Hamano
Here is another. This one belongs to a clean-up category. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-29Rename git core commands to be "git-xxxx" to avoid name clashes.Linus Torvalds
This also regularizes the make. The source files themselves don't get the "git-" prefix, because that's just inconvenient. So instead we just make the rule that "git-xxxx" depends on "xxxx.c", and do that for all the core programs (ie the old "git-mktag.c" got renamed to just "mktag.c" to match everything else). And "show-diff" got renamed to "git-diff-files" while at it, since that's what it really should be to match the other git-diff-xxx cases.
2005-04-28[PATCH] create tar archives of tree on the flyRene Scharfe
This is an improved version of tar-tree, a streaming archive creator for GIT. The major added feature is blocking; all write(2) calls now have a size of 10240, just as GNU tar (and tape drives) likes them. The buffering overhead does not seem to degrade performance because most files in the repositories I tested this with are smaller than 10KB, so we need fewer system calls. File names are still restricted to 500 bytes and the archive format currently only allows for files up to 8GB. Both restrictions can be lifted if need be with more pax extended headers. The archive format used is the pax interchange format, i.e. POSIX tar format. It can be read by (and created with) GNU tar. If I read the specs correctly tar-tree should now be standards compliant (modulo bugs). Because it streams the archive (think ls-tree merged with cat-file), tar-tree doesn't need to create any temporary files. That makes it quite fast. It accepts tree IDs and commit IDs as first parameter. In the latter case tar-tree tries to get the commit date out of the committer line. Else all files in the archive are time-stamped with the current time. An optional second parameter is used as a path prefix for all files in the archive. Example: $ tar-tree a2755a80f40e5794ddc20e00f781af9d6320fafb \ linux-2.6.12-rc3 | bzip9 -9 > linux-2.6.12-rc3.tar.bz2 Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-28Fix up recent object model cleanupsLinus Torvalds
Make sure the Makefile knows about the object header dependencies, and add declarations for tag lookup/parsing.
2005-04-28[PATCH] Add tag header/parser to libraryDaniel Barkalow
This adds preliminary support for tags in the library. It doesn't even store the signature, however, let alone provide any way of checking it. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-26[PATCH] Introduce diff-tree-helper.Junio C Hamano
This patch introduces a new program, diff-tree-helper. It reads output from diff-cache and diff-tree, and produces a patch file. The diff format customization can be done the same way the show-diff uses; the same external diff interface introduced by the previous patch to drive diff from show-diff is used so this is not surprising. It is used like the following examples: $ diff-cache --cached -z <tree> | diff-tree-helper -z -R paths... $ diff-tree -r -z <tree1> <tree2> | diff-tree-helper -z paths... - As usual, the use of the -z flag is recommended in the script to pass NUL-terminated filenames through the pipe between commands. - The -R flag is used to generate reverse diff. It does not matter for diff-tree case, but it is sometimes useful to get a patch in the desired direction out of diff-cache. - The paths parameters are used to restrict the paths that appears in the output. Again this is useful to use with diff-cache, which, unlike diff-tree, does not take such paths restriction parameters. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-26[PATCH] Split external diff command interface to a separate file.Junio C Hamano
With this patch, the non-core'ish part of show-diff command that invokes an external "diff" comand to obtain patches is split into a separate file. The next patch will introduce a new command, diff-tree-helper, which uses this common diff interface to format diff-tree and diff-cache output into a patch form. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-25Add the git-*-script files to the installLinus Torvalds
2005-04-25Add "tag" objects that can be used to sign other objects.Linus Torvalds
You use "git-mktag" to create them, and fsck-cache knows how to parse them.
2005-04-24Add "rev-list" program that uses the new time-based commit listing.Linus Torvalds
This is probably what you'd want to see for "git log".
2005-04-24[PATCH] Various transport programsDaniel Barkalow
This patch adds three similar and related programs. http-pull downloads objects from an HTTP server; rpull downloads objects by using ssh and rpush on the other side; and rpush uploads objects by using ssh and rpull on the other side. The algorithm should be sufficient to make the network throughput required depend only on how much content is new, not at all on how much content the repository contains. The combination should enable people to have remote repositories by way of ssh login for authenticated users and HTTP for anonymous access. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] Simplify building of programsJonas Fonseca
Do not first build .o files when building programs. Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-23[PATCH] PPC assembly implementation of SHA1Paul Mackerras
Here is a SHA1 implementation with the core written in PPC assembly. On my 2GHz G5, it does 218MB/s, compared to 135MB/s for the openssl version or 45MB/s for the mozilla version. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-21Add support for alternate SHA1 library implementations.Linus Torvalds
This one includes the Mozilla SHA1 implementation sent in by Edgar Toernig. It's dual-licenced under MPL-1.1 or GPL, so in the context of git, we obviously use the GPL version. Side note: the Mozilla SHA1 implementation is about twice as fast as the default openssl one on my G5, but the default openssl one has optimized x86 assembly language on x86. So choose wisely.
2005-04-21Split up Makefile library list handling with separate entries forLinus Torvalds
zlib and libssl. I'll start giving people choices here..
2005-04-20[PATCH] simplify MakefileAndre Noll
Use a generic rule for executables that depend only on the corresponding .o and on $(LIB_FILE). Signed-Off-By: Andre Noll <maan@systemlinux.org> Signed-Off-By: Linus Torvalds <torvalds@osdl.org>
2005-04-20Improve build: add <unistd.h> and use -O2 instead of -O3Linus Torvalds
(Nobody should use -O3. It just makes bad inlining decisions).
2005-04-20Do SHA1 hash _before_ compression.Linus Torvalds
And add a "convert-cache" program to convert from old-style to new-style.
2005-04-20Add "diff-cache" helper program to compare a tree (or commit) withLinus Torvalds
the current cache state and/or working directory. Very useful to see what has changed since the last commit, either in the index file or in the whole working directory. Also very possibly very buggy. Matching the two up is not entirely trivial.
2005-04-19Add stupid "git export" thing, which can export a git archiveLinus Torvalds
as a set of patches and commentary. You'd want something like this if you are tracking a git archive in another SCM format. Notably, we want something like that for BK users.
2005-04-18Add "unpack-file" helper that unpacks a sha1 blob into a tmpfile.Linus Torvalds
2005-04-18Add more header dependencies.Linus Torvalds
Yeah, my Makefiles are always a total disaster. Better this than autotools or some horror like that, though.
2005-04-18Split up read-cache.c into more logical clumps.Linus Torvalds
Do the usage and error reporting in "usage.c", and the sha1 file accesses in "sha1_file.c". Small, nice, easily separated parts. Good.
2005-04-18Clean up the Makefile a bit.Linus Torvalds
This introduces the concept of git "library" objects that the real programs use, and makes it easier to add such things to a "libgit.a". This will also make it trivial to split the current "read-cache.o" into more aptly named pieces (it does a lot more than just read the index file).
2005-04-18Merge the new object model thing from Daniel BarkalowLinus Torvalds
This was a real git merge with conflicts. I'll commit the scripts I used to do the merge next. Not pretty, but it's half-way functional.
2005-04-18[PATCH] Switch implementations of merge-base, port to parsingDaniel Barkalow
This switches to my implementation of merge-base, but with the new parsing library. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-18[PATCH] Port fsck-cache to use parsing functionsDaniel Barkalow
This ports fsck-cache to use parsing functions. Note that performance could be improved here by only reading each object once, but this requires somewhat more complicated flow control. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-18[PATCH] Port rev-tree to parsing functionsDaniel Barkalow
This ports rev-tree to use the parsing functions introduced in the previous patches. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-18Ass a "merge-cache" helper program to execute a merge onLinus Torvalds
any unmerged files. This one doesn't actually do the merging, but it makes it easy to script the programs that do using it.
2005-04-17Do a very simple "merge-base" that finds the most recent commonLinus Torvalds
parent of two commits. The question of "best" commit can probably be tweaked almost arbitrarily. In particular, trying to take things like how big the tree differences are into account migt be a good idea. This one is just very simple.
2005-04-16Remove "merge-tree.c"Linus Torvalds
It's there in the history if somebody wants to resurrect it, but it seems to have been successfully superceded by the new and improved index-merge thing, where we do all merging entirely in the index.
2005-04-14Add "merge-tree" helper program. Maybe it's retarded, maybe it's helpful.Linus Torvalds
It only works one directory level at a time, so lookout..
2005-04-13[PATCH] No need to clean temp_git_file_* anymoreJunio C Hamano
Ancient cat-file command used to leave temp_git_file_* and there was support to remove them in the clean target of Makefile. I do not think it is needed anymore. From: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>