[PATCH v2 00/25] Move exported packfile funcs to its own file
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Aug 9, 2017, 01:22 UTC
- Message-ID
- <cover.1502241234.git.jonathantanmy@google.com>
- In-Reply-To
- <cover.1502220307.git.jonathantanmy@google.com>
Here is the complete patch set. I have only moved the exported functions that operate with packfiles and their static helpers - for example, static functions like freshen_packed_object() that are used only by non-pack-specific functions are not moved.
In the end, 3 functions needed to be made global. They are find_pack_entry(), mark_bad_packed_object(), and has_packed_and_bad().
Of the 3, find_pack_entry() is probably legitimately promoted. But I think that the latter two functions needing to be accessed from sha1_file.c points to a design that could be improved - they are only used when packed_object_info() detects corruption, and used for marking as bad and printing messages to the user respectively, which packed_object_info() should probably do itself. But I have not made this change in this patch set.
(Other than the 3 functions above, there are some variables and functions that are temporarily made global, but reduced back to static when the wide scope is no longer needed.)
Jonathan Tan (25):
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()
pack: move get_size_from_delta()
pack: move unpack_object_header()
sha1_file: set whence in storage-specific info fn
sha1_file: remove read_packed_sha1()
pack: move 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/gc.c | 1 + builtin/merge.c | 1 + builtin/pack-redundant.c | 1 + builtin/prune-packed.c | 1 + cache.h | 122 +-- connected.c | 1 + diff.c | 1 + git-compat-util.h | 2 - http-backend.c | 1 + http-push.c | 1 + http-walker.c | 1 + pack.h | 137 +++ packfile.c | 1905 +++++++++++++++++++++++++++++++++++ path.c | 1 + reachable.c | 1 + revision.c | 1 + server-info.c | 1 + sha1_file.c | 2484 ++++++---------------------------------------- sha1_name.c | 1 + streaming.c | 1 + 26 files changed, 2350 insertions(+), 2321 deletions(-) create mode 100644 packfile.c
-- 2.14.0.434.g98096fd7a8-goog