threads / discuss / 9359

Git on MSys (or how to make it easy for Windows users to compile git)

Subject: Git on MSys (or how to make it easy for Windows users to compile git)

## tl;dr

53 messages between Aug 2, 2007 and Aug 9, 2007.

replies: 52people: 8as markdown or json

Johannes Schindelin· Aug 2, 2007, 21:23 UTC · lore
Hi,

I finally broke down, waiting for the sourceforge project to get granted. In the meantime, I registered a project at

	http://code.google.com/p/msysgit/
(WARNING: temporary only!)

Would you believe that Google code has a restriction to 20MB per file, and 100MB in total, and you cannot remove files? The same Google that gives you 1TB mail space and counting? Yes, it is ludicrous.

Anyway, you can get a complete Development environment in 3 files (because one would be too large), and... oh well, just read what is written on the website if you're really interested.

The plan is to move to Source forget ;-) when they finally approve the project, or stay with Google, should they decide to lift the quota a bit.

Dmitry already reported a buglet preventing gcc to run without changes on Vista, his theory is that the infamous access() function is at fault. So if you are unlucky enough to be stuck with Vista, just copy msysGit/mingw/libexec/gcc/mingw32/3.4.2/cc1.exe to msysGit/mingw/bin/ and you're set.

Ciao, Dscho

Dmitry Kakurin· Aug 3, 2007, 06:56 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Great job! Because finding and installing MSys, MinGW and dependencies was not trivial at all.
I have 2 suggestions for this package:
1. Remove git repository from it. It will make a download much smaller (~20MB smaller) and include the minimum git functionality to 
pull mingw git from the server (may be even automatically on first startup).
2. Add gdb. Not much could be done without it.

With this package (+gdb) it took me about an hour to figure out why git is broken on Vista (this includes learning how to use gdb :-). So you should expect much higher level of participation on the Windows side.

P.S. If package becomes sufficiently small for a single file, try to remove 7zip dependency (use WinZip instead). The easier the installation the better.

- Dmitry
----- Original Message ----- 
From: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>
Newsgroups: gmane.comp.version-control.git
To: <git@vger.kernel.org>
Sent: Thursday, 2 August 2007 14:23
Subject: Git on MSys (or how to make it easy for Windows users to compile git)
Hi,

I finally broke down, waiting for the sourceforge project to get granted. In the meantime, I registered a project at

http://code.google.com/p/msysgit/
(WARNING: temporary only!)

Would you believe that Google code has a restriction to 20MB per file, and 100MB in total, and you cannot remove files? The same Google that gives you 1TB mail space and counting? Yes, it is ludicrous.

Anyway, you can get a complete Development environment in 3 files (because one would be too large), and... oh well, just read what is written on the website if you're really interested.

The plan is to move to Source forget ;-) when they finally approve the project, or stay with Google, should they decide to lift the quota a bit.

Dmitry already reported a buglet preventing gcc to run without changes on Vista, his theory is that the infamous access() function is at fault. So if you are unlucky enough to be stuck with Vista, just copy msysGit/mingw/libexec/gcc/mingw32/3.4.2/cc1.exe to msysGit/mingw/bin/ and you're set.

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 07:10 UTC · re: Dmitry Kakurin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Dmitry Kakurin said the following on 03.08.2007 08:56:
Show 11 quoted lines
> Great job! Because finding and installing MSys, MinGW and dependencies was not trivial at all.
> I have 2 suggestions for this package:
> 1. Remove git repository from it. It will make a download much smaller (~20MB smaller) and include the minimum git functionality to 
> pull mingw git from the server (may be even automatically on first startup).
> 2. Add gdb. Not much could be done without it.
> 
> With this package (+gdb) it took me about an hour to figure out why git is broken on Vista (this includes learning how to use gdb 
> :-). So you should expect much higher level of participation on the Windows side.
> 
> P.S. If package becomes sufficiently small for a single file, try to remove 7zip dependency (use WinZip instead). The easier the 
> installation the better.

Heh, why don't you try to do this yourself? Johannes as kind enough to go out of his way to actually do all that he has already. Seems like you feel strongly for it, so it shouldn't be too much effort for you. If you provide Johannes with a link to a package of which you speak, I'm sure he'll happily upload it to the google project page.

-- 
.marius
Dmitry Kakurin· Aug 3, 2007, 09:58 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Fair enough.
Johannes, please add me as a user to this Google project and I'll
upload the files.
The changes that I've made:
* removed .git in /git directory to save space
* installed gdb
* applied my Vista fix
* made self-extracting .rar archive
Tatal size is 19+4 MB.
- Dmitry
On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
Show 25 quoted lines
> Dmitry Kakurin said the following on 03.08.2007 08:56:
> > Great job! Because finding and installing MSys, MinGW and dependencies was not trivial at all.
> > I have 2 suggestions for this package:
> > 1. Remove git repository from it. It will make a download much smaller (~20MB smaller) and include the minimum git functionality to
> > pull mingw git from the server (may be even automatically on first startup).
> > 2. Add gdb. Not much could be done without it.
> >
> > With this package (+gdb) it took me about an hour to figure out why git is broken on Vista (this includes learning how to use gdb
> > :-). So you should expect much higher level of participation on the Windows side.
> >
> > P.S. If package becomes sufficiently small for a single file, try to remove 7zip dependency (use WinZip instead). The easier the
> > installation the better.
>
> Heh, why don't you try to do this yourself? Johannes as kind enough to
> go out of his way to actually do all that he has already.
> Seems like you feel strongly for it, so it shouldn't be too much
> effort for you. If you provide Johannes with a link to a package of
> which you speak, I'm sure he'll happily upload it to the google
> project page.
>
> --
> .marius
>
>
>
Johannes Schindelin· Aug 3, 2007, 11:43 UTC · re: Dmitry Kakurin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
> Johannes, please add me as a user to this Google project and I'll
> upload the files.
Done.
Show 7 quoted lines
> The changes that I've made:
> * removed .git in /git directory to save space
> * installed gdb
> * applied my Vista fix
> * made self-extracting .rar archive
> 
> Tatal size is 19+4 MB.

With Vista fix you mean both adding the USE_MINGW_ACCESS define and copying cc1.exe to /bin?

And have you tried a 7-zip LZMA self extracting file? I guess it is smaller: for the moment I have two files there, totalling 30.2M. 15M of which is the virtually uncompressible pack file in .git/. Which leaves...

Ciao, Dscho

Dmitry Kakurin· Aug 3, 2007, 21:14 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

> With Vista fix you mean both adding the USE_MINGW_ACCESS define and 
> copying cc1.exe to /bin?
Only the first one. I didn't copy cc1.exe because it could affect non-Vista users in a negative way.
- Dmitry
Johannes Schindelin· Aug 3, 2007, 11:50 UTC · re: Dmitry Kakurin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
Show 5 quoted lines
> The changes that I've made:
> * removed .git in /git directory to save space
> * installed gdb
> * applied my Vista fix
> * made self-extracting .rar archive

Completely forgot: we might want to do something like this at the end of /etc/profile:

	test ! -d /git || {
		mv /git $HOME/ &&
		cd $HOME/git &&
		make install &&
		git config remote.origin.url \
			git://repo.or.cz/git/mingw.git
		git config remote.origin.fetch \
			'+refs/heads/*:refs/remotes/origin/*'
		git config remote.mob.url \
			repo.or.cz:/srv/git/git/mingw.git
		git config remote.mob.fetch \
			+refs/remote/mob:refs/remotes/origin/mob
		git config remote.mob.push \
			master:mob
		git fetch
		git reset 51785010a4d3e7f6c3
	}
Please test that, and include it if it works.

It would be a bit easier if perl would work (it is installed, but for some reason (cd perl && make) does not do its job).

Ciao, Dscho

Johannes Schindelin· Aug 3, 2007, 12:47 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Johannes Schindelin wrote:
Show 22 quoted lines
> Completely forgot: we might want to do something like this at the end of 
> /etc/profile:
> 
> 	test ! -d /git || {
> 		mv /git $HOME/ &&
> 		cd $HOME/git &&
> 		make install &&
> 		git config remote.origin.url \
> 			git://repo.or.cz/git/mingw.git
> 		git config remote.origin.fetch \
> 			'+refs/heads/*:refs/remotes/origin/*'
> 		git config remote.mob.url \
> 			repo.or.cz:/srv/git/git/mingw.git
> 		git config remote.mob.fetch \
> 			+refs/remote/mob:refs/remotes/origin/mob
> 		git config remote.mob.push \
> 			master:mob
> 		git fetch
> 		git reset 51785010a4d3e7f6c3
> 	}
> 
> Please test that, and include it if it works.
Oh well, I downloaded your archive, and making the adjustments right now.

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 13:11 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 22 quoted lines
>> Completely forgot: we might want to do something like this at the end of 
>> /etc/profile:
>>
>> 	test ! -d /git || {
>> 		mv /git $HOME/ &&
>> 		cd $HOME/git &&
>> 		make install &&
>> 		git config remote.origin.url \
>> 			git://repo.or.cz/git/mingw.git
>> 		git config remote.origin.fetch \
>> 			'+refs/heads/*:refs/remotes/origin/*'
>> 		git config remote.mob.url \
>> 			repo.or.cz:/srv/git/git/mingw.git
>> 		git config remote.mob.fetch \
>> 			+refs/remote/mob:refs/remotes/origin/mob
>> 		git config remote.mob.push \
>> 			master:mob
>> 		git fetch
>> 		git reset 51785010a4d3e7f6c3
>> 	}
>>
>> Please test that, and include it if it works.
Hmmm, I have trouble 'parsing' this.
You meant
     test ! -d $HOME/git ||
right?

But, given that he removed the initial git sources, the script won't work. He left the git executables to be able to check a new Git out, if I understand correctly.

-- 
.marius
Johannes Schindelin· Aug 3, 2007, 13:37 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
Show 31 quoted lines
> > > Completely forgot: we might want to do something like this at the end of
> > > /etc/profile:
> > > 
> > > 	test ! -d /git || {
> > > 		mv /git $HOME/ &&
> > > 		cd $HOME/git &&
> > > 		make install &&
> > > 		git config remote.origin.url \
> > > 			git://repo.or.cz/git/mingw.git
> > > 		git config remote.origin.fetch \
> > > 			'+refs/heads/*:refs/remotes/origin/*'
> > > 		git config remote.mob.url \
> > > 			repo.or.cz:/srv/git/git/mingw.git
> > > 		git config remote.mob.fetch \
> > > 			+refs/remote/mob:refs/remotes/origin/mob
> > > 		git config remote.mob.push \
> > > 			master:mob
> > > 		git fetch
> > > 		git reset 51785010a4d3e7f6c3
> > > 	}
> > > 
> > > Please test that, and include it if it works.
> 
> Hmmm, I have trouble 'parsing' this.
> You meant
>     test ! -d $HOME/git ||
> right?
> 
> But, given that he removed the initial git sources, the script won't work. He
> left the git executables to be able to check a new Git out, if I understand
> correctly.

I ended up doing it differently. I test for $HOME/bin/git.exe, and if it does not exist, the whole compiling && installing && fetching is done.

Actually, I found out by debugging why it did not work as intended that commit 5178501 was a commit _I_ made, from experimental patches Hannes sent to the list.

I updated it to origin/devel + patches.

Hopefully these patches will be cleaned up, and submitted to Hannes (hint, hint).

Ciao, Dscho

Johannes Schindelin· Aug 3, 2007, 12:37 UTC · re: Dmitry Kakurin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
Show 5 quoted lines
> The changes that I've made:
> * removed .git in /git directory to save space
> * installed gdb
> * applied my Vista fix
> * made self-extracting .rar archive
* replace rxvt by that stupid cmd window
Sneaky.
Can you defend the choice?
FWIW here are my arguments for rxvt:
	- it behaves the same on all Windows versions
	- it has a scroll back (which you have to activate on cmd first)
	- it is resizable
	- it has sane copy&paste behaviour (which you have to activate on 
		cmd first, and then still have to hit the Return key after 
		having selected some text)

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 13:08 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin said the following on 03.08.2007 14:37:
Show 18 quoted lines
> On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
>> The changes that I've made:
>> * removed .git in /git directory to save space
>> * installed gdb
>> * applied my Vista fix
>> * made self-extracting .rar archive
> 
> * replace rxvt by that stupid cmd window
> Sneaky.
> Can you defend the choice?
> FWIW here are my arguments for rxvt:
> 
> 	- it behaves the same on all Windows versions
> 	- it has a scroll back (which you have to activate on cmd first)
> 	- it is resizable
> 	- it has sane copy&paste behaviour (which you have to activate on 
> 		cmd first, and then still have to hit the Return key after 
> 		having selected some text)

Normally, people would probably like to stay in their current environment/window. Let's say you're doing something in a cmd windows, then you want to go and compile git. If you run msys.bat, it will kill your current window, and show a rxvt window instead. That's kinda not nice really.

If you enable the QuickEdit in the 'CMD' window, you mark with mouse, the right-click to copy, then right-click again to paste. No need to move your hand and hit Enter/Return. (Many people don't know about the right-click to copy, but it's a much better work-flow)

You can do all the changes (like changing the scrollback size and edit mode) once, then store it, never to change it again.

-- 
.marius
Johannes Schindelin· Aug 3, 2007, 13:18 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
Show 32 quoted lines
> Johannes Schindelin said the following on 03.08.2007 14:37:
> > On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
> > > The changes that I've made:
> > > * removed .git in /git directory to save space
> > > * installed gdb
> > > * applied my Vista fix
> > > * made self-extracting .rar archive
> > 
> > * replace rxvt by that stupid cmd window
> > Sneaky.
> > Can you defend the choice?
> > FWIW here are my arguments for rxvt:
> > 
> > 	- it behaves the same on all Windows versions
> > 	- it has a scroll back (which you have to activate on cmd first)
> > 	- it is resizable
> > 	- it has sane copy&paste behaviour (which you have to activate on
> > cmd first, and then still have to hit the Return key after 		having
> > selected some text)
> 
> Normally, people would probably like to stay in their current
> environment/window. Let's say you're doing something in a cmd windows, then
> you want to go and compile git. If you run msys.bat, it will kill your current
> window, and show a rxvt window instead. That's kinda not nice really.
> 
> If you enable the QuickEdit in the 'CMD' window, you mark with mouse, the
> right-click to copy, then right-click again to paste. No need to move your
> hand and hit Enter/Return. (Many people don't know about the right-click to
> copy, but it's a much better work-flow)
> 
> You can do all the changes (like changing the scrollback size and edit mode)
> once, then store it, never to change it again.
Thanks for that good point (staying in your window).

Okay, tell you what: I'll let msys.bat start a cmd, and msys-rxvt.bat start an rxvt. Deal?

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 13:24 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin said the following on 03.08.2007 15:18:
Show 19 quoted lines
>> Normally, people would probably like to stay in their current 
>> environment/window. Let's say you're doing something in a cmd
>> windows, then you want to go and compile git. If you run
>> msys.bat, it will kill your current window, and show a rxvt
>> window instead. That's kinda not nice really.
>> 
>> If you enable the QuickEdit in the 'CMD' window, you mark with
>> mouse, the right-click to copy, then right-click again to paste.
>> No need to move your hand and hit Enter/Return. (Many people
>> don't know about the right-click to copy, but it's a much better
>> work-flow)
>> 
>> You can do all the changes (like changing the scrollback size and
>> edit mode) once, then store it, never to change it again.
> 
> Thanks for that good point (staying in your window).
> 
> Okay, tell you what: I'll let msys.bat start a cmd, and
> msys-rxvt.bat start an rxvt.  Deal?
Sound good to me!
-- 
.marius
Johannes Schindelin· Aug 3, 2007, 13:34 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
Show 6 quoted lines
> Johannes Schindelin said the following on 03.08.2007 15:18:
> 
> > Okay, tell you what: I'll let msys.bat start a cmd, and
> > msys-rxvt.bat start an rxvt.  Deal?
> 
> Sound good to me!
Done.  Please test.

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 15:34 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin wrote:
> Done.  Please test.
Ok,
1) msys.bat still kills the previous window
   msys.bat needs to change from
:startsh
start sh --login -i
exit
   to just
:startsh
sh --login -i
(start <cmd> opens a new CMD window, and exit kills the current one)
2) If $HOME is set to the normal home directory of the user (which I
have, but I doubt it's common)
      C:\Documents and Settings\<username>
   then you'll have problems with spaces in path, so the
      make install
   actually fails. So, next time you start msys.bat, it will try to do
the installation step again. I don't think we have to care about that
right now. The current setup work fine for now. I'll play around a bit
with it, and we'll see.
3) When "Setting up git" the second time, it feels like the whole thing
is hanging; have let it run for ~5min now without anything happening.
Not sure what's going on here. It looks like git.exe was ran with any
options, but that should not consume 100% CPU.. Hmm
4) When using the install, I get
marius@STORM /git
$ git init
warning: templates not found C:/msysGit/share/git-core/templates/
Initialized empty Git repository in .git/
Probably due to the "Setting up git" step not completing.

-- .marius

Johannes Schindelin· Aug 3, 2007, 16:46 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
Show 11 quoted lines
> 1) msys.bat still kills the previous window
>    msys.bat needs to change from
> :startsh
> start sh --login -i
> exit
> 
>    to just
> :startsh
> sh --login -i
> 
> (start <cmd> opens a new CMD window, and exit kills the current one)
Done.
Show 9 quoted lines
> 2) If $HOME is set to the normal home directory of the user (which I
> have, but I doubt it's common)
>       C:\Documents and Settings\<username>
>    then you'll have problems with spaces in path, so the
>       make install
>    actually fails. So, next time you start msys.bat, it will try to do
> the installation step again. I don't think we have to care about that
> right now. The current setup work fine for now. I'll play around a bit
> with it, and we'll see.

I agree, it is much saner to install it to /bin. That should make creating an installer for Git (the compiled one) easier, too.

> 3) When "Setting up git" the second time, it feels like the whole thing
> is hanging; have let it run for ~5min now without anything happening.
> Not sure what's going on here. It looks like git.exe was ran with any
> options, but that should not consume 100% CPU.. Hmm

Yep. I did not test the initial phase, and there is a serious bug in setup_git_directory_gently() in origin/devel. I fixed that.

Show 7 quoted lines
> 4) When using the install, I get
> marius@STORM /git
> $ git init
> warning: templates not found C:/msysGit/share/git-core/templates/
> Initialized empty Git repository in .git/
> 
> Probably due to the "Setting up git" step not completing.

That is expected. Hooks are activated by chmod'ing them to executable. AFAIK this concept is thoroughly broken by Windows. So I do not even attempt to install the templates; otherwise all hooks would be blindly activated (and you do not want that, trust me).

New installer is available and tagged 0.2.

Ciao, Dscho

P.S.: I also uploaded the script I created to make the installer. It assumes that you installed 7zip to C:\Program Files\7-Zip but is trivial to adapt to your setup.

Marius Storm-Olsen· Aug 3, 2007, 17:53 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin wrote:
> On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
>> 1) msys.bat still kills the previous window
>> (start <cmd> opens a new CMD window, and exit kills the current one)
> Done.
Works nicely now.
Show 7 quoted lines
>> 2) If $HOME is set to the normal home directory of the user (which I
>> have, but I doubt it's common)
>>    then you'll have problems with spaces in path, so the
>>       make install
> 
> I agree, it is much saner to install it to /bin.  That should make 
> creating an installer for Git (the compiled one) easier, too.
Perfect! All neatly packaged in c:\MSysGit\bin now :-)
Show 7 quoted lines
>> 3) When "Setting up git" the second time, it feels like the whole thing
>> is hanging; have let it run for ~5min now without anything happening.
>> Not sure what's going on here. It looks like git.exe was ran with any
>> options, but that should not consume 100% CPU.. Hmm
> 
> Yep.  I did not test the initial phase, and there is a serious bug in 
> setup_git_directory_gently() in origin/devel.  I fixed that.
Yup, work now.
Show 12 quoted lines
>> 4) When using the install, I get
>> marius@STORM /git
>> $ git init
>> warning: templates not found C:/msysGit/share/git-core/templates/
>> Initialized empty Git repository in .git/
>>
>> Probably due to the "Setting up git" step not completing.
> 
> That is expected.  Hooks are activated by chmod'ing them to executable.  
> AFAIK this concept is thoroughly broken by Windows.  So I do not even 
> attempt to install the templates; otherwise all hooks would be blindly 
> activated (and you do not want that, trust me).

Actually, the MinGW build uses NOEXECTEMPL to set a '.noexec' postfix to the template files, so they are not executed, even with Windows brokeness. ;-) So, you can safely copy them into msysgit\shared\git-core\templates.

> P.S.: I also uploaded the script I created to make the installer.  It
> assumes that you installed 7zip to C:\Program Files\7-Zip but is
> trivial to adapt to your setup.

Thnx! I guess I should become a member of the project then, so I can upload packages when needed :-) (I already have a code.google.com account 'mstormo', so you can add that user)

Later! -- .marius

Mike Pape· Aug 3, 2007, 18:33 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 9 quoted lines
> >> 3) When "Setting up git" the second time, it feels like the whole thing
> >> is hanging; have let it run for ~5min now without anything happening.
> >> Not sure what's going on here. It looks like git.exe was ran with any
> >> options, but that should not consume 100% CPU.. Hmm
> >
> > Yep.  I did not test the initial phase, and there is a serious bug in
> > setup_git_directory_gently() in origin/devel.  I fixed that.
>
> Yup, work now.

Works for me as well now. One catch is that at work, I'm behind a firewall so git:// doesn't work for me. I have a packaged version that adds curl and expat, enables them in the build, and then falls back to http:// if git:// fails in /etc/profile. Is that something you'd want up on code.google.com?

Marius Storm-Olsen· Aug 3, 2007, 18:39 UTC · re: Mike Pape · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Mike Pape wrote:
Show 13 quoted lines
>>>> 3) When "Setting up git" the second time, it feels like the whole thing
>>>> is hanging; have let it run for ~5min now without anything happening.
>>>> Not sure what's going on here. It looks like git.exe was ran with any
>>>> options, but that should not consume 100% CPU.. Hmm
>>> Yep.  I did not test the initial phase, and there is a serious bug in
>>> setup_git_directory_gently() in origin/devel.  I fixed that.
>> Yup, work now.
> 
> Works for me as well now.  One catch is that at work, I'm behind a
> firewall so git:// doesn't work for me.  I have a packaged version
> that adds curl and expat, enables them in the build, and then falls
> back to http:// if git:// fails in /etc/profile.  Is that something
> you'd want up on code.google.com?
Ooo, I'd like your built curl and expat libs in a zip, pretty please! :-)

Then we can add it to the package. The more complete MinGW port, the better. Do you have anywhere you can put out such a zip, so I can get ahold of it? You can mail me privately, if you'd like.

-- .marius

Johannes Schindelin· Aug 3, 2007, 18:55 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
Show 20 quoted lines
> Mike Pape wrote:
> >>>> 3) When "Setting up git" the second time, it feels like the whole thing
> >>>> is hanging; have let it run for ~5min now without anything happening.
> >>>> Not sure what's going on here. It looks like git.exe was ran with any
> >>>> options, but that should not consume 100% CPU.. Hmm
> >>> Yep.  I did not test the initial phase, and there is a serious bug in
> >>> setup_git_directory_gently() in origin/devel.  I fixed that.
> >> Yup, work now.
> > 
> > Works for me as well now.  One catch is that at work, I'm behind a
> > firewall so git:// doesn't work for me.  I have a packaged version
> > that adds curl and expat, enables them in the build, and then falls
> > back to http:// if git:// fails in /etc/profile.  Is that something
> > you'd want up on code.google.com?
> 
> Ooo, I'd like your built curl and expat libs in a zip, pretty please! :-)
> 
> Then we can add it to the package. The more complete MinGW port, the
> better. Do you have anywhere you can put out such a zip, so I can get
> ahold of it? You can mail me privately, if you'd like.
I already installed curl, didn't I?

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 18:59 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin wrote:
Show 15 quoted lines
> On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
>> Mike Pape wrote:
>>> Works for me as well now.  One catch is that at work, I'm behind
>>> a firewall so git:// doesn't work for me.  I have a packaged
>>> version that adds curl and expat, enables them in the build, and
>>> then falls back to http:// if git:// fails in /etc/profile.  Is
>>> that something you'd want up on code.google.com?
>> Ooo, I'd like your built curl and expat libs in a zip, pretty
>> please! :-)
>> 
>> Then we can add it to the package. The more complete MinGW port,
>> the better. Do you have anywhere you can put out such a zip, so I
>> can get ahold of it? You can mail me privately, if you'd like.
> 
> I already installed curl, didn't I?
Ah, yes, you did.
However, we don't use it, due to Makefile's
	NO_CURL=YesPlease
for MINGW builds.

-- .marius

Mike Pape· Aug 3, 2007, 19:13 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
Show 22 quoted lines
> Johannes Schindelin wrote:
> > On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
> >> Mike Pape wrote:
> >>> Works for me as well now.  One catch is that at work, I'm behind
> >>> a firewall so git:// doesn't work for me.  I have a packaged
> >>> version that adds curl and expat, enables them in the build, and
> >>> then falls back to http:// if git:// fails in /etc/profile.  Is
> >>> that something you'd want up on code.google.com?
> >> Ooo, I'd like your built curl and expat libs in a zip, pretty
> >> please! :-)
> >>
> >> Then we can add it to the package. The more complete MinGW port,
> >> the better. Do you have anywhere you can put out such a zip, so I
> >> can get ahold of it? You can mail me privately, if you'd like.
> >
> > I already installed curl, didn't I?
>
> Ah, yes, you did.
> However, we don't use it, due to Makefile's
>         NO_CURL=YesPlease
> for MINGW builds.
>

Was it in the latest version (0.2)? I didn't see it there. Either way, I had to make a couple changes to the Makefile to get it to work and also add expat (unless I somehow missed that too). Marius, do you still want a zipped copy or do you have it already?

Marius Storm-Olsen· Aug 3, 2007, 19:18 UTC · re: Mike Pape · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 12 quoted lines
>>>> Then we can add it to the package. The more complete MinGW
>>>> port, the better. Do you have anywhere you can put out such a
>>>> zip, so I can get ahold of it? You can mail me privately, if
>>>> you'd like.
>>> I already installed curl, didn't I?
>> Ah, yes, you did. However, we don't use it, due to Makefile's 
>> NO_CURL=YesPlease for MINGW builds.
>> 
> Was it in the latest version (0.2)?  I didn't see it there.  Either 
> way, I had to make a couple changes to the Makefile to get it to work
> and also add expat (unless I somehow missed that too).  Marius, do
> you still want a zipped copy or do you have it already?
Yeah, curl is in there, but not expat, so we'd like that one, yes.

-- .marius

Johannes Schindelin· Aug 3, 2007, 19:33 UTC · re: Mike Pape · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Mike Pape wrote:
Show 28 quoted lines
> On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
> > Johannes Schindelin wrote:
> > > On Fri, 3 Aug 2007, Marius Storm-Olsen wrote:
> > >> Mike Pape wrote:
> > >>> Works for me as well now.  One catch is that at work, I'm behind
> > >>> a firewall so git:// doesn't work for me.  I have a packaged
> > >>> version that adds curl and expat, enables them in the build, and
> > >>> then falls back to http:// if git:// fails in /etc/profile.  Is
> > >>> that something you'd want up on code.google.com?
> > >> Ooo, I'd like your built curl and expat libs in a zip, pretty
> > >> please! :-)
> > >>
> > >> Then we can add it to the package. The more complete MinGW port,
> > >> the better. Do you have anywhere you can put out such a zip, so I
> > >> can get ahold of it? You can mail me privately, if you'd like.
> > >
> > > I already installed curl, didn't I?
> >
> > Ah, yes, you did.
> > However, we don't use it, due to Makefile's
> >         NO_CURL=YesPlease
> > for MINGW builds.
> >
> 
> Was it in the latest version (0.2)?  I didn't see it there.  Either
> way, I had to make a couple changes to the Makefile to get it to work
> and also add expat (unless I somehow missed that too).  Marius, do you
> still want a zipped copy or do you have it already?
Okay, I am really close to initialising the repository on
	http://repo.or.cz/w/git/mingw/msysgit.git
now.

Everybody interested in contributing, please register as a user on repo.or.cz and mail me your user name.

Ciao, Dscho

Johannes Schindelin· Aug 3, 2007, 21:21 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Johannes Schindelin wrote:
> Okay, I am really close to initialising the repository on
> 
> 	http://repo.or.cz/w/git/mingw/msysgit.git

Actually, that did not work out too well. It is not really a fork, so the tags all pointed nowhere, and I could not even upload origin/devel to fix that. So I bit the apple and initialised a new repo:

	http://repo.or.cz/w/msysgit.git
This will be the official repo for this project.
All users who sent me their username are already registered there.

Ciao, Dscho

Johannes Schindelin· Aug 3, 2007, 18:57 UTC · re: Mike Pape · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Mike Pape wrote:
Show 15 quoted lines
> > >> 3) When "Setting up git" the second time, it feels like the whole thing
> > >> is hanging; have let it run for ~5min now without anything happening.
> > >> Not sure what's going on here. It looks like git.exe was ran with any
> > >> options, but that should not consume 100% CPU.. Hmm
> > >
> > > Yep.  I did not test the initial phase, and there is a serious bug in
> > > setup_git_directory_gently() in origin/devel.  I fixed that.
> >
> > Yup, work now.
> 
> Works for me as well now.  One catch is that at work, I'm behind a
> firewall so git:// doesn't work for me.  I have a packaged version
> that adds curl and expat, enables them in the build, and then falls
> back to http:// if git:// fails in /etc/profile.  Is that something
> you'd want up on code.google.com?

Hang on. Dmitry proposed opening a project on repo.or.cz, but I did not think that it made sense. I am converted now.

I am in the middle of registering it.

Ciao, Dscho

Dmitry Kakurin· Aug 3, 2007, 21:21 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

> * replace rxvt by that stupid cmd window
> Sneaky.

This was a result of my customization that I have forgot to remove. In general cmd window is more familiar/convenient for Windows users. IMHO, our goal here should be "as native (Windows) as possible". Cygwin fills "as close to *nix as possible" niche. But in any case it's such a minor detail that I don't really care much.

- Dmitry
Johannes Schindelin· Aug 3, 2007, 21:32 UTC · re: Dmitry Kakurin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
Show 8 quoted lines
> > * replace rxvt by that stupid cmd window
> > Sneaky.
> 
> This was a result of my customization that I have forgot to remove.
> In general cmd window is more familiar/convenient for Windows users.
> IMHO, our goal here should be "as native (Windows) as possible". Cygwin fills
> "as close to *nix as possible" niche.
> But in any case it's such a minor detail that I don't really care much.

Actually, I finally saw the light and implemented your idea of the repo.or.cz repository, containing a full copy of the darn beast.

And there, differences like this one are much easier to spot.
Besides, Marius convinced me already to include two versions.

Ciao, Dscho

Torgil Svensson· Aug 4, 2007, 00:16 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,

This is great news for win(-stuck)-users. I've tried "msysGit-0.2.exe", a few glitches

1. Unpacking in a folder that have space in it's path gave various
errors of this type (here, msysGit is unpacked on the desktop
C:\Documents and settings\.... ) : make[1]: C:/Documents: Command not
found
2. rxvt-terminal had some freezes (echoed input but programs didn't
output anything and didn't seem to respond to ctrl-c). Had it once
during "make" and once during "ls".  I't might be related to me
resizing the terminal during command execution (=I didn't see it
otherwise).
3. "gitk --all" said "Error reading commits: fatal: write failure on
stdout: Invalid argument" on start - my other msys installation
didn't. (I didn't do anything to make git dirty - i'm on master and
gitk shows no uncommited changes)
$ git --version
git version mingw.v1.5.2.4.883.g3822-dirty
4. Mouse-wheel didn't work to scroll views in gitk

=> it works with minor installation effort! I've done both MSYS and Cygwin installs - I think this will lower the git barrier on Win significantly. Thanks & good work all involved!

Best Regards,
//Torgil
On 8/3/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 28 quoted lines
> Hi,
>
> On Fri, 3 Aug 2007, Dmitry Kakurin wrote:
>
> > > * replace rxvt by that stupid cmd window
> > > Sneaky.
> >
> > This was a result of my customization that I have forgot to remove.
> > In general cmd window is more familiar/convenient for Windows users.
> > IMHO, our goal here should be "as native (Windows) as possible". Cygwin fills
> > "as close to *nix as possible" niche.
> > But in any case it's such a minor detail that I don't really care much.
>
> Actually, I finally saw the light and implemented your idea of the
> repo.or.cz repository, containing a full copy of the darn beast.
>
> And there, differences like this one are much easier to spot.
>
> Besides, Marius convinced me already to include two versions.
>
> Ciao,
> Dscho
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Johannes Schindelin· Aug 4, 2007, 00:26 UTC · re: Torgil Svensson · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Sat, 4 Aug 2007, Torgil Svensson wrote:
Show 9 quoted lines
> Hi,
> 
> This is great news for win(-stuck)-users. I've tried
> "msysGit-0.2.exe", a few glitches
> 
> 1. Unpacking in a folder that have space in it's path gave various
> errors of this type (here, msysGit is unpacked on the desktop
> C:\Documents and settings\.... ) : make[1]: C:/Documents: Command not
> found

Good point. Did you fix it? If so, where is the patch? Or even better, what is your account on repo.or.cz so I can add it, and you can commit your fix yourself?

Show 5 quoted lines
> 2. rxvt-terminal had some freezes (echoed input but programs didn't
> output anything and didn't seem to respond to ctrl-c). Had it once
> during "make" and once during "ls".  I't might be related to me
> resizing the terminal during command execution (=I didn't see it
> otherwise).
I did not experience those.  Could you research further?
Show 6 quoted lines
> 3. "gitk --all" said "Error reading commits: fatal: write failure on
> stdout: Invalid argument" on start - my other msys installation
> didn't. (I didn't do anything to make git dirty - i'm on master and
> gitk shows no uncommited changes)
> $ git --version
> git version mingw.v1.5.2.4.883.g3822-dirty
I did not even bother testing gitk...  Any idea what is going wrong?
> 4. Mouse-wheel didn't work to scroll views in gitk
Again, no idea why.  Could you please investigate?
> => it works with minor installation effort!  I've done both MSYS and 
> Cygwin installs - I think this will lower the git barrier on Win 
> significantly. Thanks & good work all involved!
Thanks.  Your feedback is much appreciated.

Ciao, Dscho

Torgil Svensson· Aug 5, 2007, 23:41 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/4/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
Hi
Thank you for your reply.
Show 8 quoted lines
> > 1. Unpacking in a folder that have space in it's path gave various
> > errors of this type (here, msysGit is unpacked on the desktop
> > C:\Documents and settings\.... ) : make[1]: C:/Documents: Command not
> > found
>
> Good point.  Did you fix it?  If so, where is the patch?  Or even better,
> what is your account on repo.or.cz so I can add it, and you can commit
> your fix yourself?

I didn't. I bypassed it (unpacked to C:\). I found the bug however (missed quoting):

$ diff -urN msysGit msysGit-fixed diff -urN msysGit/git/git-gui/Makefile msysGit-fixed/git/git-gui/Makefile --- msysGit/git/git-gui/Makefile Fri Aug 3 15:00:16 2007 +++ msysGit-fixed/git/git-gui/Makefile Mon Aug 6 01:22:53 2007

@@ -4,7 +4,7 @@
 #

 GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
-       @$(SHELL_PATH) ./GIT-VERSION-GEN
+       @"$(SHELL_PATH)" ./GIT-VERSION-GEN
 -include GIT-VERSION-FILE

 uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
diff: msysGit/git/gitweb/test/M?¤rchen: No such file or directory
diff: msysGit-fixed/git/gitweb/test/M?¤rchen: No such file or directory


I'll make an account and send you the details when I get an public
SSH-key, haven't done that in windows before. Can I share private key
on both windows and Linux box?


> > 2. rxvt-terminal had some freezes
> I did not experience those.  Could you research further?

Some observations:
"git log" on mingw archive trigger this every time for me (hangs on
different places each time).

"cmd" terminal (msys.bat) seems to pipe "git log" to less while rxvt
terminal outputs lots of text very fast (msys-rxvt.bat) and freezes.
Output:ing lots of text itself doesn't seem to be an issue ("make -d"
doesn't freeze and outputs _lots_ of text)


> > 3. "gitk --all" said "Error reading commits: fatal: write failure on
> > stdout: Invalid argument"
> I did not even bother testing gitk...  Any idea what is going wrong?

The fconfigure -blocking command seems to be not supported under
mingw. This patch makes the error go away. Another issue that is
probably related to this is that gitk doesn't list all commits. I
don't know how to solve this properly.

diff --git a/gitk b/gitk
index 43d88ca..69e5149 100755
--- a/gitk
+++ b/gitk
@@ -147,7 +147,7 @@ proc getcommitlines {fd view}  {
        unset commfd($view)
        notbusy $view
        # set it blocking so we wait for the process to terminate
-       fconfigure $fd -blocking 1
+       #fconfigure $fd -blocking 1
        if {[catch {close $fd} err]} {
            set fv {}
            if {$view != $curview} {


$ grep '\-blocking' gitk | wc -l
     10

(all sets blocking to 0 except for the one in getcommitlines above)



> > 4. Mouse-wheel didn't work to scroll views in gitk
>
> Again, no idea why.  Could you please investigate?

Tough one since I didn't take the tcl tk debugging class. Doesn't work
for me in cygwin either. I don't know if it's implemented at all. Does
it work for anyone else?


//Torgil
Johannes Schindelin· Aug 6, 2007, 00:11 UTC · re: Torgil Svensson · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Mon, 6 Aug 2007, Torgil Svensson wrote:
Show 24 quoted lines
> On 8/4/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> 
> > > 1. Unpacking in a folder that have space in it's path gave various 
> > > errors of this type (here, msysGit is unpacked on the desktop 
> > > C:\Documents and settings\.... ) : make[1]: C:/Documents: Command 
> > > not found
> >
> > Good point.  Did you fix it?  If so, where is the patch?  Or even 
> > better, what is your account on repo.or.cz so I can add it, and you 
> > can commit your fix yourself?
> 
> I didn't. I bypassed it (unpacked to C:\). I found the bug however 
> (missed quoting):
> 
> $ diff -urN msysGit msysGit-fixed
> diff -urN msysGit/git/git-gui/Makefile msysGit-fixed/git/git-gui/Makefile
> --- msysGit/git/git-gui/Makefile        Fri Aug  3 15:00:16 2007
> +++ msysGit-fixed/git/git-gui/Makefile  Mon Aug  6 01:22:53 2007
> @@ -4,7 +4,7 @@
>  #
> 
>  GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
> -       @$(SHELL_PATH) ./GIT-VERSION-GEN
> +       @"$(SHELL_PATH)" ./GIT-VERSION-GEN

AFAICT this _fixes_ compilation in a patch containing spaces, not break it.

> diff: msysGit/git/gitweb/test/M??rchen: No such file or directory
> diff: msysGit-fixed/git/gitweb/test/M??rchen: No such file or directory

Yes, that Märchen is a constant pain. I think it is the reason Kai vanished: he does not want to bear the consequences of his wrong doing.

Of course, it has exposed errors regarding encoding in filenames. But those are errors in the OSes (or in this case, MSys), and _not_ to be fixed within git.

> I'll make an account and send you the details when I get an public 
> SSH-key, haven't done that in windows before. Can I share private key on 
> both windows and Linux box?

Yes. However, I inherently distrust Windows. So I made a separate account on Windows.

NOTE: earlier installers included msys-rxvt.bat.  I now _know_ for a fact 
that a lot of things are strangely broken under Rxvt.  For example, 
creating an ssh key, of all things.
I'd be more than happy to add you to the member list.
> > > 2. rxvt-terminal had some freezes
> >
> > I did not experience those.  Could you research further?

Those "freezes" were due to the fact that Rxvt incorrectly updates stderr in a blocking way, or not at all (don't know which). There are more things that do not work in Rxvt, and only after trying the same in cmd (which I do not like for various reasons) I found out that rxvt.exe is at fault.

I would be glad if somebody managed to compile rxvt herself and fix all those bugs (see http://code.google.com/p/msysgit/ for a short list of the most pressing issues I found). As it is, I have enough work to do with the rest of msysGit, and for the moment, I can at least work in cmd. Even ssh push works.

> Some observations:
> "git log" on mingw archive trigger this every time for me (hangs on
> different places each time).
Never experienced those.
> "cmd" terminal (msys.bat) seems to pipe "git log" to less while rxvt
> terminal outputs lots of text very fast (msys-rxvt.bat) and freezes.
> Output:ing lots of text itself doesn't seem to be an issue ("make -d"
> doesn't freeze and outputs _lots_ of text)

It never froze for me. However, as stated, Rxvt is too workaroundable for me to work on it (although I like Rxvt better than cmd). Any help appreciated very much.

> > > 3. "gitk --all" said "Error reading commits: fatal: write failure on
> > > stdout: Invalid argument"
> >
> > I did not even bother testing gitk...  Any idea what is going wrong?
gitk worked fine for me, as long as I had _any_ refs in the repo.
Show 15 quoted lines
> The fconfigure -blocking command seems to be not supported under
> mingw. This patch makes the error go away. Another issue that is
> probably related to this is that gitk doesn't list all commits. I
> don't know how to solve this properly.
> 
> diff --git a/gitk b/gitk
> index 43d88ca..69e5149 100755
> --- a/gitk
> +++ b/gitk
> @@ -147,7 +147,7 @@ proc getcommitlines {fd view}  {
>         unset commfd($view)
>         notbusy $view
>         # set it blocking so we wait for the process to terminate
> -       fconfigure $fd -blocking 1
> +       #fconfigure $fd -blocking 1

I have to wonder how you called it... From msys.bat, cd'ing into a valid repository, I had no issues whatsoever.

Show 7 quoted lines
> > > 4. Mouse-wheel didn't work to scroll views in gitk
> >
> > Again, no idea why.  Could you please investigate?
> 
> Tough one since I didn't take the tcl tk debugging class. Doesn't work
> for me in cygwin either. I don't know if it's implemented at all. Does
> it work for anyone else?

I just tested via VNC, and indeed, it does not work. My guess is that MinGW's Tk version has a different number assigned to the scroll wheel (the scroll wheel is usually implemented as constant fire on a special mouse button; AFAICT buttons 4 and 5 are assumed to be the scroll buttons in gitk).

Now, I do not know what these are called on Windows, but there should be a thing like "xev" on Windows, too... Anybody?

Ciao, Dscho

Marius Storm-Olsen· Aug 6, 2007, 05:47 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin said the following on 06.08.2007 02:11:
Show 15 quoted lines
> On Mon, 6 Aug 2007, Torgil Svensson wrote:
>>>> 2. rxvt-terminal had some freezes
>>> I did not experience those.  Could you research further?
> 
> Those "freezes" were due to the fact that Rxvt incorrectly updates
> stderr in a blocking way, or not at all (don't know which).  There
> are more things that do not work in Rxvt, and only after trying the
> same in cmd (which I do not like for various reasons) I found out
> that rxvt.exe is at fault.
> 
> I would be glad if somebody managed to compile rxvt herself and fix
> all those bugs (see http://code.google.com/p/msysgit/ for a short
> list of the most pressing issues I found).  As it is, I have enough
> work to do with the rest of msysGit, and for the moment, I can at
> least work in cmd.  Even ssh push works.
Hi guys,

Instead of hacking away on this old terminal, what about simply including another nice Open Source project?

On Windows we have a replacement terminal, which has all the features 
you want, and also supports tabs like Konsole. I've used it for 
several years, and it works great. Have a look and see if you like it, 
then we can add it to the repo:
     http://sourceforge.net/projects/console/
Original name, ey? :-)
-- 
.marius
Johannes Schindelin· Aug 6, 2007, 10:24 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Mon, 6 Aug 2007, Marius Storm-Olsen wrote:
Show 10 quoted lines
> Instead of hacking away on this old terminal, what about simply including
> another nice Open Source project?
> 
> On Windows we have a replacement terminal, which has all the features you
> want, and also supports tabs like Konsole. I've used it for several years, and
> it works great. Have a look and see if you like it, then we can add it to the
> repo:
>     http://sourceforge.net/projects/console/
> 
> Original name, ey? :-)

That sounds awesome. However, from their sourceforge page, it seems they support only 2k and xp? What about 95 and nt?

Ciao, Dscho

Marius Storm-Olsen· Aug 6, 2007, 11:35 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin said the following on 06.08.2007 12:24:
Show 17 quoted lines
> Hi,
> 
> On Mon, 6 Aug 2007, Marius Storm-Olsen wrote:
> 
>> Instead of hacking away on this old terminal, what about simply including
>> another nice Open Source project?
>>
>> On Windows we have a replacement terminal, which has all the features you
>> want, and also supports tabs like Konsole. I've used it for several years, and
>> it works great. Have a look and see if you like it, then we can add it to the
>> repo:
>>     http://sourceforge.net/projects/console/
>>
>> Original name, ey? :-)
> 
> That sounds awesome.  However, from their sourceforge page, it seems they 
> support only 2k and xp?  What about 95 and nt?

Hmm, nope. Just tried it on 98, and that didn't fly. It requires symbols to do top-level transparency, which is only accessible from Win2K and later.

-- 
.marius
Alex Riesen· Aug 9, 2007, 08:47 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/6/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
Show 8 quoted lines
> Johannes Schindelin said the following on 06.08.2007 02:11:
> On Windows we have a replacement terminal, which has all the features
> you want, and also supports tabs like Konsole. I've used it for
> several years, and it works great. Have a look and see if you like it,
> then we can add it to the repo:
>      http://sourceforge.net/projects/console/
>
> Original name, ey? :-)

A fine example of windows hackery (they had to inject some code into the process running a standard windows console to redirect the IO, because windows has no tty of any form). It is wonder it works, but it really does (surprisingly often). Very impressive.

Johannes Schindelin· Aug 9, 2007, 09:14 UTC · re: Alex Riesen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Thu, 9 Aug 2007, Alex Riesen wrote:
Show 15 quoted lines
> On 8/6/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
> > Johannes Schindelin said the following on 06.08.2007 02:11:
> > On Windows we have a replacement terminal, which has all the features
> > you want, and also supports tabs like Konsole. I've used it for
> > several years, and it works great. Have a look and see if you like it,
> > then we can add it to the repo:
> >      http://sourceforge.net/projects/console/
> >
> > Original name, ey? :-)
> 
> A fine example of windows hackery (they had to inject some code into
> the process running a standard windows console to redirect the IO,
> because windows has no tty of any form).
> It is wonder it works, but it really does (surprisingly often).
> Very impressive.
I have some issues with it, though.
- I really hate to leave anything older than W2K behind.  You might not 
  care, but I do.
- I tested it, and it gave a constant flicker, at least in the status bar.  
  Does not seem to be that fleshed out.
So I'd really like to see rxvt.exe fixed.

Ciao, Dscho

Alex Riesen· Aug 9, 2007, 13:55 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/9/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 9 quoted lines
> > Very impressive.
>
> I have some issues with it, though.
>
> - I really hate to leave anything older than W2K behind.  You might not
>   care, but I do.
>
> - I tested it, and it gave a constant flicker, at least in the status bar.
>   Does not seem to be that fleshed out.

That's typical for impressive windows hackery... Switching the transparency completely (frame and background in tabs) off seem to help with the flicker. At least it does not flicker much for w2k here.

Torgil Svensson· Aug 6, 2007, 14:30 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> NOTE: earlier installers included msys-rxvt.bat.  I now _know_ for a fact
> that a lot of things are strangely broken under Rxvt.  For example,
> creating an ssh key, of all things.
> > > > 2. rxvt-terminal had some freezes
Show 12 quoted lines
> Those "freezes" were due to the fact that Rxvt incorrectly updates stderr
> in a blocking way, or not at all (don't know which).  There are more
> things that do not work in Rxvt, and only after trying the same in cmd
> (which I do not like for various reasons) I found out that rxvt.exe is at
> fault.
>
> I would be glad if somebody managed to compile rxvt herself and fix all
> those bugs (see http://code.google.com/p/msysgit/ for a short list of the
> most pressing issues I found).  As it is, I have enough work to do with
> the rest of msysGit, and for the moment, I can at least work in cmd.  Even
> ssh push works.
>

It looks like rxvt is evil. I'll try to get other terminals working like that one Marius suggested. Although msys/bash makes up for most of the annoyances I dislike the cmd-terminal to the point that it's a real issue for me [deep settled in my neuron configuration].

> > > > 3. "gitk --all" said "Error reading commits: fatal: write failure on
> > > > stdout: Invalid argument"
> I have to wonder how you called it... From msys.bat, cd'ing into a valid
> repository, I had no issues whatsoever.

I called it from rxvt. I tried it now under cmd and it's all good. Did you try rxvt in this case?

I notice that with your net installer (great job btw!), I get the msysgit.git reop under /.git and the mingw.git repo under /git/.git but there is no /git in /.gitignore. Is this overlap intended? Isn't this a case for submodules?

//Torgil
Johannes Schindelin· Aug 6, 2007, 14:37 UTC · re: Torgil Svensson · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Mon, 6 Aug 2007, Torgil Svensson wrote:
Show 10 quoted lines
> On 8/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> 
> > > > > 3. "gitk --all" said "Error reading commits: fatal: write 
> > > > > failure on stdout: Invalid argument"
> 
> > I have to wonder how you called it... From msys.bat, cd'ing into a 
> > valid repository, I had no issues whatsoever.
> 
> I called it from rxvt. I tried it now under cmd and it's all good. Did 
> you try rxvt in this case?

I had no issues like that in rxvt. But "git push" via ssh was a no go. even with the "ssh://.." syntax. Since it works in cmd, I'll stay with cmd for now, but I'd like to see a working rxvt.

> I notice that with your net installer (great job btw!), I get the 
> msysgit.git reop under /.git and the mingw.git repo under /git/.git but 
> there is no /git in /.gitignore. Is this overlap intended?  Isn't this a 
> case for submodules?

Exactly. My bad. Dmitry pointed out that I should not have done that, and I'm in the middle of setting it up as a submodule.

Ciao, Dscho

Marius Storm-Olsen· Aug 3, 2007, 07:12 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 15 quoted lines
> I finally broke down, waiting for the sourceforge project to get
> granted. In the meantime, I registered a project at
> 
> http://code.google.com/p/msysgit/
> 
> (WARNING: temporary only!)
> 
> Would you believe that Google code has a restriction to 20MB per
> file, and 100MB in total, and you cannot remove files?  The same
> Google that gives you 1TB mail space and counting?  Yes, it is
> ludicrous.
> 
> Anyway, you can get a complete Development environment in 3 files
> (because one would be too large), and... oh well, just read what is
> written on the website if you're really interested.

Great effort Johannes! The package work perfectly on XP. I'm trying to get it to work under Wine, but it (Wine) is not playing nice with me at the moment. (The whole system barfs of "Access Denied" and other things. Grrr)

-- 
.marius
Marius Storm-Olsen· Aug 3, 2007, 07:25 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 8 quoted lines
>> Anyway, you can get a complete Development environment in 3 files
>>  (because one would be too large), and... oh well, just read what
>> is written on the website if you're really interested.
> 
> Great effort Johannes! The package work perfectly on XP. I'm trying
> to get it to work under Wine, but it (Wine) is not playing nice
> with me at the moment. (The whole system barfs of "Access Denied" 
> and other things. Grrr)

Actually turns out that Wine doesn't like that the sound library is missing. So, installing libjack make it barf less.. Actually compiling in Wine now with your package, though _sooo_ much slower than on XP :-)

Yes, I know cross-compiling is faster. But if using this package would compile successfully on Linux too, then we only need to maintain one MinGW setup for compiling Git on both Windows and Linux. Worth a try at least.

-- 
.marius
Nguyen Thai Ngoc Duy· Aug 3, 2007, 11:17 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
Show 21 quoted lines
> > I finally broke down, waiting for the sourceforge project to get
> > granted. In the meantime, I registered a project at
> >
> > http://code.google.com/p/msysgit/
> >
> > (WARNING: temporary only!)
> >
> > Would you believe that Google code has a restriction to 20MB per
> > file, and 100MB in total, and you cannot remove files?  The same
> > Google that gives you 1TB mail space and counting?  Yes, it is
> > ludicrous.
> >
> > Anyway, you can get a complete Development environment in 3 files
> > (because one would be too large), and... oh well, just read what is
> > written on the website if you're really interested.
>
> Great effort Johannes!
> The package work perfectly on XP.
> I'm trying to get it to work under Wine, but it (Wine) is not playing
> nice with me at the moment. (The whole system barfs of "Access Denied"
> and other things. Grrr)

Even if it installs ok under Wine, git may not work properly because a bug in dup2() not duplicating to 0-2 and some others that I think only affect tests. So get XP if you can or prepare to fix Wine along the way.

-- 
Duy
Marius Storm-Olsen· Aug 3, 2007, 11:29 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 9 quoted lines
>> Great effort Johannes! The package work perfectly on XP. I'm
>> trying to get it to work under Wine, but it (Wine) is not playing
>>  nice with me at the moment. (The whole system barfs of "Access
>> Denied" and other things. Grrr)
> 
> Even if it installs ok under Wine, git may not work properly
> because a bug in dup2() not duplicating to 0-2 and some others that
> I think only affect tests. So get XP if you can or prepare to fix
> Wine along the way.

Yeah, I wasn't going to use it under Wine actually. Just wanted to see if I could get it building there, to ease automated packaging later. However, I've given up on it, due to a perl issue, which might be caused by the issue you describe.

-- 
.marius
Nguyen Thai Ngoc Duy· Aug 3, 2007, 11:36 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
Show 14 quoted lines
> >> Great effort Johannes! The package work perfectly on XP. I'm
> >> trying to get it to work under Wine, but it (Wine) is not playing
> >>  nice with me at the moment. (The whole system barfs of "Access
> >> Denied" and other things. Grrr)
> >
> > Even if it installs ok under Wine, git may not work properly
> > because a bug in dup2() not duplicating to 0-2 and some others that
> > I think only affect tests. So get XP if you can or prepare to fix
> > Wine along the way.
>
> Yeah, I wasn't going to use it under Wine actually. Just wanted to see
> if I could get it building there, to ease automated packaging later.
> However, I've given up on it, due to a perl issue, which might be
> caused by the issue you describe.

You could cross-compile it. You'll need a cross toolchain, zlib stuff and a good config.mak (I can send you one if you have trouble with it).

-- 
Duy
Marius Storm-Olsen· Aug 3, 2007, 11:43 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Show 12 quoted lines
>>> Even if it installs ok under Wine, git may not work properly 
>>> because a bug in dup2() not duplicating to 0-2 and some others
>>> that I think only affect tests. So get XP if you can or prepare
>>> to fix Wine along the way.
>> Yeah, I wasn't going to use it under Wine actually. Just wanted
>> to see if I could get it building there, to ease automated
>> packaging later. However, I've given up on it, due to a perl
>> issue, which might be caused by the issue you describe.
> 
> You could cross-compile it. You'll need a cross toolchain, zlib
> stuff and a good config.mak (I can send you one if you have trouble
> with it).

I would definitely be interested in your config.mak file! Thanks!

-- 
.marius
Nguyen Thai Ngoc Duy· Aug 3, 2007, 12:14 UTC · re: Marius Storm-Olsen · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

[CC'd to git ML so that if anyone needs it again, google might help]
On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
Show 14 quoted lines
> >>> Even if it installs ok under Wine, git may not work properly
> >>> because a bug in dup2() not duplicating to 0-2 and some others
> >>> that I think only affect tests. So get XP if you can or prepare
> >>> to fix Wine along the way.
> >> Yeah, I wasn't going to use it under Wine actually. Just wanted
> >> to see if I could get it building there, to ease automated
> >> packaging later. However, I've given up on it, due to a perl
> >> issue, which might be caused by the issue you describe.
> >
> > You could cross-compile it. You'll need a cross toolchain, zlib
> > stuff and a good config.mak (I can send you one if you have trouble
> > with it).
>
> I would definitely be interested in your config.mak file!

Rename the attached file config.mak and you can "make" right away without running configure. You still need to set CFLAGS and LDFLAGS to specify location of zlib.h and libz.a though.

Show 7 quoted lines
> Thanks!
>
> --
> .marius
>
>
>
-- 
Duy
Marius Storm-Olsen· Aug 3, 2007, 12:32 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Nguyen Thai Ngoc Duy said the following on 03.08.2007 14:14:
Show 5 quoted lines
>> I would definitely be interested in your config.mak file!
> 
> Rename the attached file config.mak and you can "make" right away 
> without running configure. You still need to set CFLAGS and LDFLAGS
> to specify location of zlib.h and libz.a though.

Excellent, I'll give that a try. Thanks!

-- 
.marius
Johannes Schindelin· Aug 3, 2007, 11:37 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Nguyen Thai Ngoc Duy wrote:
Show 27 quoted lines
> On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
> > > I finally broke down, waiting for the sourceforge project to get
> > > granted. In the meantime, I registered a project at
> > >
> > > http://code.google.com/p/msysgit/
> > >
> > > (WARNING: temporary only!)
> > >
> > > Would you believe that Google code has a restriction to 20MB per
> > > file, and 100MB in total, and you cannot remove files?  The same
> > > Google that gives you 1TB mail space and counting?  Yes, it is
> > > ludicrous.
> > >
> > > Anyway, you can get a complete Development environment in 3 files
> > > (because one would be too large), and... oh well, just read what is
> > > written on the website if you're really interested.
> >
> > Great effort Johannes!
> > The package work perfectly on XP.
> > I'm trying to get it to work under Wine, but it (Wine) is not playing
> > nice with me at the moment. (The whole system barfs of "Access Denied"
> > and other things. Grrr)
> 
> Even if it installs ok under Wine, git may not work properly because a
> bug in dup2() not duplicating to 0-2 and some others that I think only
> affect tests. So get XP if you can or prepare to fix Wine along the
> way.
I do not have XP.  So I very much would appreciate any work done on Wine.  

As it happens, I have a hanging rxvt now (still investigating what causes it; ever since wine-0.9.30-466-gb0e9d7e it stopped working for me).

Ciao, Dscho

Nguyen Thai Ngoc Duy· Aug 3, 2007, 11:48 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

On 8/3/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 36 quoted lines
> Hi,
>
> On Fri, 3 Aug 2007, Nguyen Thai Ngoc Duy wrote:
>
> > On 8/3/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
> > > > I finally broke down, waiting for the sourceforge project to get
> > > > granted. In the meantime, I registered a project at
> > > >
> > > > http://code.google.com/p/msysgit/
> > > >
> > > > (WARNING: temporary only!)
> > > >
> > > > Would you believe that Google code has a restriction to 20MB per
> > > > file, and 100MB in total, and you cannot remove files?  The same
> > > > Google that gives you 1TB mail space and counting?  Yes, it is
> > > > ludicrous.
> > > >
> > > > Anyway, you can get a complete Development environment in 3 files
> > > > (because one would be too large), and... oh well, just read what is
> > > > written on the website if you're really interested.
> > >
> > > Great effort Johannes!
> > > The package work perfectly on XP.
> > > I'm trying to get it to work under Wine, but it (Wine) is not playing
> > > nice with me at the moment. (The whole system barfs of "Access Denied"
> > > and other things. Grrr)
> >
> > Even if it installs ok under Wine, git may not work properly because a
> > bug in dup2() not duplicating to 0-2 and some others that I think only
> > affect tests. So get XP if you can or prepare to fix Wine along the
> > way.
>
> I do not have XP.  So I very much would appreciate any work done on Wine.
>
> As it happens, I have a hanging rxvt now (still investigating what causes
> it; ever since wine-0.9.30-466-gb0e9d7e it stopped working for me).

I attached what I did with Wine until now. You probably only need patch 2 but if you are going to test gitbox, you'll need patch 1 as well. It is based on wine-0.9.41-313-gd0b21ab. With these patches, I can run git tests under Wine. Ah, and if you want to run tests under Wine, beware that setting TZ in scripts has no effect. You have to set TZ before running wine.

Show 5 quoted lines
>
> Ciao,
> Dscho
>
>
-- 
Duy
Johannes Schindelin· Aug 3, 2007, 11:59 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Hi,
On Fri, 3 Aug 2007, Nguyen Thai Ngoc Duy wrote:
> I attached what I did with Wine until now. You probably only need patch 
> 2 but if you are going to test gitbox, you'll need patch 1 as well. It 
> is based on wine-0.9.41-313-gd0b21ab. With these patches, I can run git 
> tests under Wine.
Thank you very much!

Once the compile finished (my machine is exquisitely slow today), I'll test if it Works For Me.

Ciao, Dscho

Matthieu Moy· Aug 3, 2007, 08:59 UTC · re: Johannes Schindelin · lore

Re: Git on MSys (or how to make it easy for Windows users to compile git)

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> The plan is to move to Source forget ;-) when they finally approve the 
> project, or stay with Google, should they decide to lift the quota a bit.

You can also have a look at https://gna.org/ (a Savannah-like non-commercial project hosting).

-- 
Matthieu

← back to recent threads