Subject: Re: GIT on MinGW problem

From: Han-Wen Nienhuys <[email-masked]>
Date: Sat, 26 May 2007 16:41:22 -0300

Johannes Sixt escreveu:
>>
>> http://lilypond.org/git/binaries/mingw/git-1.5.1-2.mingw.exe
>>
>> it should also set $PATH.
> 
> I gave this some more testing and it turns out to be a well working
> toolset. Thank you very much!
> 
> There were still some issues remaining. These are the ones that should
> be fixable easily:
> 
> * git version reports just:
> 
> 	git version -dirty
> 
> Since git-gui parses the output of git version, but does not expect it
> to be of this format, and fails with an error message that it cannot
> parse the version.

My biggest problem is that the makefiles of git are an unmitigated
disaster, and there seems to be little interest in solving this
problem. For example, my suggestion to introduce autoconf was met with
derision.  Most of the effort was patching out makefile parts that
made my life harder. I may have patched the version part out as well.

In this, part of the pain is that Git tries to guess the version number
by itself in a complicated way.  It would be easiest if I could just 
specify the version number externally. In that case I can sync the installer
version number (1.5.1-2 in this case) and the version that git reports.

> * git without an correct git subcommand should list 20 or so commands,
> but it doesn't. The list is just empty.

there was a problem in generate cmd list,  (I have sort in /bin/ ). I
recommend to add

  set -u -v   

to all shell scripts so this doesn't go unnoticed.

> * I personally think that the files should go into
> 
> 	$PROGRAMFILES/Git/{bin,share,lib}
> instead of
> 	$PROGRAMFILES/Git/usr/{bin,share,lib}
> 
> The more difficult to solve problems are:

I understand, but it makes my life a lot more difficult.

> * git-gui and gitk don't work out of the box because they have the path
> to wish hardcoded. They can't be started from CMD at all. I have written
> wrappers gitk.cmd and git-gui.cmd with these 2 lines:
> 
> @echo off
> start wish84 D:/MSYS/1.0/git/bin/gitk %*
> 
> But as you can see, the path is still hard-coded (but it is good enough
> for me for the moment).

The only solution is to x-compile wish and include it as well.  I need several 
strong drinks to start trying this.  Is there a MinGW wish port?

> * perl scripts like git-remote contain a hard-coded path to the
> installation directory and don't work for this reason.

I actually commented out most perl stuff because the Makefile is just
too spaghetti-ish. I seem to have forgotten commenting out git-remote.

I thought the policy was to abandon Perl scripts for git commands?

-- 
 Han-Wen Nienhuys - [email-masked] - http://www.xs4all.nl/~hanwen