summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* This implements the new "recursive tree" write-tree.Linus Torvalds2005-04-094-22/+70
| | | | | | It's got some debugging printouts etc still in it, but testing on the kernel seems to show that it does indeed fix the issue with huge tree files for each commit.
* Make fsck-cache warn about old-style tree objects that have fullLinus Torvalds2005-04-091-0/+9
| | | | | | | pathnames in them. We're migrating away from that. This will cause tons of warnings for the current "sparse" archive, but hell, better now than later.
* Teach "fsck" and "read-tree" about recursive tree-nodes.Linus Torvalds2005-04-092-9/+24
| | | | | | This is totally untested, since we can't actually _write_ things that way yet, but I'll get to that next, I hope. That should fix the huge wasted space for kernel-sized tree objects.
* Make "fsck-cache" print out all the root commits it finds.Linus Torvalds2005-04-091-0/+5
| | | | | Once I do the reference tracking, I'll also make it print out all the HEAD commits it finds, which is even more interesting.
* Add "diff-tree" program to show which files have changed between two trees.Linus Torvalds2005-04-092-1/+113
| | | | | Very useful for creating diffs efficiently, and in general to see what has changed in the namespace.
* Export "cache_name_compare()" helper function.Linus Torvalds2005-04-092-1/+2
| | | | The "diff-tree" program needs it.
* Make "read-tree" read the tree into the current directory cache.Linus Torvalds2005-04-092-50/+82
| | | | | It will no longer update the actual working directory, just the cache. To update the working directory, you need to use "checkout-cache".
* Make "write_cache()" and friends available as generic routines.Linus Torvalds2005-04-093-73/+75
| | | | | | This is needed for the change to make "read-tree" just read into the cache (and then you do a "checkout-cache" to update your current dir contents).
* Fix "checkout-cache.c" mis-use of read_sha1_file() interface.Linus Torvalds2005-04-091-2/+3
| | | | | It's supposed to test the returned file type, not think that read_sha1_file() tests it. Confusion from "cat-file" command line usage.
* Fix up "checkout-cache" a bitLinus Torvalds2005-04-091-10/+8
| | | | | Make the warnings have newlines, and don't stop "checkout-cache -a" just because a file already exists.
* Add a "checkout-cache" command which does what the name suggests.Linus Torvalds2005-04-092-1/+145
| | | | | I'll also eventually change "read-tree" to only update the cache information, instead of doing a checkout of the tree. Much nicer.
* Make the cache stat information comparator public.Linus Torvalds2005-04-093-32/+33
| | | | | Like the cache filename finder, it's a generically useful function, rather than something specific to the current "show-diff" thing.
* Make "cache_name_pos()" available to others.Linus Torvalds2005-04-093-36/+37
| | | | | | | | It finds the cache entry position for a given name, and is generally useful. Sure, everybody can just scan the active cache array, but since it's sorted, you actually want to search it with a binary search, so let's not duplicate that logic all over the place.
* Fix missing return values and some error tests for empty index filesLinus Torvalds2005-04-093-3/+4
| | | | | | | | | Patches from Dave Jones and Ingo Molnar, but since I don't have any infrastructure in place to use the old patch applicator scripts I am trying to build up, I ended up fixing the thing by hand instead. Credit where credit is due, though. Nice to see that people are taking a look at the project even in this early stage.
* Make fsck-cache start parsing the object types, and checking theirLinus Torvalds2005-04-081-11/+42
| | | | | | | internal format. This doesn't yet check the reachability information, but we're getting there.. Slowly.
* Add "-lz" to link line to get in zlib.Linus Torvalds2005-04-081-1/+1
| | | | | Not all Linux distributions seem to need it (notably not YDL on ppc64), but enough ones obviously do.
* Add new fsck-cache to Makefile.Linus Torvalds2005-04-081-1/+4
| | | | | This is what happens when there are no nice tools to tell you to do things properly.
* Add first cut at "fsck-cache" that validates the SHA1 object store.Linus Torvalds2005-04-081-0/+106
| | | | | It doesn't complain about mine. But it also doesn't yet check for inter-object reachability etc.
* Add "check_sha1_signature()" helper functionLinus Torvalds2005-04-082-0/+12
| | | | And fix up header declarations.
* Factor out "read_sha1_file" into mapping/inflating/unmapping.Linus Torvalds2005-04-082-9/+33
| | | | | This allows us to also actually check the sha1 hash using these routines. Needed for the "fsck" thing.
* Use "-Wall -O2" for the compiler to get more warnings.Linus Torvalds2005-04-088-9/+9
| | | | | | | And fix up the warnings that it pointed out. Let's keep the tree clean from early on. Not that the code is very beautiful anyway ;)
* Make "cat-file" output the file contents to stdout.Linus Torvalds2005-04-082-10/+35
| | | | | New syntax: "cat-file -t <sha1>" shows the tag, while "cat-file <tag> <sha1>" outputs the file contents after checking that the supplied tag matches.
* Make read-tree actually unpack the whole tree.Linus Torvalds2005-04-071-1/+41
| | | | | | | I needed this to make a "sparse" archive conversion from my old BitKeeper tree data. The scripts to do the conversion are just incredibly ugly, but they seem to validate the notion that you can actually use this silly 'git' thing to save your history in.
* Add copyright notices.Linus Torvalds2005-04-078-0/+40
| | | | | | The tool interface sucks (especially "committing" information, which is just me doing everything by hand from the command line), but I think this is in theory actually a viable way of describing the world. So copyright it.
* Initial revision of "git", the information manager from hellinitialLinus Torvalds2005-04-0711-0/+1244