Re: [PATCH] t*: avoid using pipes
- Date: Wed, 8 Mar 2017 01:03:34 -0500
- From: Jeff King <peff@xxxxxxxx>
- Subject: 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