Commits

Author Commit Message Labels Comments Date
Linus Torvalds
Add a "check-files" command, which is useful for scripting patches. In particular, it verifies that all the listed files are up-to-date in the cache (or don't exist and are ready to be added).
Linus Torvalds
Start of early patch applicator tools for git. I looked a bit at my old BK tools for the same thing, but they were just so horrid in many ways that I largely rewrote it all and these tools do things a bit differently. Instead of aggressively piping data from one process to another (which was clever but very hard to follow), this first just splits out the mbox into many smaller email files, and then does some scripts on these temporary files.
Linus Torvalds
Add "show-files" command to show the list of managed (or non-managed) files. You want things like this to check in a patch..
Linus Torvalds
Allow zero-sized files to be checked in. The kernel may not want it, but others probably do. Noted (again) by Junio Hamano.
Linus Torvalds
Make the rev-tree output more regular. This is the last change. Promise. It now always outputs all the revisions as <sha1>:<reachability>, where the reachability is the bitmask of how that revision was reachable from the commits in the argument list. Trivially, if there is only one commit, the reachability will always be (1 << 0) == 1 for all reachable revisions, and there won't be any edges (so the "--edges" flag only makes sense with multiple commit keys).
Linus Torvalds
Make "rev-tree" capable of showing the difference in reachability between two or more commit points. This is important both to know what the difference between two commit points is, but also to figure out where to try to merge from.
Linus Torvalds
Make "rev-tree" more efficient and more useful. Slight change of output format: it now lists all parents on the same line. This allows it to work on initial commits too (which have no parents), and also makes the output format a lot more intuitive.
Linus Torvalds
Rename ".dircache" directory to ".git" I started out calling the tool "dircache". That's clearly moronic.
Linus Torvalds
Fix stale index.lock file removal using "atexit()". Problem noted by Randy Dunlap.
Linus Torvalds
Add a "rev-tree" helper, which calculates the revision tree graph. It's quite fast when the commit-objects are cached, but since it has to walk every single commit-object, it also allows you to cache an old state and just add on top of that.
Linus Torvalds
Fix "usage()" to do the missing line termination. It got broken when I changed it to use stdarg.
Linus Torvalds
Fix "update-cache" not fixing up the size field as appropriate. The size field isn't in the tree information, so we need to update it if the sha1 matches.
Linus Torvalds
Make the default directory permissions more lax. After all, if you want to not allow others to read your stuff, set your "umask" appropriately or make sure the parent directories aren't readable/executable.
Linus Torvalds
Add a COPYING notice, making it explicit that the license is GPLv2. Let's bite the v3 bullet when it comes, although if people want to, they can just state "or later at discretion of Linus" in their copyright messages.
Linus Torvalds
Make "update-cache --refresh" do what it really should do: just refresh the "stat" information. We need this after having done a "read-tree", for example, when the stat information does not match the checked-out tree, and we want to start getting efficient cache matching against the parts of the tree that are already up-to-date.
Linus Torvalds
Fix up commit-tree/diff-tree user interface issues. No, this doesn't make them easy to use, but makes diff-tree use the "-r" flag for "recursive" (not "-R") and makes commit-tree use AUTHOR_xxx environment flags (not COMMITTER_xxx) to match what it actually does.
Linus Torvalds
Oops. Fix bad initialization of the "seen" array, causing us to not properly clear the reference count at init time. It happened to work for me by pure luck. Until it broke, and my unreferenced commit suddenly looked referenced again. Fixed.
Linus Torvalds
Oops, the actual 'printf' for missing objects was missing. Which made fsck very quiet about objects it hadn't found. So add it. We'll need to make things like these optional, because it's perfectly ok to have partial history if you don't want it, and don't want to go backwards. But for development, it's best to always complain about missing sha1 object files that are referenced from somewhere else.
Linus Torvalds
Add connectivity tracking to fsck. This shows that I've lost track of one commit already. Most likely because I forgot to update the .dircache/HEAD file when doing a commit, so that the next commit referenced not the top-of-tree, but the one older commit. Having dangling commits is fine (in fact, you should always have at least _one_ dangling commit in the top-of-tree). But it's good to know about them.
Linus Torvalds
Fix off-by-one error in removal of cache entry. Also make the return value of "cache_name_pos()" be sane: positive or zero if we found it (it's the index into the cache array), and "-pos-1" to indicate where it should go if we didn't.
Linus Torvalds
Fix diff-tree recursion. And, perhaps more importantly, fix the fact that if a filename changed from a directory to a file (or vice versa), we must consider it a delete and an add, not a "filechange".
Linus Torvalds
Simplify "diff-tree" output, and only keep track of one single name-base. During original development I had different name-bases for source and destination, so that I could make the output show how it got removed from "tree a" and added to "tree b", but we don't want that. We only do recursive diffs on anything where the bases are exactly the same, so we might as well just work with a single base. Also, make the output for "changed" be a single line, since people hate…
Linus Torvalds
Add "-R" flag to "diff-tree", so that it will recursively traverse a tree of trees as it diffs them. This makes diff-tree usable again in the new world order.
Linus Torvalds
Make "update-cache" a bit friendlier to use (and harder to mis-use). It now requires the "--add" flag before you add any new files, and a "--remove" file if you want to mark files for removal. And giving it the "--refresh" flag makes it just update all the files that it already knows about.
Linus Torvalds
This implements the new "recursive tree" write-tree. 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.
Linus Torvalds
Make fsck-cache warn about old-style tree objects that have full 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.
Linus Torvalds
Teach "fsck" and "read-tree" about recursive tree-nodes. 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.
Linus Torvalds
Make "fsck-cache" print out all the root commits it finds. Once I do the reference tracking, I'll also make it print out all the HEAD commits it finds, which is even more interesting.
Linus Torvalds
Add "diff-tree" program to show which files have changed between two trees. Very useful for creating diffs efficiently, and in general to see what has changed in the namespace.
Linus Torvalds
Export "cache_name_compare()" helper function. The "diff-tree" program needs it.
  1. Prev
  2. Next