List for cgit developers and users
 help / color / mirror / Atom feed
From: t74jgwb88tli9ch at jetable.org (Fabien C.)
Subject: [PATCH] gen-version.sh: check if git is available before trying to call it
Date: Sat, 01 Feb 2014 16:10:44 +0100	[thread overview]
Message-ID: <52ED0E74.6030002@jetable.org> (raw)
In-Reply-To: <3386636.h5ksx6Nyhk@al>

On 01/02/2014 15:06, Peter Wu wrote:
> On Saturday 01 February 2014 13:56:46 John Keeping wrote:
>>> 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

"command -v" is POSIX compliant [1] but your version is nice, maybe nicer because POSIX is not that universal. Up to you. 

> If you are testing for git anyway, what about testing the result rather than 
> the command:
> 
>     gitver=$(git describe --abbrev=4 HEAD 2>/dev/null)
>     [ -z "$gitver" ] || V=$gitver
> 
>>>  then
>>>       V=$(git describe --abbrev=4 HEAD 2>/dev/null)
>>>  fi

Not so nice I guess because git might find a .git folder in some parent directory and produce a (wrong) result. 

Here is yet another version (+ patch file): 

if test "$(git rev-parse --git-dir 2>/dev/null)" = '.git'
then
        V=$(git describe --abbrev=4 HEAD 2>/dev/null)
fi

I think this one solves the above problems. 

Regards, 
Fabien 

[1]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-gen-version.sh-check-if-git-is-available-before-tryi.patch
Type: text/x-patch
Size: 910 bytes
Desc: not available
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20140201/6c49bd69/attachment.bin>


  reply	other threads:[~2014-02-01 15:10 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-31 23:02 t74jgwb88tli9ch
     [not found] ` <CAHmME9rwbdCfdeDYWcnKmyDjcsUQ_VaYF2755aHfbgUQeMNQQw@mail.gmail.com>
     [not found]   ` <52EC2C77.10503@jetable.org>
     [not found]     ` <CAHmME9qKOEU0Q+yAYUw5N4_AOS38bK4kHp2p8-MwYPGOh=ZOKg@mail.gmail.com>
2014-02-01 10:07       ` Jason
2014-02-01 13:23         ` t74jgwb88tli9ch
2014-02-01 13:56           ` john
2014-02-01 14:06             ` lekensteyn
2014-02-01 15:10               ` t74jgwb88tli9ch [this message]
2014-02-05 10:23                 ` cgit
2014-02-05 14:09                 ` Jason
  -- strict thread matches above, loose matches on Subject: below --
2014-01-31 23:00 t74jgwb88tli9ch
2014-01-31 22:37 t74jgwb88tli9ch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52ED0E74.6030002@jetable.org \
    --to=cgit@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).