# [PATCH] Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh

3 messages from 2008-04-27 to 2008-04-27. Participants: Alex Riesen, Junio C Hamano.
Thread: https://gitlist.dev/t/13281

## Alex Riesen, 2008-04-27 11:31

Subject: [PATCH] Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh
Message-ID: <20080427113123.GA3712@steel.home>
URL: https://gitlist.dev/e/20080427113123.GA3712%40steel.home

```
As a nice side effect it also fixes t2002-checkout-cache-u.sh on FreeBSD 4,
/bin/sh of which has problems interpreting "! command" construction.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---

To be honest - it was the other way around: I wanted to fix the test
on FreeBSD, but ended up using --exit-code and test_must_fail

 t/t2002-checkout-cache-u.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/t2002-checkout-cache-u.sh b/t/t2002-checkout-cache-u.sh
index 0f441bc..70361c8 100755
--- a/t/t2002-checkout-cache-u.sh
+++ b/t/t2002-checkout-cache-u.sh
@@ -21,13 +21,13 @@ test_expect_success \
 rm -f path0 &&
 git read-tree $t &&
 git checkout-index -f -a &&
-! git diff-files | diff - /dev/null'
+test_must_fail git diff-files --exit-code'
 
 test_expect_success \
 'with -u, git checkout-index picks up stat information from new files.' '
 rm -f path0 &&
 git read-tree $t &&
 git checkout-index -u -f -a &&
-git diff-files | diff - /dev/null'
+git diff-files --exit-code'
 
 test_done
-- 
1.5.5.1.113.g4af4

```

## Junio C Hamano, 2008-04-27 17:21

Subject: Re: [PATCH] Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh
Message-ID: <7viqy3gqn9.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7viqy3gqn9.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <20080427113123.GA3712@steel.home>

```
Alex Riesen <raa.lkml@gmail.com> writes:

> As a nice side effect it also fixes t2002-checkout-cache-u.sh on FreeBSD 4,
> /bin/sh of which has problems interpreting "! command" construction.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---
>
> To be honest - it was the other way around: I wanted to fix the test
> on FreeBSD, but ended up using --exit-code and test_must_fail

Do you mean /bin/sh there misinterprets "! cmd1 | cmd2" as "(! cmd1) |
cmd2" and always returns true or something silly like that?  I see a few
other places in t3400, t3700, t5302, t7002, etc. that use that construct
without an obvious workaround "! (cmd1 | cmd2)" which t0030 uses.

>  test_expect_success \
>  'with -u, git checkout-index picks up stat information from new files.' '
>  rm -f path0 &&
>  git read-tree $t &&
>  git checkout-index -u -f -a &&
> -git diff-files | diff - /dev/null'
> +git diff-files --exit-code'

Is this something FreeBSD 4 has trouble with as well (not a request to
drop this hunk but asking for info)?

```

## Alex Riesen, 2008-04-27 17:49

Subject: Re: [PATCH] Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh
Message-ID: <20080427174907.GB3828@steel.home>
URL: https://gitlist.dev/e/20080427174907.GB3828%40steel.home
In-Reply-To: <7viqy3gqn9.fsf@gitster.siamese.dyndns.org>

```
Junio C Hamano, Sun, Apr 27, 2008 19:21:30 +0200:
> Alex Riesen <raa.lkml@gmail.com> writes:
> 
> > As a nice side effect it also fixes t2002-checkout-cache-u.sh on FreeBSD 4,
> > /bin/sh of which has problems interpreting "! command" construction.
> >
> > Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> > ---
> >
> > To be honest - it was the other way around: I wanted to fix the test
> > on FreeBSD, but ended up using --exit-code and test_must_fail
> 
> Do you mean /bin/sh there misinterprets "! cmd1 | cmd2" as "(! cmd1) |
> cmd2" and always returns true or something silly like that?  I see a few
> other places in t3400, t3700, t5302, t7002, etc. that use that construct
> without an obvious workaround "! (cmd1 | cmd2)" which t0030 uses.

Yes. That one was just a place I very slowly got to (I have not much
motivation and only one _very remote_ (and production) machine to try
things on).

> >  test_expect_success \
> >  'with -u, git checkout-index picks up stat information from new files.' '
> >  rm -f path0 &&
> >  git read-tree $t &&
> >  git checkout-index -u -f -a &&
> > -git diff-files | diff - /dev/null'
> > +git diff-files --exit-code'
> 
> Is this something FreeBSD 4 has trouble with as well (not a request to
> drop this hunk but asking for info)?

No, this is just the same file and similar construction (use external
diff just to figure out if there are any differences). This is why I
(re)named the patch for "modern syntax". It is named "make t2002 work
on FreeBSD4" in my tree.

```
