Web lists-archives.com

Re: [PATCH] t*: avoid using pipes

On Tue, Mar 07, 2017 at 12:52:49PM -0800, Stefan Beller wrote:

> On Tue, Mar 7, 2017 at 12:39 PM, Johannes Sixt <j6t@xxxxxxxx> wrote:
> > Welcome to the Git community!
> >
> > Actually, being a *micro* project, it should stay so. Not doing all of the
> > changes would leave some tasks for other apprentices to get warm with our
> > review process.
> right, so just pick one file.

I also wonder if we really want all invocations of git to be marked up
in this way. If the primary goal of the test is checking that a certain
git command runs successfully and generates the expected output, then I
think it is a good candidate for conversion.

So in a hunk like this:

   test_expect_success 'git commit-tree records the correct tree in a commit' '
   	commit0=$(echo NO | git commit-tree $P) &&
  -	tree=$(git show --pretty=raw $commit0 |
  -		 sed -n -e "s/^tree //p" -e "/^author /q") &&
  +	tree=$(git show --pretty=raw $commit0 >out &&
  +	sed -n -e "s/^tree //p" -e "/^author /q" <out) &&
   	test "z$tree" = "z$P"

we are interested in testing commit-tree, not "git show". Is it worth
avoiding pipes there? I admit the cost to using the intermediate file is
not huge there, but it feels more awkward and un-shell-like to me as a