Browse Source

fetch: pass --no-write-fetch-head to subprocesses

It seems a user would expect this option would work regardless
of whether it's fetching from a single remote, many remotes,
or recursing into submodules.

Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Eric Wong 2 years ago committed by Junio C Hamano
parent
commit
15184ae9da
  1. 2
      builtin/fetch.c
  2. 7
      t/t5514-fetch-multiple.sh
  3. 13
      t/t5526-fetch-submodules.sh

2
builtin/fetch.c

@ -1880,6 +1880,8 @@ static void add_options_to_argv(struct strvec *argv) @@ -1880,6 +1880,8 @@ static void add_options_to_argv(struct strvec *argv)
strvec_push(argv, "--ipv4");
else if (family == TRANSPORT_FAMILY_IPV6)
strvec_push(argv, "--ipv6");
if (!write_fetch_head)
strvec_push(argv, "--no-write-fetch-head");
}

/* Fetch multiple remotes in parallel */

7
t/t5514-fetch-multiple.sh

@ -58,6 +58,13 @@ test_expect_success 'git fetch --all' ' @@ -58,6 +58,13 @@ test_expect_success 'git fetch --all' '
test_cmp expect output)
'

test_expect_success 'git fetch --all --no-write-fetch-head' '
(cd test &&
rm -f .git/FETCH_HEAD &&
git fetch --all --no-write-fetch-head &&
test_path_is_missing .git/FETCH_HEAD)
'

test_expect_success 'git fetch --all should continue if a remote has errors' '
(git clone one test2 &&
cd test2 &&

13
t/t5526-fetch-submodules.sh

@ -167,6 +167,19 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" ' @@ -167,6 +167,19 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" '
verify_fetch_result actual.err
'

test_expect_success "fetch --recurse-submodules honors --no-write-fetch-head" '
(
cd downstream &&
git submodule foreach --recursive \
sh -c "cd \"\$(git rev-parse --git-dir)\" && rm -f FETCH_HEAD" &&

git fetch --recurse-submodules --no-write-fetch-head &&

git submodule foreach --recursive \
sh -c "cd \"\$(git rev-parse --git-dir)\" && ! test -f FETCH_HEAD"
)
'

test_expect_success "submodule.recurse option triggers recursive fetch" '
add_submodule_commits &&
(

Loading…
Cancel
Save