# t9350-fast-export.sh broken on peff/pu under Mac OS X

7 messages from 2012-11-10 to 2012-11-11. Participants: Torsten Bögershausen, Felipe Contreras, Junio C Hamano, Stefano Lattarini.
Thread: https://gitlist.dev/t/32055

## Torsten Bögershausen, 2012-11-10 14:37

Subject: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <509E66B0.3040308@web.de>
URL: https://gitlist.dev/e/509E66B0.3040308%40web.de

```
The short version:
echo -n doesn't seem to be portable.
The following works for me:

(And is this a typo: test_expect_success 'test biridectionality' ')

/Torsten



 diff ../../git.peff/t/t9350-fast-export.sh t9350-fast-export.sh
444,445c444,445
<       echo -n > marks-cur &&
<       echo -n > marks-new &&
---
>       > marks-cur &&
>       > marks-new &&
464c464
<       echo -n > tmp-marks &&
---
>       > tmp-marks &&
474c474
<       echo -n > expected &&
---
>       > expected &&

```

## Felipe Contreras, 2012-11-10 19:17

Subject: Re: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <CAMP44s2sKL4CJ_wcM7U9mYPX6bkaQA8hgDM6Z0QEj2TACh-8DQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAMP44s2sKL4CJ_wcM7U9mYPX6bkaQA8hgDM6Z0QEj2TACh-8DQ%40mail.gmail.com
In-Reply-To: <509E66B0.3040308@web.de>

```
On Sat, Nov 10, 2012 at 3:37 PM, Torsten Bögershausen <tboegi@web.de> wrote:
> The short version:
> echo -n doesn't seem to be portable.
> The following works for me:

Right, I was supposed to change that to:

  true > marks-cur &&

I don't think the code below works everywhere.

> (And is this a typo: test_expect_success 'test biridectionality' ')

Right, thanks.

>  diff ../../git.peff/t/t9350-fast-export.sh t9350-fast-export.sh

Please use diff -u, I think everybody is more familiar with that.

Cheers.

-- 
Felipe Contreras

```

## Junio C Hamano, 2012-11-10 22:39

Subject: Re: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <7v4nkxozep.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v4nkxozep.fsf%40alter.siamese.dyndns.org
In-Reply-To: <CAMP44s2sKL4CJ_wcM7U9mYPX6bkaQA8hgDM6Z0QEj2TACh-8DQ@mail.gmail.com>

```
Felipe Contreras <felipe.contreras@gmail.com> writes:

> On Sat, Nov 10, 2012 at 3:37 PM, Torsten Bögershausen <tboegi@web.de> wrote:
>> The short version:
>> echo -n doesn't seem to be portable.
>> The following works for me:
>
> Right, I was supposed to change that to:
>
>   true > marks-cur &&

Please make it like so:

	>marks-cur &&

No command is necessary when creating an empty file or truncating an
existing file to empty, and no SP between redirection and its target.

```

## Felipe Contreras, 2012-11-10 23:11

Subject: Re: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <CAMP44s0dQ8EeCkHo8Lh3odG3qQoeLFModec+7doLeTHnZoJ_pg@mail.gmail.com>
URL: https://gitlist.dev/e/CAMP44s0dQ8EeCkHo8Lh3odG3qQoeLFModec%2B7doLeTHnZoJ_pg%40mail.gmail.com
In-Reply-To: <7v4nkxozep.fsf@alter.siamese.dyndns.org>

```
On Sat, Nov 10, 2012 at 11:39 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> On Sat, Nov 10, 2012 at 3:37 PM, Torsten Bögershausen <tboegi@web.de> wrote:
>>> The short version:
>>> echo -n doesn't seem to be portable.
>>> The following works for me:
>>
>> Right, I was supposed to change that to:
>>
>>   true > marks-cur &&
>
> Please make it like so:
>
>         >marks-cur &&
>
> No command is necessary when creating an empty file or truncating an
> existing file to empty, and no SP between redirection and its target.

That hangs on zsh (presumably waiting for stdin).

-- 
Felipe Contreras

```

## Stefano Lattarini, 2012-11-11 00:19

Subject: Re: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <509EEF09.6060109@gmail.com>
URL: https://gitlist.dev/e/509EEF09.6060109%40gmail.com
In-Reply-To: <CAMP44s0dQ8EeCkHo8Lh3odG3qQoeLFModec+7doLeTHnZoJ_pg@mail.gmail.com>

```
On 11/11/2012 12:11 AM, Felipe Contreras wrote:
> On Sat, Nov 10, 2012 at 11:39 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>
>>> On Sat, Nov 10, 2012 at 3:37 PM, Torsten Bögershausen <tboegi@web.de> wrote:
>>>> The short version:
>>>> echo -n doesn't seem to be portable.
>>>> The following works for me:
>>>
>>> Right, I was supposed to change that to:
>>>
>>>   true > marks-cur &&
>>
>> Please make it like so:
>>
>>         >marks-cur &&
>>
>> No command is necessary when creating an empty file or truncating an
>> existing file to empty, and no SP between redirection and its target.
> 
> That hangs on zsh (presumably waiting for stdin).
>
Unless you set:

    NULLCMD=:

early in your test script.

Or, to be extra-safe, you could steal this initialization code from
autoconf:

    # Be more Bourne compatible.
    if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
      emulate sh
      NULLCMD=:
      setopt NO_GLOB_SUBST
      # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
      # is contrary to our usage.  Disable this feature.
      alias -g '${1+"$@"}'='"$@"'
    else
      case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
    fi

All of this untested with the real Git testsuite, of course ;-)

Regards, and HTH,
  Stefano

```

## Felipe Contreras, 2012-11-11 00:58

Subject: Re: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <CAMP44s3SSjDqA9cvG9T=-oVH0ADndbxi1MkWF6wR9gxcoCi_xg@mail.gmail.com>
URL: https://gitlist.dev/e/CAMP44s3SSjDqA9cvG9T%3D-oVH0ADndbxi1MkWF6wR9gxcoCi_xg%40mail.gmail.com
In-Reply-To: <509EEF09.6060109@gmail.com>

```
On Sun, Nov 11, 2012 at 1:19 AM, Stefano Lattarini
<stefano.lattarini@gmail.com> wrote:
> On 11/11/2012 12:11 AM, Felipe Contreras wrote:
>> On Sat, Nov 10, 2012 at 11:39 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>>
>>>> On Sat, Nov 10, 2012 at 3:37 PM, Torsten Bögershausen <tboegi@web.de> wrote:
>>>>> The short version:
>>>>> echo -n doesn't seem to be portable.
>>>>> The following works for me:
>>>>
>>>> Right, I was supposed to change that to:
>>>>
>>>>   true > marks-cur &&
>>>
>>> Please make it like so:
>>>
>>>         >marks-cur &&
>>>
>>> No command is necessary when creating an empty file or truncating an
>>> existing file to empty, and no SP between redirection and its target.
>>
>> That hangs on zsh (presumably waiting for stdin).
>>
> Unless you set:
>
>     NULLCMD=:
>
> early in your test script.
>
> Or, to be extra-safe, you could steal this initialization code from
> autoconf:
>
>     # Be more Bourne compatible.
>     if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
>       emulate sh
>       NULLCMD=:
>       setopt NO_GLOB_SUBST
>       # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
>       # is contrary to our usage.  Disable this feature.
>       alias -g '${1+"$@"}'='"$@"'

It doesn't seem like zsh listens to that variable in sh mode:

% zsh -c 'emulate sh; NULLCMD=foobar; > content'

And it doesn't seem like NO_GLOB_SUBST is needed any more.

I think it doesn't hurt to do 'true > marks-cur', but whatever.

Cheers.

-- 
Felipe Contreras

```

## Stefano Lattarini, 2012-11-11 09:32

Subject: Re: t9350-fast-export.sh broken on peff/pu under Mac OS X
Message-ID: <509F70C5.4080405@gmail.com>
URL: https://gitlist.dev/e/509F70C5.4080405%40gmail.com
In-Reply-To: <CAMP44s3SSjDqA9cvG9T=-oVH0ADndbxi1MkWF6wR9gxcoCi_xg@mail.gmail.com>

```
On 11/11/2012 01:58 AM, Felipe Contreras wrote:
>
> It doesn't seem like zsh listens to that variable in sh mode:
>   $ zsh -c 'emulate sh; NULLCMD=foobar; > content'
>
Right; "emulate sh" by itself is probably enough today (autoconf, trying
to make its generated scripts extra-portable, tends to accumulate a lot
of cruft unfortunately).

Thanks,
  Stefano

```
