Re: [PATCH] GIT-VERSION-GEN: support non-standard $GIT_DIR path
- From
Dennis Kaarsemaker <dennis@kaarsemaker.net>
- Date
- Jun 18, 2013, 07:20 UTC
- Message-ID
- <1371540006.32543.5.camel@localhost>
- In-Reply-To
- <7vy5a8biu8.fsf@alter.siamese.dyndns.org>
On ma, 2013-06-17 at 13:09 -0700, Junio C Hamano wrote:
Show 8 quoted lines
> 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.
Show 18 quoted lines
> 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?
-- Dennis Kaarsemaker www.kaarsemaker.net