* [PATCH] t6030 (bisect): work around Mac OS X "ls"
@ 2008-07-24 1:37 Jonathan Nieder
2008-07-24 5:57 ` Christian Couder
0 siblings, 1 reply; 12+ messages in thread
From: Jonathan Nieder @ 2008-07-24 1:37 UTC (permalink / raw)
To: git; +Cc: Christian Couder
t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
status when asked to list nonexistent files. Unfortunately,
/bin/ls on Mac OS X 10.3 exits with exit code 0. So use "echo
<shell glob pattern>" and grep instead.
Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
---
With this change, all the non-git-svn tests pass on my machine.
I think the fix is portable but I do not have the experience to
be sure. So I would be happier if someone looks it over.
t/t6030-bisect-porcelain.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 0626544..d19fc1c 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk instead of revs' '
test_must_fail git bisect start foo $HASH1 -- &&
test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
test -z "$(git for-each-ref "refs/bisect/*")" &&
- test_must_fail ls .git/BISECT_* &&
+ echo .git/BISECT_* | test_must_fail grep BISECT_[^*] &&
git bisect start &&
test_must_fail git bisect good foo $HASH1 &&
test_must_fail git bisect good $HASH1 bar &&
--
1.5.6.3.549.g8ca11
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 1:37 [PATCH] t6030 (bisect): work around Mac OS X "ls" Jonathan Nieder
@ 2008-07-24 5:57 ` Christian Couder
2008-07-24 6:06 ` Mike Hommey
0 siblings, 1 reply; 12+ messages in thread
From: Christian Couder @ 2008-07-24 5:57 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git
Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
> t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
> status when asked to list nonexistent files. Unfortunately,
> /bin/ls on Mac OS X 10.3 exits with exit code 0. So use "echo
> <shell glob pattern>" and grep instead.
>
> Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
> ---
> With this change, all the non-git-svn tests pass on my machine.
> I think the fix is portable but I do not have the experience to
> be sure. So I would be happier if someone looks it over.
>
> t/t6030-bisect-porcelain.sh | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
> index 0626544..d19fc1c 100755
> --- a/t/t6030-bisect-porcelain.sh
> +++ b/t/t6030-bisect-porcelain.sh
> @@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk
> instead of revs' ' test_must_fail git bisect start foo $HASH1 -- &&
> test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
> test -z "$(git for-each-ref "refs/bisect/*")" &&
> - test_must_fail ls .git/BISECT_* &&
> + echo .git/BISECT_* | test_must_fail grep BISECT_[^*] &&
Perhaps the following is simpler:
+ test -z "$(ls .git/BISECT_*)" &&
> git bisect start &&
> test_must_fail git bisect good foo $HASH1 &&
> test_must_fail git bisect good $HASH1 bar &&
Thanks,
Christian.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 5:57 ` Christian Couder
@ 2008-07-24 6:06 ` Mike Hommey
2008-07-24 7:43 ` [PATCH v2] " Jonathan Nieder
0 siblings, 1 reply; 12+ messages in thread
From: Mike Hommey @ 2008-07-24 6:06 UTC (permalink / raw)
To: Christian Couder; +Cc: Jonathan Nieder, git
On Thu, Jul 24, 2008 at 07:57:26AM +0200, Christian Couder wrote:
> Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
> > t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
> > status when asked to list nonexistent files. Unfortunately,
> > /bin/ls on Mac OS X 10.3 exits with exit code 0. So use "echo
> > <shell glob pattern>" and grep instead.
> >
> > Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
> > ---
> > With this change, all the non-git-svn tests pass on my machine.
> > I think the fix is portable but I do not have the experience to
> > be sure. So I would be happier if someone looks it over.
> >
> > t/t6030-bisect-porcelain.sh | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
> > index 0626544..d19fc1c 100755
> > --- a/t/t6030-bisect-porcelain.sh
> > +++ b/t/t6030-bisect-porcelain.sh
> > @@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk
> > instead of revs' ' test_must_fail git bisect start foo $HASH1 -- &&
> > test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
> > test -z "$(git for-each-ref "refs/bisect/*")" &&
> > - test_must_fail ls .git/BISECT_* &&
> > + echo .git/BISECT_* | test_must_fail grep BISECT_[^*] &&
>
> Perhaps the following is simpler:
>
> + test -z "$(ls .git/BISECT_*)" &&
That is still a useless use of ls ;)
Mike
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 6:06 ` Mike Hommey
@ 2008-07-24 7:43 ` Jonathan Nieder
2008-07-24 16:54 ` Mike Hommey
2008-07-27 3:19 ` [PATCH v2] " Christian Couder
0 siblings, 2 replies; 12+ messages in thread
From: Jonathan Nieder @ 2008-07-24 7:43 UTC (permalink / raw)
To: Mike Hommey; +Cc: Christian Couder, git
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: TEXT/PLAIN; charset=X-UNKNOWN, Size: 1513 bytes --]
t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
status when asked to list nonexistent files. Unfortunately,
/bin/ls on Mac OS X 10.3 exits with exit code 0. So look at
its output instead.
Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
---
Mike Hommey wrote:
> On Thu, Jul 24, 2008 at 07:57:26AM +0200, Christian Couder wrote:
>> Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
>>> - test_must_fail ls .git/BISECT_* &&
>>> + echo .git/BISECT_* | test_must_fail grep BISECT_[^*] &&
>>
>> Perhaps the following is simpler:
>>
>> + test -z "$(ls .git/BISECT_*)" &&
>
> That is still a useless use of ls ;)
It is much better than what I wrote, at least.
Good night (well, good morning I guess), and thanks.
t/t6030-bisect-porcelain.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 0626544..244fda6 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk instead of revs' '
test_must_fail git bisect start foo $HASH1 -- &&
test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
test -z "$(git for-each-ref "refs/bisect/*")" &&
- test_must_fail ls .git/BISECT_* &&
+ test -z "$(ls .git/BISECT_* 2>/dev/null)" &&
git bisect start &&
test_must_fail git bisect good foo $HASH1 &&
test_must_fail git bisect good $HASH1 bar &&
--
1.5.6.3.549.g8ca11
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 7:43 ` [PATCH v2] " Jonathan Nieder
@ 2008-07-24 16:54 ` Mike Hommey
2008-07-24 17:44 ` Johannes Schindelin
2008-07-24 17:51 ` [PATCH v3] " Jonathan Nieder
2008-07-27 3:19 ` [PATCH v2] " Christian Couder
1 sibling, 2 replies; 12+ messages in thread
From: Mike Hommey @ 2008-07-24 16:54 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Christian Couder, git
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 878 bytes --]
On Thu, Jul 24, 2008 at 02:43:51AM -0500, Jonathan Nieder wrote:
> t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
> status when asked to list nonexistent files. Unfortunately,
> /bin/ls on Mac OS X 10.3 exits with exit code 0. So look at
> its output instead.
>
> Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
> ---
>
> Mike Hommey wrote:
>
> > On Thu, Jul 24, 2008 at 07:57:26AM +0200, Christian Couder wrote:
> >> Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
> >>> - test_must_fail ls .git/BISECT_* &&
> >>> + echo .git/BISECT_* | test_must_fail grep BISECT_[^*] &&
> >>
> >> Perhaps the following is simpler:
> >>
> >> + test -z "$(ls .git/BISECT_*)" &&
> >
> > That is still a useless use of ls ;)
>
> It is much better than what I wrote, at least.
But could also be written with echo instead of ls.
Mike
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 16:54 ` Mike Hommey
@ 2008-07-24 17:44 ` Johannes Schindelin
2008-07-24 17:51 ` [PATCH v3] " Jonathan Nieder
1 sibling, 0 replies; 12+ messages in thread
From: Johannes Schindelin @ 2008-07-24 17:44 UTC (permalink / raw)
To: Mike Hommey; +Cc: Jonathan Nieder, Christian Couder, git
Hi,
On Thu, 24 Jul 2008, Mike Hommey wrote:
> On Thu, Jul 24, 2008 at 02:43:51AM -0500, Jonathan Nieder wrote:
>
> > Mike Hommey wrote:
> >
> > > On Thu, Jul 24, 2008 at 07:57:26AM +0200, Christian Couder wrote:
> > >
> > >> + test -z "$(ls .git/BISECT_*)" &&
> > >
> > > That is still a useless use of ls ;)
> >
> > It is much better than what I wrote, at least.
>
> But could also be written with echo instead of ls.
Sure, but then it looks uglier:
test ".git/BISECT_*" = "$(echo .git/BISECT_*)" &&
and it is much easier to hide a typo there.
And now the big question: is it performance critical? Or is obvious
correctness the highest goal here?
Hth,
Dscho
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 16:54 ` Mike Hommey
2008-07-24 17:44 ` Johannes Schindelin
@ 2008-07-24 17:51 ` Jonathan Nieder
2008-07-24 18:16 ` Jonathan Nieder
1 sibling, 1 reply; 12+ messages in thread
From: Jonathan Nieder @ 2008-07-24 17:51 UTC (permalink / raw)
To: Mike Hommey; +Cc: Christian Couder, git
t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
status when asked to list nonexistent files. Unfortunately,
/bin/ls on Mac OS X 10.3 exits with exit code 0. So use "echo"
instead.
Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
---
Mike Hommey wrote:
>>>> + test -z "$(ls .git/BISECT_*)" &&
>>> That is still a useless use of ls ;)
>> It is much better than what I wrote, at least.
> But could also be written with echo instead of ls.
How about this? (The echo is necessary because the argument
to a case statement does not undergo filename expansion.)
t/t6030-bisect-porcelain.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 0626544..b6841fe 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk instead of revs' '
test_must_fail git bisect start foo $HASH1 -- &&
test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
test -z "$(git for-each-ref "refs/bisect/*")" &&
- test_must_fail ls .git/BISECT_* &&
+ case $(echo .git/BISECT_*) in *\*) ;; *) false ;; esac &&
git bisect start &&
test_must_fail git bisect good foo $HASH1 &&
test_must_fail git bisect good $HASH1 bar &&
--
1.5.6.3.549.g8ca11
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 17:51 ` [PATCH v3] " Jonathan Nieder
@ 2008-07-24 18:16 ` Jonathan Nieder
0 siblings, 0 replies; 12+ messages in thread
From: Jonathan Nieder @ 2008-07-24 18:16 UTC (permalink / raw)
To: Mike Hommey; +Cc: Christian Couder, git
Jonathan Nieder wrote:
> - test_must_fail ls .git/BISECT_* &&
> + case $(echo .git/BISECT_*) in *\*) ;; *) false ;; esac &&
Actually, if we want to go that route, I prefer the version Dscho gave.
So please ignore my patch v3; I'd rather people choose between
Christian's and Dscho's suggestions.
Personally, without knowing how much time avoiding the ls saves, I
am not sure which is best. Certainly the version with "ls" is clearer,
which is most important; but if the time savings (of avoiding such
constructs generally) are significant, then that is very much worthwhile
- a faster test suite can be run more often.
Jonathan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-24 7:43 ` [PATCH v2] " Jonathan Nieder
2008-07-24 16:54 ` Mike Hommey
@ 2008-07-27 3:19 ` Christian Couder
2008-07-27 4:04 ` Christian Couder
1 sibling, 1 reply; 12+ messages in thread
From: Christian Couder @ 2008-07-27 3:19 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Mike Hommey, git
Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
> t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
> status when asked to list nonexistent files. Unfortunately,
> /bin/ls on Mac OS X 10.3 exits with exit code 0. So look at
> its output instead.
>
> Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
Acked-by: Christian Couder <chriscool@tuxfamily.org>
Thanks,
Christian.
> ---
>
> Mike Hommey wrote:
> > On Thu, Jul 24, 2008 at 07:57:26AM +0200, Christian Couder wrote:
> >> Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
> >>> - test_must_fail ls .git/BISECT_* &&
> >>> + echo .git/BISECT_* | test_must_fail grep BISECT_[^*] &&
> >>
> >> Perhaps the following is simpler:
> >>
> >> + test -z "$(ls .git/BISECT_*)" &&
> >
> > That is still a useless use of ls ;)
>
> It is much better than what I wrote, at least.
>
> Good night (well, good morning I guess), and thanks.
>
> t/t6030-bisect-porcelain.sh | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
> index 0626544..244fda6 100755
> --- a/t/t6030-bisect-porcelain.sh
> +++ b/t/t6030-bisect-porcelain.sh
> @@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk
> instead of revs' ' test_must_fail git bisect start foo $HASH1 -- &&
> test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
> test -z "$(git for-each-ref "refs/bisect/*")" &&
> - test_must_fail ls .git/BISECT_* &&
> + test -z "$(ls .git/BISECT_* 2>/dev/null)" &&
> git bisect start &&
> test_must_fail git bisect good foo $HASH1 &&
> test_must_fail git bisect good $HASH1 bar &&
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-27 3:19 ` [PATCH v2] " Christian Couder
@ 2008-07-27 4:04 ` Christian Couder
2008-07-27 4:53 ` Jonathan Nieder
0 siblings, 1 reply; 12+ messages in thread
From: Christian Couder @ 2008-07-27 4:04 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Mike Hommey, git
Le dimanche 27 juillet 2008, Christian Couder a écrit :
> Le jeudi 24 juillet 2008, Jonathan Nieder a écrit :
> > t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
> > status when asked to list nonexistent files. Unfortunately,
> > /bin/ls on Mac OS X 10.3 exits with exit code 0. So look at
> > its output instead.
> >
> > Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
>
> Acked-by: Christian Couder <chriscool@tuxfamily.org>
It seems that there is a problem with the message itself though. When I "git
am" it, I get:
fatal: cannot convert from x-unknown to utf-8
It seems that it is mime encoded or something and my git
(1.6.0.rc0.80.gf54f0) doesn't like it.
Regards,
Christian.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-27 4:04 ` Christian Couder
@ 2008-07-27 4:53 ` Jonathan Nieder
2008-07-27 5:10 ` Christian Couder
0 siblings, 1 reply; 12+ messages in thread
From: Jonathan Nieder @ 2008-07-27 4:53 UTC (permalink / raw)
To: Christian Couder; +Cc: git
t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
status when asked to list nonexistent files. Unfortunately,
/bin/ls on Mac OS X 10.3 exits with exit code 0. So look at
its output instead.
Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
Acked-by: Christian Couder <chriscool@tuxfamily.org>
---
On Sun, 27 Jul 2008, Christian Couder wrote:
> It seems that there is a problem with the message itself though. When I "git
> am" it, I get:
>
> fatal: cannot convert from x-unknown to utf-8
Hmm, not sure what happened. Maybe resending it will work...
t/t6030-bisect-porcelain.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 0626544..244fda6 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk instead of revs' '
test_must_fail git bisect start foo $HASH1 -- &&
test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
test -z "$(git for-each-ref "refs/bisect/*")" &&
- test_must_fail ls .git/BISECT_* &&
+ test -z "$(ls .git/BISECT_* 2>/dev/null)" &&
git bisect start &&
test_must_fail git bisect good foo $HASH1 &&
test_must_fail git bisect good $HASH1 bar &&
--
1.5.5.1.328.gbfcc6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2] t6030 (bisect): work around Mac OS X "ls"
2008-07-27 4:53 ` Jonathan Nieder
@ 2008-07-27 5:10 ` Christian Couder
0 siblings, 0 replies; 12+ messages in thread
From: Christian Couder @ 2008-07-27 5:10 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git
Le dimanche 27 juillet 2008, Jonathan Nieder a écrit :
> t6030-bisect-porcelain.sh relies on "ls" exiting with nonzero
> status when asked to list nonexistent files. Unfortunately,
> /bin/ls on Mac OS X 10.3 exits with exit code 0. So look at
> its output instead.
>
> Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
> Acked-by: Christian Couder <chriscool@tuxfamily.org>
> ---
>
> On Sun, 27 Jul 2008, Christian Couder wrote:
> > It seems that there is a problem with the message itself though. When I
> > "git am" it, I get:
> >
> > fatal: cannot convert from x-unknown to utf-8
>
> Hmm, not sure what happened. Maybe resending it will work...
Yes, this one works fine.
Thanks,
Christian.
>
> t/t6030-bisect-porcelain.sh | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
> index 0626544..244fda6 100755
> --- a/t/t6030-bisect-porcelain.sh
> +++ b/t/t6030-bisect-porcelain.sh
> @@ -76,7 +76,7 @@ test_expect_success 'bisect fails if given any junk
> instead of revs' ' test_must_fail git bisect start foo $HASH1 -- &&
> test_must_fail git bisect start $HASH4 $HASH1 bar -- &&
> test -z "$(git for-each-ref "refs/bisect/*")" &&
> - test_must_fail ls .git/BISECT_* &&
> + test -z "$(ls .git/BISECT_* 2>/dev/null)" &&
> git bisect start &&
> test_must_fail git bisect good foo $HASH1 &&
> test_must_fail git bisect good $HASH1 bar &&
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2008-07-27 5:15 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-24 1:37 [PATCH] t6030 (bisect): work around Mac OS X "ls" Jonathan Nieder
2008-07-24 5:57 ` Christian Couder
2008-07-24 6:06 ` Mike Hommey
2008-07-24 7:43 ` [PATCH v2] " Jonathan Nieder
2008-07-24 16:54 ` Mike Hommey
2008-07-24 17:44 ` Johannes Schindelin
2008-07-24 17:51 ` [PATCH v3] " Jonathan Nieder
2008-07-24 18:16 ` Jonathan Nieder
2008-07-27 3:19 ` [PATCH v2] " Christian Couder
2008-07-27 4:04 ` Christian Couder
2008-07-27 4:53 ` Jonathan Nieder
2008-07-27 5:10 ` Christian Couder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).