threads / discuss / 6721

MinGW binary installer available

Subject: MinGW binary installer available

## tl;dr

28 messages between Feb 7, 2007 and Feb 8, 2007.

replies: 27people: 7as markdown or json

Han-Wen Nienhuys· Feb 7, 2007, 14:38 UTC · lore
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· Feb 7, 2007, 14:55 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

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!
Show 9 quoted lines
> 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.

Show 10 quoted lines
> 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· Feb 7, 2007, 15:05 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Hi,
On Wed, 7 Feb 2007, Johannes Schindelin wrote:
Show 7 quoted lines
> 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· Feb 7, 2007, 15:14 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Johannes Schindelin escreveu:
Show 21 quoted lines
> 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 Sixt· Feb 8, 2007, 08:09 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

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
Han-Wen Nienhuys· Feb 7, 2007, 15:08 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Johannes Schindelin escreveu:
Show 16 quoted lines
>> 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
Johannes Schindelin· Feb 7, 2007, 15:26 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

Hi,
On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
Show 8 quoted lines
> 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· Feb 7, 2007, 15:34 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

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
Johannes Schindelin· Feb 7, 2007, 16:16 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

Hi,
On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
Show 12 quoted lines
> 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· Feb 7, 2007, 17:05 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

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· Feb 7, 2007, 17:10 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

Hi,
On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
Show 7 quoted lines
> 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· Feb 7, 2007, 17:35 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Johannes Schindelin escreveu:
Show 6 quoted lines
> 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
Han-Wen Nienhuys· Feb 7, 2007, 21:10 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

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
Johannes Sixt· Feb 8, 2007, 08:12 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

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
Johannes Sixt· Feb 8, 2007, 08:09 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

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.
Han-Wen Nienhuys· Feb 8, 2007, 10:14 UTC · re: Johannes Sixt · lore

Re: MinGW binary installer available

Johannes Sixt escreveu:
Show 5 quoted lines
> 
> 
> 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
Robin Rosenberg· Feb 8, 2007, 21:15 UTC · re: Johannes Sixt · lore

Re: MinGW binary installer available

torsdag 08 februari 2007 09:09 skrev Johannes Sixt:
Show 13 quoted lines
> 
> @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· Feb 8, 2007, 21:18 UTC · re: Robin Rosenberg · lore

Re: MinGW binary installer available

Hi,
On Thu, 8 Feb 2007, Robin Rosenberg wrote:
Show 18 quoted lines
> 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· Feb 8, 2007, 21:22 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

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· Feb 8, 2007, 21:26 UTC · re: Shawn O. Pearce · lore

Re: MinGW binary installer available

Hi,
On Thu, 8 Feb 2007, Shawn O. Pearce wrote:
Show 16 quoted lines
> 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

Han-Wen Nienhuys· Feb 7, 2007, 16:03 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Johannes Schindelin escreveu:
Show 10 quoted lines
> 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
Jan Nieuwenhuizen· Feb 7, 2007, 20:18 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

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· Feb 7, 2007, 21:21 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Johannes Schindelin escreveu:
Show 10 quoted lines
> 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
Johannes Schindelin· Feb 7, 2007, 23:51 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

Hi,
On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
Show 13 quoted lines
> 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

Han-Wen Nienhuys· Feb 7, 2007, 22:10 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

Johannes Schindelin escreveu:
Show 10 quoted lines
> 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· Feb 7, 2007, 23:52 UTC · re: Han-Wen Nienhuys · lore

Re: MinGW binary installer available

Hi,
On Wed, 7 Feb 2007, Han-Wen Nienhuys wrote:
Show 17 quoted lines
> 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

Jan Nieuwenhuizen· Feb 8, 2007, 19:58 UTC · re: Johannes Schindelin · lore

Re: MinGW binary installer available

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· Feb 8, 2007, 20:08 UTC · re: Jan Nieuwenhuizen · lore

Re: MinGW binary installer available

Hi,
On Thu, 8 Feb 2007, Jan Nieuwenhuizen wrote:
Show 6 quoted lines
> 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

← back to recent threads