Subject: Re: [GSoC] Intro and Micro-project

From: Junio C Hamano <[email-masked]>
Date: Tue, 21 Mar 2023 10:41:33 -0700

Taylor Blau <[email-masked]> writes:

> That sounds great! I assume that you meant avoiding pipelines where the
> 'git' executable is in a non-terminal position of the pipe, e.g.:
>
>     $ git blah | <something else>
>
> Since if "git blah" exited with a non-zero code or crashed, etc., then
> we wouldn't see the failure since the pipeline would suppress it.
>
> That has been a long-standing goal within the test suite, and I think
> that it's a great project to get you started. It'll ensure that you have
> all of the bits in the right place to get Git running on your machine
> and that you're able to run the tests.

Yes, but can somebody rewrite the micro-project idea page to clarify
what the "pipe" thing is about a bit more, so that you do not have
to repeat the above explanation the next time ;-)?

It is not "we do not want pipe", but it is about "we do not want to
ignore exit status of git".  So just like 

	$ git <subcommand> | <some other command>

sequence is bad, we want to avoid 

	$ <some command> $(git <subcommand>)

that feeds output of Git as an argument to some other command.  And

	<some command> <<EOF
	... some text ...
	$(git <subcommand)
	EOF

is bad too.  But

	var=$(git <subcommand>)

is OK ;-).