Re: [PATCH] GIT-VERSION-GEN: support non-standard $GIT_DIR path
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 18, 2013, 14:36 UTC
- Message-ID
- <7vwqpr8ozf.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1371540006.32543.5.camel@localhost>
Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:
Show 43 quoted lines
> On ma, 2013-06-17 at 13:09 -0700, Junio C Hamano wrote:
>> Junio C Hamano <gitster@pobox.com> writes:
>>
>> > Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:
>> >
>> >> I'm doing daily builds of git, using many workers and a shared git.git,
>> >> with per-worker checkouts
>> >
>> > OK, so GIT_DIR is explicitly specified in these "workers".
>
> Yes, both GIT_DIR and GIT_WORK_TREE are set and the use of .git/HEAD and
> anything relying on it is shunned, so workers can run checkout as they
> please.
>
>> > Makes sense.
>>
>> Actually it does not. What if GIT_DIR is an empty string or not set
>> at all? The patch breaks the build for everybody else, doesn't it?
>
> It does indeed, I only tested in my setup and not with a normal make
> test. Apologies.
>
>> Perhaps like this instead?
>>
>> GIT-VERSION-GEN | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
>> index 2908204..91ec831 100755
>> --- a/GIT-VERSION-GEN
>> +++ b/GIT-VERSION-GEN
>> @@ -11,7 +11,7 @@ LF='
>> if test -f version
>> then
>> VN=$(cat version) || VN="$DEF_VER"
>> -elif test -d .git -o -f .git &&
>> +elif test -d ${GIT_DIR:-.git} -o -f .git &&
>> VN=$(git describe --match "v[0-9]*" --abbrev=7 HEAD 2>/dev/null) &&
>> case "$VN" in
>> *$LF*) (exit 1) ;;
>
> Yes, that makes a lot more sense and actually works in normal make test
> and with a detached .git. Do you want me to send an updated patch?I think I've locally amended it already before queueing it to 'pu', so no need to resend.
Thanks.