On Nov 27, 2007, at 20:49, Jon Smirl wrote:
Rollback is too strong of name for this. Checkpoints would be better. The idea is to record the total system state at convenient moments and then allow moving back to the checkpointed state. The object store supports this, but the rest of the state in .git/* isn't being recorded.
I have always wondered why refs and tags are not in the regular object store. In a way, there should be just one root pointer (SHA1) pointing to a tree with refs, etc. As for the problem of "lots of loose objects", each command could write a single pack file. By directly writing deltas instead of complete new tree objects, storage requirements should be modest. Also, just writing a single new pack file is very efficient for I/O purposes. To prevent too many pack files, a merge policy could allow a new pack to include (and thus obsolete) a number of similarly sized or smaller packs. After the new file has been successfully written, the old files are no longer necessary and can be moved to a "trashes" area to be expired. -Geert - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html