While investigating annotating packfiles and loose objects to support connectivity checks in partial clones [1], I decided to make the effort to separate packfile-related code from sha1_file.c into its own file, to make it easier to both code such changes and review them. Here is the beginning of those efforts. Is this something worth doing, and if yes, is this in the right direction? [1] https://public-inbox.org/git/20170804145113.5ceafafa@xxxxxxxxxxxxxxxxxxxxxxxxxxx/ Jonathan Tan (10): pack: move pack name-related functions pack: move static state variables pack: move pack_report() pack: move open_pack_index(), parse_pack_index() pack: move release_pack_memory() pack: move pack-closing functions pack: move use_pack() pack: move unuse_pack() pack: move add_packed_git() pack: move install_packed_git() Makefile | 1 + builtin/am.c | 1 + builtin/clone.c | 1 + builtin/count-objects.c | 1 + builtin/fetch.c | 1 + builtin/merge.c | 1 + builtin/pack-redundant.c | 1 + cache.h | 45 ---- connected.c | 1 + git-compat-util.h | 2 - pack.c | 669 +++++++++++++++++++++++++++++++++++++++++++++++ pack.h | 51 ++++ sha1_file.c | 667 ---------------------------------------------- sha1_name.c | 1 + streaming.c | 1 + 15 files changed, 730 insertions(+), 714 deletions(-) create mode 100644 pack.c -- 2.14.0.434.g98096fd7a8-goog