All of lore.kernel.org
 help / color / mirror / Atom feed
* MinGW binary installer available
@ 2007-02-07 14:38 Han-Wen Nienhuys
  2007-02-07 14:55 ` Johannes Schindelin
  0 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 14:38 UTC (permalink / raw)
  To: git; +Cc: Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 14:38 MinGW binary installer available Han-Wen Nienhuys
@ 2007-02-07 14:55 ` Johannes Schindelin
  2007-02-07 15:05   ` Johannes Schindelin
                     ` (4 more replies)
  0 siblings, 5 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 14:55 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 14:55 ` Johannes Schindelin
@ 2007-02-07 15:05   ` Johannes Schindelin
  2007-02-07 15:14     ` Han-Wen Nienhuys
  2007-02-08  8:09     ` Johannes Sixt
  2007-02-07 15:08   ` Han-Wen Nienhuys
                     ` (3 subsequent siblings)
  4 siblings, 2 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 15:05 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 14:55 ` Johannes Schindelin
  2007-02-07 15:05   ` Johannes Schindelin
@ 2007-02-07 15:08   ` Han-Wen Nienhuys
  2007-02-07 15:26     ` Johannes Schindelin
                       ` (2 more replies)
  2007-02-07 16:03   ` Han-Wen Nienhuys
                     ` (2 subsequent siblings)
  4 siblings, 3 replies; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 15:08 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:05   ` Johannes Schindelin
@ 2007-02-07 15:14     ` Han-Wen Nienhuys
  2007-02-08  8:09     ` Johannes Sixt
  1 sibling, 0 replies; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 15:14 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:08   ` Han-Wen Nienhuys
@ 2007-02-07 15:26     ` Johannes Schindelin
  2007-02-07 15:34       ` Han-Wen Nienhuys
  2007-02-07 21:10     ` Han-Wen Nienhuys
  2007-02-08  8:09     ` Johannes Sixt
  2 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 15:26 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:26     ` Johannes Schindelin
@ 2007-02-07 15:34       ` Han-Wen Nienhuys
  2007-02-07 16:16         ` Johannes Schindelin
  0 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 15:34 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 14:55 ` Johannes Schindelin
  2007-02-07 15:05   ` Johannes Schindelin
  2007-02-07 15:08   ` Han-Wen Nienhuys
@ 2007-02-07 16:03   ` Han-Wen Nienhuys
  2007-02-07 20:18     ` Jan Nieuwenhuizen
  2007-02-07 21:21   ` Han-Wen Nienhuys
  2007-02-07 22:10   ` Han-Wen Nienhuys
  4 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 16:03 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:34       ` Han-Wen Nienhuys
@ 2007-02-07 16:16         ` Johannes Schindelin
  2007-02-07 17:05           ` Han-Wen Nienhuys
  0 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 16:16 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 16:16         ` Johannes Schindelin
@ 2007-02-07 17:05           ` Han-Wen Nienhuys
  2007-02-07 17:10             ` Johannes Schindelin
  0 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 17:05 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 17:05           ` Han-Wen Nienhuys
@ 2007-02-07 17:10             ` Johannes Schindelin
  2007-02-07 17:35               ` Han-Wen Nienhuys
  0 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 17:10 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 17:10             ` Johannes Schindelin
@ 2007-02-07 17:35               ` Han-Wen Nienhuys
  0 siblings, 0 replies; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 17:35 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 16:03   ` Han-Wen Nienhuys
@ 2007-02-07 20:18     ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 28+ messages in thread
From: Jan Nieuwenhuizen @ 2007-02-07 20:18 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: Johannes Schindelin, git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:08   ` Han-Wen Nienhuys
  2007-02-07 15:26     ` Johannes Schindelin
@ 2007-02-07 21:10     ` Han-Wen Nienhuys
  2007-02-08  8:12       ` Johannes Sixt
  2007-02-08  8:09     ` Johannes Sixt
  2 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 21:10 UTC (permalink / raw)
  To: git; +Cc: Johannes Schindelin, git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 14:55 ` Johannes Schindelin
                     ` (2 preceding siblings ...)
  2007-02-07 16:03   ` Han-Wen Nienhuys
@ 2007-02-07 21:21   ` Han-Wen Nienhuys
  2007-02-07 23:51     ` Johannes Schindelin
  2007-02-07 22:10   ` Han-Wen Nienhuys
  4 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 21:21 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 14:55 ` Johannes Schindelin
                     ` (3 preceding siblings ...)
  2007-02-07 21:21   ` Han-Wen Nienhuys
@ 2007-02-07 22:10   ` Han-Wen Nienhuys
  2007-02-07 23:52     ` Johannes Schindelin
  4 siblings, 1 reply; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-07 22:10 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 21:21   ` Han-Wen Nienhuys
@ 2007-02-07 23:51     ` Johannes Schindelin
  0 siblings, 0 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 23:51 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 22:10   ` Han-Wen Nienhuys
@ 2007-02-07 23:52     ` Johannes Schindelin
  2007-02-08 19:58       ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-07 23:52 UTC (permalink / raw)
  To: Han-Wen Nienhuys; +Cc: git, Jan Nieuwenhuizen

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:08   ` Han-Wen Nienhuys
  2007-02-07 15:26     ` Johannes Schindelin
  2007-02-07 21:10     ` Han-Wen Nienhuys
@ 2007-02-08  8:09     ` Johannes Sixt
  2007-02-08 10:14       ` Han-Wen Nienhuys
  2007-02-08 21:15       ` Robin Rosenberg
  2 siblings, 2 replies; 28+ messages in thread
From: Johannes Sixt @ 2007-02-08  8:09 UTC (permalink / raw)
  To: git

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.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 15:05   ` Johannes Schindelin
  2007-02-07 15:14     ` Han-Wen Nienhuys
@ 2007-02-08  8:09     ` Johannes Sixt
  1 sibling, 0 replies; 28+ messages in thread
From: Johannes Sixt @ 2007-02-08  8:09 UTC (permalink / raw)
  To: git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 21:10     ` Han-Wen Nienhuys
@ 2007-02-08  8:12       ` Johannes Sixt
  0 siblings, 0 replies; 28+ messages in thread
From: Johannes Sixt @ 2007-02-08  8:12 UTC (permalink / raw)
  To: git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-08  8:09     ` Johannes Sixt
@ 2007-02-08 10:14       ` Han-Wen Nienhuys
  2007-02-08 21:15       ` Robin Rosenberg
  1 sibling, 0 replies; 28+ messages in thread
From: Han-Wen Nienhuys @ 2007-02-08 10:14 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-07 23:52     ` Johannes Schindelin
@ 2007-02-08 19:58       ` Jan Nieuwenhuizen
  2007-02-08 20:08         ` Johannes Schindelin
  0 siblings, 1 reply; 28+ messages in thread
From: Jan Nieuwenhuizen @ 2007-02-08 19:58 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Han-Wen Nienhuys, git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-08 19:58       ` Jan Nieuwenhuizen
@ 2007-02-08 20:08         ` Johannes Schindelin
  0 siblings, 0 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-08 20:08 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: Han-Wen Nienhuys, git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-08  8:09     ` Johannes Sixt
  2007-02-08 10:14       ` Han-Wen Nienhuys
@ 2007-02-08 21:15       ` Robin Rosenberg
  2007-02-08 21:18         ` Johannes Schindelin
  1 sibling, 1 reply; 28+ messages in thread
From: Robin Rosenberg @ 2007-02-08 21:15 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-08 21:15       ` Robin Rosenberg
@ 2007-02-08 21:18         ` Johannes Schindelin
  2007-02-08 21:22           ` Shawn O. Pearce
  0 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-08 21:18 UTC (permalink / raw)
  To: Robin Rosenberg; +Cc: Johannes Sixt, git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-08 21:18         ` Johannes Schindelin
@ 2007-02-08 21:22           ` Shawn O. Pearce
  2007-02-08 21:26             ` Johannes Schindelin
  0 siblings, 1 reply; 28+ messages in thread
From: Shawn O. Pearce @ 2007-02-08 21:22 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Robin Rosenberg, Johannes Sixt, git

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.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: MinGW binary installer available
  2007-02-08 21:22           ` Shawn O. Pearce
@ 2007-02-08 21:26             ` Johannes Schindelin
  0 siblings, 0 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-02-08 21:26 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: Robin Rosenberg, Johannes Sixt, git

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

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2007-02-08 21:26 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-07 14:38 MinGW binary installer available Han-Wen Nienhuys
2007-02-07 14:55 ` Johannes Schindelin
2007-02-07 15:05   ` Johannes Schindelin
2007-02-07 15:14     ` Han-Wen Nienhuys
2007-02-08  8:09     ` Johannes Sixt
2007-02-07 15:08   ` Han-Wen Nienhuys
2007-02-07 15:26     ` Johannes Schindelin
2007-02-07 15:34       ` Han-Wen Nienhuys
2007-02-07 16:16         ` Johannes Schindelin
2007-02-07 17:05           ` Han-Wen Nienhuys
2007-02-07 17:10             ` Johannes Schindelin
2007-02-07 17:35               ` Han-Wen Nienhuys
2007-02-07 21:10     ` Han-Wen Nienhuys
2007-02-08  8:12       ` Johannes Sixt
2007-02-08  8:09     ` Johannes Sixt
2007-02-08 10:14       ` Han-Wen Nienhuys
2007-02-08 21:15       ` Robin Rosenberg
2007-02-08 21:18         ` Johannes Schindelin
2007-02-08 21:22           ` Shawn O. Pearce
2007-02-08 21:26             ` Johannes Schindelin
2007-02-07 16:03   ` Han-Wen Nienhuys
2007-02-07 20:18     ` Jan Nieuwenhuizen
2007-02-07 21:21   ` Han-Wen Nienhuys
2007-02-07 23:51     ` Johannes Schindelin
2007-02-07 22:10   ` Han-Wen Nienhuys
2007-02-07 23:52     ` Johannes Schindelin
2007-02-08 19:58       ` Jan Nieuwenhuizen
2007-02-08 20:08         ` Johannes Schindelin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.