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>
next prev parent 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).