threads / rfc / 16954

RFC patchgit-web--browse: don't add start as candidate on Ubuntu

Subject: [RFC/PATCH] git-web--browse: don't add start as candidate on Ubuntu

## tl;dr

5 messages between Jan 1, 2009 and Jan 12, 2009. Diffs are folded; open one to read it.

replies: 4people: 4as markdown or json

Ramsay Jones· Jan 1, 2009, 21:45 UTC · lore
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
Hi *,

When upgrading to v1.6.1, I noticed that the html help had stopped working on Linux (Ububtu), viz:

    $ git help -w tag
    start: Need to be root
So, after squinting at git-web--browse.sh, I tried a few things:
    $ ls /bin/start
    ls: /bin/start: No such file or directory
    $ test -n /bin/start; echo $?
    0
    $ which start
    /sbin/start
    $ start fred
    start: Need to be root
    $ ls -l /sbin/start
    lrwxrwxrwx 1 root root 7 2007-06-24 19:45 /sbin/start -> initctl*

So, it would seem that /sbin/start is part of upstart, which would explain the "Need to be root" ;-)

    $ test -x /bin/start; echo $?
    1
    $ 

So, the patch below fixes the issue for me, but as I don't have MinGW installed, I can't test this fix works there.

Does anybody else see this issue and can someone test the patch?

ATB, Ramsay Jones

 git-web--browse.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to git-web--browse.sh +1 −1
diff --git a/git-web--browse.sh b/git-web--browse.sh
index 78d236b..7ed0fad 100755
--- a/git-web--browse.sh
+++ b/git-web--browse.sh
@@ -115,7 +115,7 @@ if test -z "$browser" ; then
 	browser_candidates="open $browser_candidates"
     fi
     # /bin/start indicates MinGW
-    if test -n /bin/start; then
+    if test -x /bin/start; then
 	browser_candidates="start $browser_candidates"
     fi
 
-- 
1.6.1
Christian Couder· Jan 4, 2009, 07:33 UTC · re: Ramsay Jones · lore

Re: [RFC/PATCH] git-web--browse: don't add start as candidate on Ubuntu

Le jeudi 1 janvier 2009, Ramsay Jones a écrit :
Show 35 quoted lines
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
> ---
>
> Hi *,
>
> When upgrading to v1.6.1, I noticed that the html help had stopped
> working on Linux (Ububtu), viz:
>
>     $ git help -w tag
>     start: Need to be root
>
> So, after squinting at git-web--browse.sh, I tried a few things:
>
>     $ ls /bin/start
>     ls: /bin/start: No such file or directory
>     $ test -n /bin/start; echo $?
>     0
>     $ which start
>     /sbin/start
>     $ start fred
>     start: Need to be root
>     $ ls -l /sbin/start
>     lrwxrwxrwx 1 root root 7 2007-06-24 19:45 /sbin/start -> initctl*
>
> So, it would seem that /sbin/start is part of upstart, which would
> explain the "Need to be root" ;-)
>
>     $ test -x /bin/start; echo $?
>     1
>     $
>
> So, the patch below fixes the issue for me, but as I don't have MinGW
> installed, I can't test this fix works there.
>
> Does anybody else see this issue and can someone test the patch?
Petr, as you added support for using /bin/start on MinGW, could you test?

Thanks, Christian.

Junio C Hamano· Jan 4, 2009, 07:53 UTC · re: Christian Couder · lore

Re: [RFC/PATCH] git-web--browse: don't add start as candidate on Ubuntu

Christian Couder <chriscool@tuxfamily.org> writes:
Show 8 quoted lines
> Le jeudi 1 janvier 2009, Ramsay Jones a écrit :
> ...
>> Does anybody else see this issue and can someone test the patch?
>
> Petr, as you added support for using /bin/start on MinGW, could you test?
>
> Thanks,
> Christian.
Show 12 quoted lines
> diff --git a/git-web--browse.sh b/git-web--browse.sh
> index 78d236b..7ed0fad 100755
> --- a/git-web--browse.sh
> +++ b/git-web--browse.sh
> @@ -115,7 +115,7 @@ if test -z "$browser" ; then
>  	browser_candidates="open $browser_candidates"
>      fi
>      # /bin/start indicates MinGW
> -    if test -n /bin/start; then
> +    if test -x /bin/start; then
>  	browser_candidates="start $browser_candidates"
>      fi

In any case, the original test is simply bogus. 'test -n "$foo"' is to see if $foo is an empty string, and giving a constant /bin/start always yields true.

As an old timer, I tend to prefer "test -f" in this context, as anybody sane can expect that the directory /bin will contain executables and nothing else. Another reason is purely stylistic. Historically "-f" has been much more portable than "-x" (which came from SVID), even though it wouldn't make much difference in practice in the real world these days.

Petr Baudis· Jan 4, 2009, 13:29 UTC · re: Junio C Hamano · lore

Re: [RFC/PATCH] git-web--browse: don't add start as candidate on Ubuntu

On Sat, Jan 03, 2009 at 11:53:56PM -0800, Junio C Hamano wrote:
Show 7 quoted lines
> Christian Couder <chriscool@tuxfamily.org> writes:
> 
> > Le jeudi 1 janvier 2009, Ramsay Jones a écrit :
> > ...
> >> Does anybody else see this issue and can someone test the patch?
> >
> > Petr, as you added support for using /bin/start on MinGW, could you test?
Sorry, I don't have access to MinGW system anymore.
Show 16 quoted lines
> > diff --git a/git-web--browse.sh b/git-web--browse.sh
> > index 78d236b..7ed0fad 100755
> > --- a/git-web--browse.sh
> > +++ b/git-web--browse.sh
> > @@ -115,7 +115,7 @@ if test -z "$browser" ; then
> >  	browser_candidates="open $browser_candidates"
> >      fi
> >      # /bin/start indicates MinGW
> > -    if test -n /bin/start; then
> > +    if test -x /bin/start; then
> >  	browser_candidates="start $browser_candidates"
> >      fi
> 
> In any case, the original test is simply bogus.  'test -n "$foo"' is to
> see if $foo is an empty string, and giving a constant /bin/start always
> yields true.
Oops. :-) That should've obviously been -f.
-- 
				Petr "Pasky" Baudis
The average, healthy, well-adjusted adult gets up at seven-thirty
in the morning feeling just terrible. -- Jean Kerr
Ramsay Jones· Jan 12, 2009, 21:05 UTC · re: Junio C Hamano · lore

[PATCH v2] git-web--browse: don't add start as candidate on Ubuntu

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
  Junio C Hamano wrote:
  > Christian Couder <chriscool@tuxfamily.org> writes:
  >> Le jeudi 1 janvier 2009, Ramsay Jones a écrit :
  >> ...
  >>> Does anybody else see this issue and can someone test the patch?
  >> Petr, as you added support for using /bin/start on MinGW, could you test?
  >>
  >> diff --git a/git-web--browse.sh b/git-web--browse.sh
  >> index 78d236b..7ed0fad 100755
  >> --- a/git-web--browse.sh
  >> +++ b/git-web--browse.sh
  >> @@ -115,7 +115,7 @@ if test -z "$browser" ; then
  >>  	browser_candidates="open $browser_candidates"
  >>      fi
  >>      # /bin/start indicates MinGW
  >> -    if test -n /bin/start; then
  >> +    if test -x /bin/start; then
  >>  	browser_candidates="start $browser_candidates"
  >>      fi
  > 
  > In any case, the original test is simply bogus.  'test -n "$foo"' is to
  > see if $foo is an empty string, and giving a constant /bin/start always
  > yields true.
  > 
  > As an old timer, I tend to prefer "test -f" in this context, as anybody
  > sane can expect that the directory /bin will contain executables and
  > nothing else.  Another reason is purely stylistic.  Historically "-f" has
  > been much more portable than "-x" (which came from SVID), even though it
  > wouldn't make much difference in practice in the real world these days.

Sorry for the late reply; if this has already been resolved, then sorry for the noise.

I was expecting to be castigated for having /sbin in my $PATH. Indeed, I was a bit surprised... So, I checked my initialization files and then the system initialization files and could not find where it was being set...

    $ strings /bin/bash | grep sbin
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    $ strings /bin/sh | grep sbin
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
So I don't think it's anything I'm doing...

Anyway, I've changed the patch as you suggested. It would still be good if someone on MinGW could test it.

ATB, Ramsay Jones

 git-web--browse.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to git-web--browse.sh +1 −1
diff --git a/git-web--browse.sh b/git-web--browse.sh
index 78d236b..c5e62a6 100755
--- a/git-web--browse.sh
+++ b/git-web--browse.sh
@@ -115,7 +115,7 @@ if test -z "$browser" ; then
 	browser_candidates="open $browser_candidates"
     fi
     # /bin/start indicates MinGW
-    if test -n /bin/start; then
+    if test -f /bin/start; then
 	browser_candidates="start $browser_candidates"
     fi
 
-- 
1.6.1

← back to recent threads