]> git.ipfire.org Git - thirdparty/git.git/commit - Documentation/git-pack-objects.txt
pack-objects: no fetch when allow-{any,promisor}
authorJonathan Tan <jonathantanmy@google.com>
Wed, 5 Aug 2020 23:06:51 +0000 (16:06 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Aug 2020 20:01:03 +0000 (13:01 -0700)
commitee47243d7636d3d54b727ad24027a9167b68ebb1
tree6eb472fafd92fafba13ffb8257d95e048ca91f8f
parent3318238db9498749db6d4feb7a804d366eccfa82
pack-objects: no fetch when allow-{any,promisor}

The options --missing=allow-{any,promisor} were introduced in caf3827e2f
("rev-list: add list-objects filtering support", 2017-11-22) with the
following note in the commit message:

    This patch introduces handling of missing objects to help
    debugging and development of the "partial clone" mechanism,
    and once the mechanism is implemented, for a power user to
    perform operations that are missing-object aware without
    incurring the cost of checking if a missing link is expected.

The idea that these options are missing-object aware (and thus do not
need to lazily fetch objects, unlike unaware commands that assume that
all objects are present) are assumed in later commits such as 07ef3c6604
("fetch test: use more robust test for filtered objects", 2020-01-15).

However, the current implementations of these options use
has_object_file(), which indeed lazily fetches missing objects. Teach
these implementations not to do so. Also, update the documentation of
these options to be clearer.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-pack-objects.txt
builtin/pack-objects.c