git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] fetch: pass --no-write-fetch-head to subprocesses

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 8, 2023, 23:13 UTC
Message-ID
<xmqqttyurg4w.fsf@gitster.g>
In-Reply-To
<20230308222205.M679514@dcvr>
Eric Wong <e@80x24.org> writes:
Show 6 quoted lines
> +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)
> +'

The style used in the other script might be more modern, but given that the existing one (in the post context) uses the same older style, I think that would be OK.

Show 16 quoted lines
>  test_expect_success 'git fetch --all should continue if a remote has errors' '
>  	(git clone one test2 &&
>  	 cd test2 &&
> diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh
> index b9546ef8e5..8ffb300f2d 100755
> --- a/t/t5526-fetch-submodules.sh
> +++ b/t/t5526-fetch-submodules.sh
> @@ -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 &&
> +		fh=$(find . -name FETCH_HEAD -type f) &&
> +		rm -f $fh &&

I do not like this part. The "rm -f" we saw in the "fetch --all" test was "make sure it is missing, so that we can be sure that presence after running 'git fetch' *is* a bug". But using $fh later ...

Show 5 quoted lines
> +		git fetch --recurse-submodules --no-write-fetch-head &&
> +		for f in $fh
> +		do
> +			test_path_is_missing $f || return 1
> +		done

... like this means now we depend on FETCH_HEAD being in all submodule repositories before we start this step.

I think we should instead enumerate submodule repositories, instead of enumerating existing .git/FETCH_HEAD files.

Show 6 quoted lines
> +	)
> +'
> +
>  test_expect_success "submodule.recurse option triggers recursive fetch" '
>  	add_submodule_commits &&
>  	(
Previous: Eric WongNext: Junio C Hamano
Message 4 of 8 in “fetch: pass --no-write-fetch-head to subprocesses”
  1. fetch: pass --no-write-fetch-head to subprocessesEric Wong, Mar 8, 2023
  2. Junio C HamanoMar 8, 2023
  3. fetch: pass --no-write-fetch-head to subprocessesEric Wong, Mar 8, 2023
  4. Junio C HamanoMar 8, 2023
  5. Junio C HamanoMar 8, 2023
  6. Eric WongMar 8, 2023
  7. Junio C HamanoMar 9, 2023
  8. Jeff KingMar 9, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.