git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 5 in “GIT-VERSION-GEN: support non-standard $GIT_DIR path”
  1. GIT-VERSION-GEN: support non-standard $GIT_DIR pathDennis Kaarsemaker, Jun 15, 2013
  2. Junio C HamanoJun 17, 2013
  3. Junio C HamanoJun 17, 2013
  4. Dennis KaarsemakerJun 18, 2013
  5. Junio C HamanoJun 18, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.