]> git.ipfire.org Git - thirdparty/git.git/commit
git: extend --no-lazy-fetch to work across subprocesses
authorJunio C Hamano <gitster@pobox.com>
Tue, 27 Feb 2024 16:48:29 +0000 (08:48 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Feb 2024 17:53:14 +0000 (09:53 -0800)
commite6d5479e7ac301ae8d11daa3d8ef748e891c91c3
tree6596f1d98f2bb2397eb21fcf28252789fa34c2c6
parentb3806f7633f69d44a2ade95b92ba21fb59362f4e
git: extend --no-lazy-fetch to work across subprocesses

Modeling after how the `--no-replace-objects` option is made usable
across subprocess spawning (e.g., cURL based remote helpers are
spawned as a separate process while running "git fetch"), allow the
`--no-lazy-fetch` option to be passed across process boundaries.

Do not model how the value of GIT_NO_REPLACE_OBJECTS environment
variable is ignored, though.  Just use the usual git_env_bool() to
allow "export GIT_NO_LAZY_FETCH=0" and "unset GIT_NO_LAZY_FETCH"
to be equivalents.

Also do not model how the request is not propagated to subprocesses
we spawn (e.g. "git clone --local" that spawns a new process to work
in the origin repository, while the original one working in the
newly created one) by the "--no-replace-objects" option, as this "do
not lazily fetch from the promisor" is more about a per-request
debugging aid, not "this repository's promisor should not be relied
upon" property specific to a repository.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git.txt
environment.c
environment.h
git.c
t/t0410-partial-clone.sh