This version supports thin pack. I could clone from git.git with only
master, then fetch the rest and fsck did not complain anything. I did
not check if I broke --max-pack-size though.

Interesting patches are the ones near the end: "prepare SHA-1 table",
"support writing pack v4" and "support completing thin packs"

Still rough edges. If I don't find any new problems, I'll try to run
the test suite. My vacation days are over, so I will work at a much
slower pace than the last couple days.

Nguyễn Thái Ngọc Duy (16):
  pack v4: allocate dicts from the beginning
  pack v4: stop using static/global variables in packv4-create.c
  pack v4: move packv4-create.c to libgit.a
  pack v4: add version argument to write_pack_header
  pack_write: tighten valid object type check in
  pack-write.c: add pv4_encode_object_header
  pack-objects: add --version to specify written pack version
  list-objects.c: add show_tree_entry callback to traverse_commit_list
  pack-objects: do not cache delta for v4 trees
  pack-objects: exclude commits out of delta objects in v4
  pack-objects: create pack v4 tables
  pack-objects: prepare SHA-1 table in v4
  pack-objects: support writing pack v4
  pack v4: support "end-of-pack" indicator in index-pack and
  index-pack: use nr_objects_final as sha1_table size
  index-pack: support completing thin packs v4

 Makefile               |   4 +-
 builtin/index-pack.c   |  95 ++++++---
 builtin/pack-objects.c | 230 ++++++++++++++++++++--
 builtin/rev-list.c     |   4 +-
 bulk-checkin.c         |   2 +-
 list-objects.c         |   9 +-
 list-objects.h         |   3 +-
 pack-write.c           |  51 ++++-
 pack.h                 |   6 +-
 packv4-create.c        | 523 ++++---------------------------------------------
 packv4-create.h (new)  |  39 ++++
 test-packv4.c (new)    | 476 ++++++++++++++++++++++++++++++++++++++++++++
 upload-pack.c          |   2 +-
 13 files changed, 901 insertions(+), 543 deletions(-)
 create mode 100644 packv4-create.h
 create mode 100644 test-packv4.c


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