After the initial posting here: http://news.gmane.org/group/gmane.comp.version-control.git/thread=233061 This is a repost plus the basic read side working, at least to validate the write side and the pack format itself. And many many bug fixes. This can also be fetched here: git://git.linaro.org/people/nico/git I consider the actual pack format definition final as implemented by this code. TODO: - index-pack support - native tree walk support - native commit graph walk support - better heuristics when creating tree delta encoding - integration with pack-objects - transfer protocol backward compatibility - thin pack completion - figure out unexplained runtime performance issues However, as I mentioned already, I've put more time on this project lately than I actually had available. I really wanted to bring this project far enough to be able to kick it out the door for others to take over, and there we are. I'm always available for design discussions and code review. But don't expect much additional code from me at this point. @junio: I'm hoping you can take this branch as is, and apply any ffurther patches on top. The diffstat goes like this: Makefile | 3 + cache.h | 11 + hex.c | 11 + pack-check.c | 4 +- pack-revindex.c | 7 +- pack-write.c | 6 +- packv4-create.c | 1105 +++++++++++++++++++++++++++++++++++++++++++++++++ packv4-parse.c | 408 ++++++++++++++++++ packv4-parse.h | 9 + sha1_file.c | 110 ++++- 10 files changed, 1648 insertions(+), 26 deletions(-) Enjoy ! -- 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