Subject: Re: [PATCH] git-gui: Build even if tclsh is not available

From: "Shawn O. Pearce" <[email-masked]>
Date: Wed, 16 May 2007 22:49:11 -0400

Petr Baudis <[email-masked]> wrote:
> On Thu, May 17, 2007 at 04:18:58AM CEST, Shawn O. Pearce wrote:
> > I have a couple of problems with the patch as-is.  The first is
> > of course that the patch needs to be split into two; one patch for
> > the git-gui subdirectory itself and one for git.git.
> 
> Hmm, why? It's an atomic change, one part doesn't make sense without the
> other.

Because git-gui is actually a project maintained external from
git.git.  It just happens that Junio pulls various versions of
it into git.git to distribute it along with git.git releases.

I deal with these sorts of "atomic changes" by making an evil merge
in git.git and asking Junio to pull the evil merge.  But we've only
had one such case thus far.
 
> > git-gui won't work if lib/tclIndex is missing or invalid.  So not
> > installing it means we should just disable git-gui entirely.
> 
>   (i) Makefile will autodecide on whether git-gui will be
> built+installed or not
> 
>   (ii) ./configure will, people not using configure and building on
> servers will be left to tweak config manually
> 
>   (iii) ./configure will, git-gui will default to not to be built and
> people not using configure and wanting git-gui will be left to tweak
> config manually

(iv) if tclsh is not available then create a simpler lib/tclIndex that
loads all of the lib directory, even if it isn't needed.  That makes
tclsh being available strictly an optimization, and yet git-gui still
is installable.

-- 
Shawn.