# MinGW binary installer available

28 messages from 2007-02-07 to 2007-02-08. Participants: Han-Wen Nienhuys, Johannes Schindelin, Jan Nieuwenhuizen, Johannes Sixt, Robin Rosenberg, Shawn O. Pearce.
Thread: https://gitlist.dev/t/6721

## Han-Wen Nienhuys, 2007-02-07 14:38

Subject: MinGW binary installer available
Message-ID: <45C9E470.7030609@xs4all.nl>
URL: https://gitlist.dev/e/45C9E470.7030609%40xs4all.nl

```
Hi, 

I had a try to see whether I could make GUB
also produce a MinGW installer for Git.

You can download the result at 

http://lilypond.org/mingit/mingit-1.4.9993-1.mingw.exe

the odd version number was because I was too lazy to write code
to extract the version number from the repository automatically.

I don't actually have a windows copy, so it's basically untested.
However, I did succeed in running rev-list in wine.


PS. I'd be interested in comments on using GUB from others.
GUB is a cross-compiling build tool, probably best described
as a "Poor Man's Conary".
 
Once I have the boilerplate code committed, building this 
installer should amount to  

  darcs get  http://lilypond.org/vc/gub.darcs/ gub
  cd gub
  make -f Makefile.mingit bootstrap mingw

(yes, GUB itself is still hosted in Darcs. Shoot me.)


-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Johannes Schindelin, 2007-02-07 14:55

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702071552470.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702071552470.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45C9E470.7030609@xs4all.nl>

```
Hi,

On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:

> I had a try to see whether I could make GUB
> also produce a MinGW installer for Git.

Great!

> You can download the result at 
> 
> http://lilypond.org/mingit/mingit-1.4.9993-1.mingw.exe
> 
> the odd version number was because I was too lazy to write code
> to extract the version number from the repository automatically.
> 
> I don't actually have a windows copy, so it's basically untested.
> However, I did succeed in running rev-list in wine.

I played a little with it. IMHO it makes no sense to use it without a 
bash, and without less. For example,

	$ git init
	$ git add git.exe
	$ git status
	$ git commit -a -m initial
	$ git show HEAD

do not produce any output when issued in cmd.

Also, many scripts rely on bash and/or perl, so you'd have to include 
them, too.

> PS. I'd be interested in comments on using GUB from others.
> GUB is a cross-compiling build tool, probably best described
> as a "Poor Man's Conary".
>  
> Once I have the boilerplate code committed, building this 
> installer should amount to  
> 
>   darcs get  http://lilypond.org/vc/gub.darcs/ gub
>   cd gub
>   make -f Makefile.mingit bootstrap mingw

I'll try that if I get the time.

> (yes, GUB itself is still hosted in Darcs. Shoot me.)

I will.

Ciao,
Dscho

```

## Johannes Schindelin, 2007-02-07 15:05

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702071559340.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702071559340.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <Pine.LNX.4.63.0702071552470.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Hi,

On Wed, 7 Feb 2007, Johannes Schindelin wrote:

> On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
> 
> > I don't actually have a windows copy, so it's basically untested.
> > However, I did succeed in running rev-list in wine.
> 
> I played a little with it. IMHO it makes no sense to use it without a 
> bash, and without less.

Side note: Since "ln <src> <dest>" in MinGW is really a copy, not a hard 
link, this gets rather big (44M here).

Which makes me think if we should just disallow the "git-<builtin>" on 
Windows, since sooner or later, Git will no longer be used from the 
command line on Windows.

And another thing hit me there: Are you sure that all works well if you 
change the install path from "C:\Program Files\Git" to something else?
Without explicitely setting GIT_EXEC_PATH?

Ciao,
Dscho

```

## Han-Wen Nienhuys, 2007-02-07 15:08

Subject: Re: MinGW binary installer available
Message-ID: <45C9EB54.3040406@xs4all.nl>
URL: https://gitlist.dev/e/45C9EB54.3040406%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071552470.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:
>> I don't actually have a windows copy, so it's basically untested.
>> However, I did succeed in running rev-list in wine.
> 
> I played a little with it. IMHO it makes no sense to use it without a 
> bash, and without less. For example,
> 
> 	$ git init
> 	$ git add git.exe
> 	$ git status
> 	$ git commit -a -m initial
> 	$ git show HEAD
> 
> do not produce any output when issued in cmd.
> 
> Also, many scripts rely on bash and/or perl, so you'd have to include 
> them, too.

Indeed: for now, this is intended for people clueful enough to install
bash and perl on their own.  Adding bash itself should be easy, but
I have no idea how to make cmd open the scripts with bash automatically.

The thought of x-compiling perl makes me shudder. 

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Han-Wen Nienhuys, 2007-02-07 15:14

Subject: Re: MinGW binary installer available
Message-ID: <45C9ECBE.6010705@xs4all.nl>
URL: https://gitlist.dev/e/45C9ECBE.6010705%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071559340.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:
> Hi,
> 
> On Wed, 7 Feb 2007, Johannes Schindelin wrote:
> 
>> On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
>>
>>> I don't actually have a windows copy, so it's basically untested.
>>> However, I did succeed in running rev-list in wine.
>> I played a little with it. IMHO it makes no sense to use it without a 
>> bash, and without less.
> 
> Side note: Since "ln <src> <dest>" in MinGW is really a copy, not a hard 
> link, this gets rather big (44M here).
> 
> Which makes me think if we should just disallow the "git-<builtin>" on 
> Windows, since sooner or later, Git will no longer be used from the 
> command line on Windows.
> 
> And another thing hit me there: Are you sure that all works well if you 
> change the install path from "C:\Program Files\Git" to something else?
> Without explicitely setting GIT_EXEC_PATH?

I have no idea. The installer just plonks the files into C:/P F/Git/
and adds that to $INSTALLDIR/usr/bin/ to $PATH


-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Johannes Schindelin, 2007-02-07 15:26

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702071625341.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702071625341.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45C9EB54.3040406@xs4all.nl>

```
Hi,

On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:

> Johannes Schindelin escreveu:
>
> > Also, many scripts rely on bash and/or perl, so you'd have to include 
> > them, too.
> 
> Indeed: for now, this is intended for people clueful enough to install 
> bash and perl on their own.  Adding bash itself should be easy, but I 
> have no idea how to make cmd open the scripts with bash automatically.

Would be nice to include them, though. In this case, you can add a 
shortcut to bash, named "Git shell" ;-)

> The thought of x-compiling perl makes me shudder. 

You don't want to tell me that you x-compile Python when bundling 
LilyPond, do you?

Ciao,
Dscho

```

## Han-Wen Nienhuys, 2007-02-07 15:34

Subject: Re: MinGW binary installer available
Message-ID: <45C9F184.1060300@xs4all.nl>
URL: https://gitlist.dev/e/45C9F184.1060300%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071625341.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:
> 
> You don't want to tell me that you x-compile Python when bundling 
> LilyPond, do you?

See

  http://lilypond.org/vc/gub.darcs/patches/python-2.5.patch
  https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1597850&group_id=5470

I freely admit that it doesn't work very well, because the python build 
procedure is rather naive when it comes to detecting installed modules.

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Han-Wen Nienhuys, 2007-02-07 16:03

Subject: Re: MinGW binary installer available
Message-ID: <45C9F842.3080704@xs4all.nl>
URL: https://gitlist.dev/e/45C9F842.3080704%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071552470.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:
> I played a little with it. IMHO it makes no sense to use it without a 
> bash, and without less. For example,
> 
> 	$ git init
> 	$ git add git.exe
> 	$ git status
> 	$ git commit -a -m initial
> 	$ git show HEAD
> 
> do not produce any output when issued in cmd.

Strange, those are builtins, not?  I recall that we also had
some issues with lilypond stdout printing things inside CMD,
depending on whether -mwindows is on the link line.
Details escape me, though. 

Jan? 

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Johannes Schindelin, 2007-02-07 16:16

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702071713190.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702071713190.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45C9F184.1060300@xs4all.nl>

```
Hi,

On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:

> Johannes Schindelin escreveu:
> > 
> > You don't want to tell me that you x-compile Python when bundling 
> > LilyPond, do you?
> 
> See
> 
>   http://lilypond.org/vc/gub.darcs/patches/python-2.5.patch
>   https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1597850&group_id=5470
> 
> I freely admit that it doesn't work very well, because the python build 
> procedure is rather naive when it comes to detecting installed modules.

So you _do_ build it? Phew.

A few months back, when we had that nasty Aussie on lily-devel whining 
about not being able to compile LilyPond on Windows, I tried to build 
_all_ of the dependencies on MinGW, including Python. Needless to say, I 
gave up...

BTW do you have side branches in that darcs gub repository? If not, I'll 
try to leech it into a git repo with tailor (I do not want to install 
darcs on all my machines, just to play with gub).

Ciao,
Dscho

```

## Han-Wen Nienhuys, 2007-02-07 17:05

Subject: Re: MinGW binary installer available
Message-ID: <45CA06E7.3050704@xs4all.nl>
URL: https://gitlist.dev/e/45CA06E7.3050704%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071713190.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:

> BTW do you have side branches in that darcs gub repository? If not, I'll 
> try to leech it into a git repo with tailor (I do not want to install 
> darcs on all my machines, just to play with gub).

No, but I have a conversion running here.  I'll publish it once it's done.

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Johannes Schindelin, 2007-02-07 17:10

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702071808320.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702071808320.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45CA06E7.3050704@xs4all.nl>

```
Hi,

On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:

> Johannes Schindelin escreveu:
> 
> > BTW do you have side branches in that darcs gub repository? If not, I'll 
> > try to leech it into a git repo with tailor (I do not want to install 
> > darcs on all my machines, just to play with gub).
> 
> No, but I have a conversion running here.  I'll publish it once it's done.

Thank you very much!

Just out of curiosity: What do you use to convert it? Tailor all branches, 
then stitch them together? (With tailor, stitching is possible as long as 
you did not merge branches: the commit objects _will_ be identical, since 
even the commit timestamps are derived from the source repository.)

Ciao,
Dscho

```

## Han-Wen Nienhuys, 2007-02-07 17:35

Subject: Re: MinGW binary installer available
Message-ID: <45CA0DCA.3080908@xs4all.nl>
URL: https://gitlist.dev/e/45CA0DCA.3080908%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071808320.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:

> Thank you very much!
> 
> Just out of curiosity: What do you use to convert it? Tailor all branches, 
> then stitch them together? (With tailor, stitching is possible as long as 
> you did not merge branches: the commit objects _will_ be identical, since 
> even the commit timestamps are derived from the source repository.)

A simple linear import of all the patches. Since Darcs
uses patch based storage, I think it's not possible to accurately map a Darcs
repository onto a Git one without creating branch spaghetti. 

I have never grokked how tailor is supposed to work, so I use a home made
script.

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Jan Nieuwenhuizen, 2007-02-07 20:18

Subject: Re: MinGW binary installer available
Message-ID: <87y7n990x9.fsf@peder.flower>
URL: https://gitlist.dev/e/87y7n990x9.fsf%40peder.flower
In-Reply-To: <45C9F842.3080704@xs4all.nl>

```
Han-Wen Nienhuys <hanwen@xs4all.nl> writes:

> Strange, those are builtins, not?  I recall that we also had
> some issues with lilypond stdout printing things inside CMD,
> depending on whether -mwindows is on the link line.
> Details escape me, though. 

> Jan? 

I didn't either, but Google says

   This is a windows limitation.  GUI apps (apps created with -mwindows)
   can't send output to or receive input from the console.

That seems right, I remember that we chose to use -mwindows to get
rid of the flashing black console silliness.

Greetings,
Jan.

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org

```

## Han-Wen Nienhuys, 2007-02-07 21:10

Subject: Re: MinGW binary installer available
Message-ID: <45CA4035.4090803@xs4all.nl>
URL: https://gitlist.dev/e/45CA4035.4090803%40xs4all.nl
In-Reply-To: <45C9EB54.3040406@xs4all.nl>

```
Han-Wen Nienhuys escreveu:
 
> Indeed: for now, this is intended for people clueful enough to install
> bash and perl on their own.  Adding bash itself should be easy, but

That was spoken with hybris.  Bash uses a regular gnu autoconf build
procedure, so making it build is much less of a pain to than massaging eg.
Python. However, it is a unix shell, and as such it does fork() all
the time. Hence, it is necessary to use Cygwin (or its derivative MSYS)
for running Bash.

A good reason to get rid of bash scripts.

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Han-Wen Nienhuys, 2007-02-07 21:21

Subject: Re: MinGW binary installer available
Message-ID: <45CA42C2.4090908@xs4all.nl>
URL: https://gitlist.dev/e/45CA42C2.4090908%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071552470.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:
> I played a little with it. IMHO it makes no sense to use it without a 
> bash, and without less. For example,
> 
> 	$ git init
> 	$ git add git.exe
> 	$ git status
> 	$ git commit -a -m initial
> 	$ git show HEAD
> 
> do not produce any output when issued in cmd.

Can you confirm to me that these do actually work? 

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Han-Wen Nienhuys, 2007-02-07 22:10

Subject: Re: MinGW binary installer available
Message-ID: <45CA4E68.6070308@xs4all.nl>
URL: https://gitlist.dev/e/45CA4E68.6070308%40xs4all.nl
In-Reply-To: <Pine.LNX.4.63.0702071552470.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin escreveu:
> I played a little with it. IMHO it makes no sense to use it without a 
> bash, and without less. For example,
> 
> 	$ git init
> 	$ git add git.exe
> 	$ git status
> 	$ git commit -a -m initial
> 	$ git show HEAD
> 
> do not produce any output when issued in cmd.

can you check out the -2 build, at 
 
  http://lilypond.org/git/binaries/mingw/git-1.4.9993-2.mingw.exe
  
to see if this is better?

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Johannes Schindelin, 2007-02-07 23:51

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702080051010.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702080051010.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45CA42C2.4090908@xs4all.nl>

```
Hi,

On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:

> Johannes Schindelin escreveu:
> > I played a little with it. IMHO it makes no sense to use it without a 
> > bash, and without less. For example,
> > 
> > 	$ git init
> > 	$ git add git.exe
> > 	$ git status
> > 	$ git commit -a -m initial
> > 	$ git show HEAD
> > 
> > do not produce any output when issued in cmd.
> 
> Can you confirm to me that these do actually work? 

Apart from commit, which is a shell script, they appear to work. Only no 
uoutput :-)

Ciao,
Dscho

```

## Johannes Schindelin, 2007-02-07 23:52

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702080051420.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702080051420.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45CA4E68.6070308@xs4all.nl>

```
Hi,

On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:

> Johannes Schindelin escreveu:
> > I played a little with it. IMHO it makes no sense to use it without a 
> > bash, and without less. For example,
> > 
> > 	$ git init
> > 	$ git add git.exe
> > 	$ git status
> > 	$ git commit -a -m initial
> > 	$ git show HEAD
> > 
> > do not produce any output when issued in cmd.
> 
> can you check out the -2 build, at 
>  
>   http://lilypond.org/git/binaries/mingw/git-1.4.9993-2.mingw.exe
>   
> to see if this is better?

Unfortunately, today was the last day for me at a company where I have 
access to Losedows. I'll try to get hold of another machine, and try 
there, though.

Ciao,
Dscho

```

## Johannes Sixt, 2007-02-08 08:09

Subject: Re: MinGW binary installer available
Message-ID: <45CADAAA.74058D21@eudaptics.com>
URL: https://gitlist.dev/e/45CADAAA.74058D21%40eudaptics.com
In-Reply-To: <45C9EB54.3040406@xs4all.nl>

```
Han-Wen Nienhuys wrote:
> Indeed: for now, this is intended for people clueful enough to install
> bash and perl on their own.  Adding bash itself should be easy, but
> I have no idea how to make cmd open the scripts with bash automatically.

I've thought about renaming git-commit to git-commit.cmd and add this
preamble:

@echo off
rem () { :; } ; : \
sh %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
rem ; : \
exit /B %ERRORLEVEL%


in place of the usual "#!/bin/sh". It requires you to have a command
named @echo.exe in the path that is a noop. Also, it is limited to 9
command line arguments.

What a hack! (*)

-- Hannes

(*) Here's how it works:
- cmd.exe will ignore all but the sh and exit lines, effectively
invoking the script under bash and exiting with bash's exit code.
- Bash will execute @echo, define a function named rem, ignore the sh
and exit lines because they are continuations of the : noop on the
previous line. It will also run the second rem, but it is a noop, too.

```

## Johannes Sixt, 2007-02-08 08:09

Subject: Re: MinGW binary installer available
Message-ID: <45CADAC2.938303B2@eudaptics.com>
URL: https://gitlist.dev/e/45CADAC2.938303B2%40eudaptics.com
In-Reply-To: <Pine.LNX.4.63.0702071559340.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin wrote:
> Which makes me think if we should just disallow the "git-<builtin>" on
> Windows, since sooner or later, Git will no longer be used from the
> command line on Windows.

But all git scripts still use mostly git-foo instead of git foo :( They
must be changed, too!

> And another thing hit me there: Are you sure that all works well if you
> change the install path from "C:\Program Files\Git" to something else?
> Without explicitely setting GIT_EXEC_PATH?

I think it doesn't matter (mostly). The git wrapper sets the exec path
and augments PATH, so that the scripts work. It uses the directory of
argv[0] if --exec-path is not used. The only problematic cases are where
non-builtins (like git-send-pack) invoke other commands or hooks.

-- Hannes

```

## Johannes Sixt, 2007-02-08 08:12

Subject: Re: MinGW binary installer available
Message-ID: <45CADB72.D84D1698@eudaptics.com>
URL: https://gitlist.dev/e/45CADB72.D84D1698%40eudaptics.com
In-Reply-To: <45CA4035.4090803@xs4all.nl>

```
Han-Wen Nienhuys wrote:
> A good reason to get rid of bash scripts.

Not that good a reasion, imho, as long as the scripts work!

Then there are still the hooks that someone may want to run. Would you
like to recode them in some Windowsish language? Visual Basic maybe?
*cough*

-- Hannes

```

## Han-Wen Nienhuys, 2007-02-08 10:14

Subject: Re: MinGW binary installer available
Message-ID: <45CAF819.1060100@xs4all.nl>
URL: https://gitlist.dev/e/45CAF819.1060100%40xs4all.nl
In-Reply-To: <45CADAAA.74058D21@eudaptics.com>

```
Johannes Sixt escreveu:

> 
> 
> in place of the usual "#!/bin/sh". It requires you to have a command
> named @echo.exe in the path that is a noop. Also, it is limited to 9
> command line arguments.

not mention that it will severly mess up if there are quoted arguments
and/or spaces

 git commit -m "this has a space" -a

It might be possible to do 

  sh "%0" "%1" .. 

but to make things interesting, different releases of windows have different
rules for CMD shell quoting.

Experience with LilyPond taught us to avoid the CMD shell at all costs. 

-- 
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

```

## Jan Nieuwenhuizen, 2007-02-08 19:58

Subject: Re: MinGW binary installer available
Message-ID: <87abzoh15n.fsf@peder.flower>
URL: https://gitlist.dev/e/87abzoh15n.fsf%40peder.flower
In-Reply-To: <Pine.LNX.4.63.0702080051420.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

>  http://lilypond.org/git/binaries/mingw/git-1.4.9993-2.mingw.exe

Yes, much better.  There's still the bash script problem, maybe
these should be replaced with python?

$ ./git-1.4.9993-2.mingw.exe /S
20:48:11 root@Abbicci:~
$ PATH=/cygdrive/c/Program\ Files/Git/usr/bin/:$PATH
20:48:46 root@Abbicci:~
$ which git
/cygdrive/c/Program Files/Git/usr/bin/git
20:48:49 root@Abbicci:~
$ mkdir -p vc/test.git
20:49:03 root@Abbicci:~
$ cd vc/test.git/
20:49:05 root@Abbicci:~/vc/test.git
$ git init 
Initialized empty Git repository in .git/
warning: templates not found /usr/share/git-core/templates/
20:52:31 root@Abbicci:~/vc/test.git
$ git status
git: 'status' is not a git-command

The most commonly used git commands are:
    add            Add file contents to the changeset to be committed next
    apply          Apply a patch on a git index file and a working tree
    archive        Creates an archive of files from a named tree
    bisect         Find the change that introduced a bug by binary search
    branch         List, create, or delete branches
    checkout       Checkout and switch to a branch
    cherry-pick    Apply the change introduced by an existing commit
    clone          Clones a repository into a new directory
    commit         Record changes to the repository
    diff           Show changes between commits, commit and working tree, etc
    fetch          Download objects and refs from another repository
    grep           Print lines matching a pattern
    init           Create an empty git repository or reinitialize an existing one
    log            Show commit logs
    merge          Join two or more development histories together
    mv             Move or rename a file, a directory, or a symlink
    prune          Prunes all unreachable objects from the object database
    pull           Fetch from and merge with another repository or a local branch
    push           Update remote refs along with associated objects
    rebase         Forward-port local commits to the updated upstream head
    reset          Reset current HEAD to the specified state
    revert         Revert an existing commit
    rm             Remove files from the working tree and from the index
    show           Show various types of objects
    show-branch    Show branches and their commits
    status         Show the working tree status
    tag            Create, list, delete or verify a tag object signed with GPG
(use 'git help -a' to get a list of all installed git commands)
[1]20:52:36 root@Abbicci:~/vc/test.git
$ git-status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file: boo
#
20:53:19 root@Abbicci:~/vc/test.git
$ git-commit -a -m initial

*** Your name cannot be determined from your system services (gecos).

Run

  git config user.email "you@email.com"
  git config user.name "Your Name"

To set the identity in this repository.
Add --global to set your account's default

fatal: empty ident  <> not allowed
[128]20:53:25 root@Abbicci:~/vc/test.git
$ git-config  user.email "you@email.com"
20:54:06 root@Abbicci:~/vc/test.git
$ git-config user.name "Your Name"
20:54:13 root@Abbicci:~/vc/test.git
$ git-commit -a -m initial
Created initial commit 7278148bc4ddc1c5d6cbb88a874b377f9813ec83
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 boo
20:54:24 root@Abbicci:~/vc/test.git
$ git-show head
commit 7278148bc4ddc1c5d6cbb88a874b377f9813ec83
Author: Your Name <you@email.com>
Date:   Thu Feb 8 20:54:24 2007 +0100

    initial

diff --git a/boo b/boo
new file mode 100644
index 0000000..e69de29
20:54:28 root@Abbicci:~/vc/test.git

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org

```

## Johannes Schindelin, 2007-02-08 20:08

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702082106430.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702082106430.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <87abzoh15n.fsf@peder.flower>

```
Hi,

On Thu, 8 Feb 2007, Jan Nieuwenhuizen wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> >  http://lilypond.org/git/binaries/mingw/git-1.4.9993-2.mingw.exe
> 
> Yes, much better.  There's still the bash script problem, maybe
> these should be replaced with python?

Hahahaha!

This is not meant as laughing _about_ you... Along with others, I worked 
very hard to get rid of that naughty dependency to Python.

IMHO the best way for Git is to go builtin. It is the only way to 
guarantee portability to many, many platforms without a dependency 
nightmare.

Who knows, maybe Git will run on VMS yet?

Ciao,
Dscho

```

## Robin Rosenberg, 2007-02-08 21:15

Subject: Re: MinGW binary installer available
Message-ID: <200702082215.50389.robin.rosenberg.lists@dewire.com>
URL: https://gitlist.dev/e/200702082215.50389.robin.rosenberg.lists%40dewire.com
In-Reply-To: <45CADAAA.74058D21@eudaptics.com>

```
torsdag 08 februari 2007 09:09 skrev Johannes Sixt:
> 
> @echo off
> rem () { :; } ; : \
> sh %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
> rem ; : \
> exit /B %ERRORLEVEL%
> 
> 
> in place of the usual "#!/bin/sh". It requires you to have a command
> named @echo.exe in the path that is a noop. Also, it is limited to 9
> command line arguments.
> 
> What a hack! (*)

Yes... I suggest you use %* to pass on all arguments. It works with more than 10
arguemtns, including quoted arguemnts (presumably whatever limit windows has)

-- robin

```

## Johannes Schindelin, 2007-02-08 21:18

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702082216000.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702082216000.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <200702082215.50389.robin.rosenberg.lists@dewire.com>

```
Hi,

On Thu, 8 Feb 2007, Robin Rosenberg wrote:

> torsdag 08 februari 2007 09:09 skrev Johannes Sixt:
> > 
> > @echo off
> > rem () { :; } ; : \
> > sh %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
> > rem ; : \
> > exit /B %ERRORLEVEL%
> > 
> > 
> > in place of the usual "#!/bin/sh". It requires you to have a command
> > named @echo.exe in the path that is a noop. Also, it is limited to 9
> > command line arguments.
> > 
> > What a hack! (*)
> 
> Yes... I suggest you use %* to pass on all arguments. It works with more 
> than 10 arguemtns, including quoted arguemnts (presumably whatever limit 
> windows has)

... but probably breaks down on Windows 98, and maybe on ME, too, and just 
maybe on XP pre-SP1 with full moon, unless you end the life of a black 
goat before trying that.

Frankly, I'd rather stay away from such hackeries. For now, we can ship 
bash, perl and Tcl/Tk with Git, as well as git-gui, can't we? After all, 
Windows users are used to bloatware. Then, we just hide the command line 
from them!

Ciao,
Dscho

```

## Shawn O. Pearce, 2007-02-08 21:22

Subject: Re: MinGW binary installer available
Message-ID: <20070208212259.GA1091@spearce.org>
URL: https://gitlist.dev/e/20070208212259.GA1091%40spearce.org
In-Reply-To: <Pine.LNX.4.63.0702082216000.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Frankly, I'd rather stay away from such hackeries. For now, we can ship 
> bash, perl and Tcl/Tk with Git, as well as git-gui, can't we? After all, 
> Windows users are used to bloatware. Then, we just hide the command line 
> from them!

I agree.

I'm happy to make changes in git-gui to help users who are trying
to use Git without Cygwin, and are on Windows.  Patches would be
even more welcome of course.  ;-)

Most of git-gui tries to stay away from shell scripts, partly for
this reason, and partly because its Porcelain and shouldn't depend
on the stock Porcelain-ish that comes with Git.  Oh, and shell
scripts on Cygwin aren't speed-demons.  :-)

-- 
Shawn.

```

## Johannes Schindelin, 2007-02-08 21:26

Subject: Re: MinGW binary installer available
Message-ID: <Pine.LNX.4.63.0702082224380.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0702082224380.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <20070208212259.GA1091@spearce.org>

```
Hi,

On Thu, 8 Feb 2007, Shawn O. Pearce wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Frankly, I'd rather stay away from such hackeries. For now, we can ship 
> > bash, perl and Tcl/Tk with Git, as well as git-gui, can't we? After all, 
> > Windows users are used to bloatware. Then, we just hide the command line 
> > from them!
> 
> I agree.
> 
> I'm happy to make changes in git-gui to help users who are trying
> to use Git without Cygwin, and are on Windows.  Patches would be
> even more welcome of course.  ;-)
> 
> Most of git-gui tries to stay away from shell scripts, partly for
> this reason, and partly because its Porcelain and shouldn't depend
> on the stock Porcelain-ish that comes with Git.  Oh, and shell
> scripts on Cygwin aren't speed-demons.  :-)

I was talking about MinGW. Shipping MSYS' bash, perl and tcltk would not 
be impossible. And configuring git-gui to be started with MSYS' wish would 
solve the common problems calling bash scripts.

Ciao,
Dscho

```
