patches to support working without the object database

From: Bryan Larsen <hidden>
Date: 2016-06-15 22:42:01

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.

cheers,
Bryan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help