git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Aug 6, 2007, 00:11 UTC
Message-ID
<Pine.LNX.4.64.0708060054020.14781@racer.site>
In-Reply-To
<e7bda7770708051641h15bd38abo659e74322e6232c0@mail.gmail.com>
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

Previous: Torgil SvenssonNext: Marius Storm-Olsen
Message 33 of 53 in “Git on MSys (or how to make it easy for Windows users to compile git)”
  1. Johannes SchindelinAug 2, 2007
  2. Dmitry KakurinAug 3, 2007
  3. Marius Storm-OlsenAug 3, 2007
  4. Dmitry KakurinAug 3, 2007
  5. Johannes SchindelinAug 3, 2007
  6. Dmitry KakurinAug 3, 2007
  7. Johannes SchindelinAug 3, 2007
  8. Johannes SchindelinAug 3, 2007
  9. Marius Storm-OlsenAug 3, 2007
  10. Johannes SchindelinAug 3, 2007
  11. Johannes SchindelinAug 3, 2007
  12. Marius Storm-OlsenAug 3, 2007
  13. Johannes SchindelinAug 3, 2007
  14. Marius Storm-OlsenAug 3, 2007
  15. Johannes SchindelinAug 3, 2007
  16. Marius Storm-OlsenAug 3, 2007
  17. Johannes SchindelinAug 3, 2007
  18. Marius Storm-OlsenAug 3, 2007
  19. Mike PapeAug 3, 2007
  20. Marius Storm-OlsenAug 3, 2007
  21. Johannes SchindelinAug 3, 2007
  22. Marius Storm-OlsenAug 3, 2007
  23. Mike PapeAug 3, 2007
  24. Marius Storm-OlsenAug 3, 2007
  25. Johannes SchindelinAug 3, 2007
  26. Johannes SchindelinAug 3, 2007
  27. Johannes SchindelinAug 3, 2007
  28. Dmitry KakurinAug 3, 2007
  29. Johannes SchindelinAug 3, 2007
  30. Torgil SvenssonAug 4, 2007
  31. Johannes SchindelinAug 4, 2007
  32. Torgil SvenssonAug 5, 2007
  33. Johannes SchindelinAug 6, 2007
  34. Marius Storm-OlsenAug 6, 2007
  35. Johannes SchindelinAug 6, 2007
  36. Marius Storm-OlsenAug 6, 2007
  37. Alex RiesenAug 9, 2007
  38. Johannes SchindelinAug 9, 2007
  39. Alex RiesenAug 9, 2007
  40. Torgil SvenssonAug 6, 2007
  41. Johannes SchindelinAug 6, 2007
  42. Marius Storm-OlsenAug 3, 2007
  43. Marius Storm-OlsenAug 3, 2007
  44. Nguyen Thai Ngoc DuyAug 3, 2007
  45. Marius Storm-OlsenAug 3, 2007
  46. Nguyen Thai Ngoc DuyAug 3, 2007
  47. Marius Storm-OlsenAug 3, 2007
  48. Nguyen Thai Ngoc DuyAug 3, 2007
  49. Marius Storm-OlsenAug 3, 2007
  50. Johannes SchindelinAug 3, 2007
  51. Nguyen Thai Ngoc DuyAug 3, 2007
  52. Johannes SchindelinAug 3, 2007
  53. Matthieu MoyAug 3, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.