Add first cut at "fsck-cache" that validates the SHA1 object store.
It doesn't complain about mine. But it also doesn't yet check for
inter-object reachability etc.
It doesn't complain about mine. But it also doesn't yet check for
inter-object reachability etc.
Add "check_sha1_signature()" helper function
And fix up header declarations.
And fix up header declarations.
Factor out "read_sha1_file" into mapping/inflating/unmapping.
This allows us to also actually check the sha1 hash using these
routines. Needed for the "fsck" thing.
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.
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 ;)
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.
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.
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.
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.
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.
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.
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 hell