> You'd need to double check, but I think the topics that cause > trouble are rs/find-apck-entry-bisection and jk/drop-sha1-entry-pos; > you can start from v2.14.1 and merge these topics on top and then > build your change on top. That would allow you to start cooking > before both of them graduate to 'master', as I expect they are both > quick-to-next material. There might be other topics that interfere > with what you are doing, but you can easily find out what they are > if you do a trial merge to 'next' and 'pu' yourself. OK - in addition to the 2 you mentioned, I have found some others (likely added after you wrote that). The complete list is: - rs/find-pack-entry-bisection - jk/drop-sha1-entry-pos - jt/sha1-file-cleanup (formerly part of this set) - mk/use-size-t-in-zlib - rs/unpack-entry-leakfix I have merged all of these and rebased my patches on top. Other changes: - Used packfile.h instead of pack.h (following most people's preference) - Ensured that I added functions to packfile.h retaining the order they were originally in, so that if you run "git diff <base> --color-moved --patience", there are much fewer zebra stripes The merge base commit can be accessed online [1], if you need it. [1] https://github.com/jonathantanmy/git/commits/packmigrate Jonathan Tan (23): 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() pack: move {,re}prepare_packed_git and approximate_object_count pack: move unpack_object_header_buffer() pack: move get_size_from_delta() pack: move unpack_object_header() pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry() pack: move nth_packed_object_{sha1,oid} pack: move check_pack_index_ptr(), nth_packed_object_offset() pack: move find_pack_entry_one(), is_pack_valid() pack: move find_sha1_pack() pack: move find_pack_entry() and make it global pack: move has_sha1_pack() pack: move has_pack_index() pack: move for_each_packed_object() Makefile | 1 + builtin/am.c | 1 + builtin/cat-file.c | 1 + builtin/clone.c | 1 + builtin/count-objects.c | 1 + builtin/fetch.c | 1 + builtin/fsck.c | 1 + builtin/gc.c | 1 + builtin/index-pack.c | 1 + builtin/merge.c | 1 + builtin/pack-objects.c | 1 + builtin/pack-redundant.c | 1 + builtin/prune-packed.c | 1 + builtin/receive-pack.c | 1 + bulk-checkin.c | 1 + cache.h | 122 +-- connected.c | 1 + diff.c | 1 + fast-import.c | 1 + fetch-pack.c | 1 + git-compat-util.h | 2 - http-backend.c | 1 + http-push.c | 1 + http-walker.c | 1 + http.c | 1 + outgoing/packfile.h | 0 pack-bitmap.c | 1 + pack-check.c | 1 + packfile.c | 1896 +++++++++++++++++++++++++++++++++++ packfile.h | 138 +++ path.c | 1 + reachable.c | 1 + revision.c | 1 + server-info.c | 1 + sha1_file.c | 2452 ++++++---------------------------------------- sha1_name.c | 1 + streaming.c | 1 + 37 files changed, 2354 insertions(+), 2287 deletions(-) create mode 100644 outgoing/packfile.h create mode 100644 packfile.c create mode 100644 packfile.h -- 2.14.1.480.gb18f417b89-goog