# [PATCH] git-gui: check whether systems nice command works or disable it

3 messages from 2010-02-07 to 2010-02-08. Participants: Heiko Voigt, Junio C Hamano, Shawn O. Pearce.
Thread: https://gitlist.dev/t/22561

## Heiko Voigt, 2010-02-07 21:47

Subject: [PATCH] git-gui: check whether systems nice command works or disable it
Message-ID: <20100207214755.GB3034@book.hvoigt.net>
URL: https://gitlist.dev/e/20100207214755.GB3034%40book.hvoigt.net

```
This fixes issue 394 from msysgit. It seems that the Gnuwin32 project
provides a nice command but it returns a "not implemented" error. To
help users we now try to execute once and disable it in case it fails.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
---

see: http://code.google.com/p/msysgit/issues/detail?id=394
for more information.

cheers Heiko

 git-gui/git-gui.sh |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 1fb3cbf..eec2dc9 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -388,6 +388,9 @@ proc _lappend_nice {cmd_var} {
 
 	if {![info exists _nice]} {
 		set _nice [_which nice]
+		if {[catch {exec $_nice git version}]} {
+			set _nice {}
+		}
 	}
 	if {$_nice ne {}} {
 		lappend cmd $_nice
-- 
1.7.0.rc1.7.gc0da5

```

## Junio C Hamano, 2010-02-08 00:21

Subject: Re: [PATCH] git-gui: check whether systems nice command works or disable it
Message-ID: <7vhbps4lwr.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vhbps4lwr.fsf%40alter.siamese.dyndns.org
In-Reply-To: <20100207214755.GB3034@book.hvoigt.net>

```
Heiko Voigt <hvoigt@hvoigt.net> writes:

> This fixes issue 394 from msysgit. It seems that the Gnuwin32 project
> provides a nice command but it returns a "not implemented" error. To
> help users we now try to execute once and disable it in case it fails.
>
> Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
> ---
>
> see: http://code.google.com/p/msysgit/issues/detail?id=394
> for more information.
>
> cheers Heiko
>
>  git-gui/git-gui.sh |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
> index 1fb3cbf..eec2dc9 100755
> --- a/git-gui/git-gui.sh
> +++ b/git-gui/git-gui.sh
> @@ -388,6 +388,9 @@ proc _lappend_nice {cmd_var} {
>  
>  	if {![info exists _nice]} {
>  		set _nice [_which nice]
> +		if {[catch {exec $_nice git version}]} {
> +			set _nice {}
> +		}

Where does the output from this "git version" invocation go?

>  	}
>  	if {$_nice ne {}} {
>  		lappend cmd $_nice
> -- 
> 1.7.0.rc1.7.gc0da5

```

## Shawn O. Pearce, 2010-02-08 15:56

Subject: Re: [PATCH] git-gui: check whether systems nice command works or disable it
Message-ID: <20100208155631.GB19288@spearce.org>
URL: https://gitlist.dev/e/20100208155631.GB19288%40spearce.org
In-Reply-To: <7vhbps4lwr.fsf@alter.siamese.dyndns.org>

```
Junio C Hamano <gitster@pobox.com> wrote:
> > diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
> > index 1fb3cbf..eec2dc9 100755
> > --- a/git-gui/git-gui.sh
> > +++ b/git-gui/git-gui.sh
> > @@ -388,6 +388,9 @@ proc _lappend_nice {cmd_var} {
> >  
> >  	if {![info exists _nice]} {
> >  		set _nice [_which nice]
> > +		if {[catch {exec $_nice git version}]} {
> > +			set _nice {}
> > +		}
> 
> Where does the output from this "git version" invocation go?

By default Tcl exec returns stdout's contents.  So in this case,
its passed to catch, which discards it, because catch returns true
if exec crashed, false if it ran without error.

Patch looks fine to me as-is.

-- 
Shawn.

```
