After the initial posting here:

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:


I consider the actual pack format definition final as implemented
by this code.


- 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
More majordomo info at

Reply via email to