[PATCH] gen-version.sh: check if git is available before trying to call it

John Keeping john at keeping.me.uk
Sat Feb 1 14:56:46 CET 2014


On Sat, Feb 01, 2014 at 02:23:49PM +0100, Fabien C. wrote:
> On 01/02/2014 11:07, Jason A. Donenfeld wrote:
> > Maybe you want to direct the output to /dev/null?
> 
> You're right, that was a too quick fix. 
> 
> Here you go with the /dev/null redirect. 

> From 3dc2ce06df3ccbdae9c05325e93cbbcabc1d1b7f Mon Sep 17 00:00:00 2001
> From: Fabien C. <t74jgwb88tli9ch at jetable.org>
> Date: Sat, 1 Feb 2014 14:18:29 +0100
> Subject: [PATCH] gen-version.sh: check if git is available before trying to
>  call it
> 
> Some people may clone the cgit repository and compile within a sandbox
> or on another machine where git is not necessarily installed. When it
> happens, cgit is getting compiled with an empty version number.
> 
> This commit fixes this.
> ---
>  gen-version.sh |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gen-version.sh b/gen-version.sh
> index 3a08015..13ff979 100755
> --- a/gen-version.sh
> +++ b/gen-version.sh
> @@ -4,7 +4,7 @@
>  V=$1
>  
>  # Use `git describe` to get current version if we're inside a git repo
> -if test -d .git
> +if test -d .git && command -v git > /dev/null

Style: no space between redirect and file: >/dev/null

I'm not sure command is the most portable way to achieve this, how about
this instead:

    git --version >/dev/null 2>&1

>  then
>  	V=$(git describe --abbrev=4 HEAD 2>/dev/null)
>  fi
> -- 
> 1.7.10.4


More information about the CGit mailing list