Sometimes you may wish to keep an audit trail of what changed, where, and by whom. You do not need to know the exact details of the change, and the files are so large that keeping an extra copy of the data in the object database cache is prohibitively expensive.

Git is (almost) ideally suited for this. There's very little out there that is faster than git-diff-cache.

The design of git also facilitates this. git-update-cache --cacheinfo allows the index to be updated without an object in the database, and operations can then be performed around the index. However, there are some things that are inconvenient and one show stopper.

I will separately mail a series of patches. The first will address the show stopper, the rest the inconveniences. Once applied, cg-init, cg-commit and cg-add will all take the "-N" option to update the index without moving the objects into the database. Operations that don't require the database such as cg-status and cg-log -f work fine and are very useful.

I don't expect the patches to be accepted as is. One was designed to be minimally intrusive, but I suspect that there is a better way to do it: suggestions are welcome. The controversial one switches git-update-cache --refresh to rely on the SHA1 being unique rather than doing a byte comparison against the (possibly missing) object database. It could be made an option, but I think that's ugly.

All patches are against cogito-0.12.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to