summaryrefslogtreecommitdiff
path: root/builtin/index-pack.c
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-04-25 18:21:06 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-26 01:54:28 (GMT)
commit9d98354f48997faf8251c566d909957f6ae427d5 (patch)
treedb9184ba03360fb7ccf302ad8de009f1027175aa /builtin/index-pack.c
parent589de911852cc3ce689fa3702ecb54c0049aeec1 (diff)
downloadgit-9d98354f48997faf8251c566d909957f6ae427d5.zip
git-9d98354f48997faf8251c566d909957f6ae427d5.tar.gz
git-9d98354f48997faf8251c566d909957f6ae427d5.tar.bz2
cache.h: allow oid_object_info to handle arbitrary repositories
This involves also adapting oid_object_info_extended and a some internal functions that are used to implement these. It all has to happen in one patch, because of a single recursive chain of calls visits all these functions. oid_object_info_extended is also used in partial clones, which allow fetching missing objects. As this series will not add the repository struct to the transport code and fetch_object(), add a TODO note and omit fetching if a user tries to use a partial clone in a repository other than the_repository. Among the functions modified to handle arbitrary repositories, unpack_entry() is one of them. Note that it still references the globals "delta_base_cache" and "delta_base_cached", but those are safe to be referenced (the former is indexed partly by "struct packed_git *", which is repo-specific, and the latter is only used to limit the size of the former as an optimization). Helped-by: Brandon Williams <bmwill@google.com> Helped-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Reviewed-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/index-pack.c')
0 files changed, 0 insertions, 0 deletions