{"thread":{"id":"36444","subject":"Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","startedAt":"2014-04-19T13:35:07Z","lastAt":"2014-04-22T16:14:44Z","messageCount":21,"participants":["Marat Radchenko","Thomas Braun","Johannes Schindelin","Heiko Voigt","Sebastian Schuberth","Felipe Contreras","David Kastrup"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"239111","messageId":"rfujmbew27f1gaa6dbk706li.1397911737867@email.android.com","threadId":"36444","inReplyTo":null,"subject":"Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Marat Radchenko","fromEmail":"marat@slonopotamus.org","sentAt":"2014-04-19T13:35:07Z","receivedAt":"2014-04-19T13:35:07Z","isPatch":false,"sender":{"key":"marat@slonopotamus.org","avatar":"https://avatars.githubusercontent.com/u/92637?v=4"},"body":"> So the reason for this new package is that you need 64bit binaries?\n\nThat's the most important bit. Plus, weird ssh transfer speeds [1] caused by ansient openssh bundled in msysgit.\n\n> I can see the need for a pure Windows solution (no msys tools at least for runtime).\n\nSeveral Git scripts are written in perl, many in shell and a couple even in tcl/tk (oh, my). Until this is true, Git requires unix-like userland environment: all those sh, awk, coreutils, findutils and others.\n\n> But this sounds to me that the only thing you changed is the compiler and 64bit?\nThat would be true *if* msysgit was really msys + mingw-built-git. \n\nBut in practice, msysgit is:\n 1) outdated msys that was patched in multiple ways without\n  sending patches upstream\n 2) heavily patched git, again not upstreamed\n\nTo be honest, msys isn't a great tool. After all, it's just outdated\nand heavily patched cygwin. There exists msys2 project (much less outdated and much less patched cygwin).\n\nSo, msysgit is an (outdated patched)*2 cygwin + patched git.\n\n> What is the reason of using a closed source compiler?\n\nIt happened to be already installed on my box. Switching to another one will require just minor tweaks to my build script. I don't have any strong reasons for using MSVC.\n\n> Sorry if I am a little bit skeptic, but I am wondering whether it does make sense for you to join forces with msysgit instead of creating a fork?\n\n1) It makes sense to purge msysgit and start over. See mingwGitDevEnv [2] (by msysgit developer).\n2)  I only used msys due to my unawareness of msys2 at the time of  initial WinGit hacking. Due to massive Unicode-related msys troubles, ansient perl and svn, I plan to switch to msys2 soon.\n\n> there are no 64 bit binaries shipped with msysgit is that nobody needed them\n\nThat's wrong. Google for 'windows x64 git' or 'msysgit x64'. People need it. There's even an issue [3] (stalled several years ago) in msysgit tracker.\nAfter all, I needed it.\n\n[1] https://github.com/msysgit/msysgit/issues/31\n[2]: https://github.com/sschuberth/mingwGitDevEnv\n[3]: http://code.google.com/p/msysgit/issues/detail?id=396\n"},{"id":"239116","messageId":"5352ABF9.8080603@virtuell-zuhause.de","threadId":"36444","inReplyTo":"rfujmbew27f1gaa6dbk706li.1397911737867@email.android.com","subject":"Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Thomas Braun","fromEmail":"thomas.braun@virtuell-zuhause.de","sentAt":"2014-04-19T17:01:45Z","receivedAt":"2014-04-19T17:01:45Z","isPatch":false,"sender":{"key":"thomas.braun@virtuell-zuhause.de","avatar":"https://avatars.githubusercontent.com/u/1185677?v=4"},"body":"Am 19.04.2014 15:35, schrieb Marat Radchenko:\n\n>> So the reason for this new package is that you need 64bit\n>> binaries?\n> \n> That's the most important bit. Plus, weird ssh transfer speeds [1]\n> caused by ansient openssh bundled in msysgit.\n\nYes the msysgit openssh is ancient and slow. Openssh in mingGitDevEnv\nhas proper speeds, see [1].\n\n> 1) outdated msys that was patched in multiple ways without sending patches upstream\n> 2) heavily patched git, again not upstreamed\n\nYou do realize how much work it is to send something upstream?\nAnd in the case of mingw patches have been sent upstream which are still\neither being reviewed or are just in a (presumably *very* long) queue.\n\n>> Sorry if I am a little bit skeptic, but I am wondering whether it\n>> does make sense for you to join forces with msysgit instead of\n>> creating a fork?\n> \n> 1) It makes sense to purge msysgit and start over. See mingwGitDevEnv\n> [2] (by msysgit developer).\n\nI would be happy to see you contributing to the mingGitDevEnv project.\n\n> 2)  I only used msys due to my\n> unawareness of msys2 at the time of  initial WinGit hacking. Due to\n> massive Unicode-related msys troubles, ansient perl and svn, I plan\n> to switch to msys2 soon.\n> \n>> there are no 64 bit binaries shipped with msysgit is that nobody\n>> needed them\n> \n> That's wrong. Google for 'windows x64 git' or 'msysgit x64'. People\n> need it. There's even an issue [3] (stalled several years ago) in\n> msysgit tracker. After all, I needed it.\n> \n> [1] https://github.com/msysgit/msysgit/issues/31 [2]:\n> https://github.com/sschuberth/mingwGitDevEnv [3]:\n> http://code.google.com/p/msysgit/issues/detail?id=396\n\nActually I would need a 64bit git for windows too. The problem here is\nthat of course everyone likes to have it, but nobody so desperatley what\nhe/she will start to make the test suite pass.\nAnd before the test suite passes I don't think it is a good idea to use\nit in production.\nSo for my part I decided to first get mingwGitDevEnv going and then\nstart thinking about a 64bit version.\n\n[1]:\nhttps://github.com/sschuberth/mingwGitDevEnv/pull/5#issuecomment-15128748\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239117","messageId":"alpine.DEB.1.00.1404191935140.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"rfujmbew27f1gaa6dbk706li.1397911737867@email.android.com","subject":"Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-19T17:37:08Z","receivedAt":"2014-04-19T17:37:08Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Marat,\n\nOn Sat, 19 Apr 2014, Marat Radchenko wrote:\n\n> But in practice, msysgit is:\n>  1) outdated msys that was patched in multiple ways without\n>   sending patches upstream\n>  2) heavily patched git, again not upstreamed\n\nAgain, this time explicitly: I wish you had done a little more research on\nthe matter, and I wish you had participated in the msysGit community\nbefore going on to reinvent the wheel.\n\nI have nothing per se against your effort, of course, you can spend your\ntime as you want, but please refrain from claiming things that are\nprovably incorrect.\n\nCiao,\nJohannes\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239120","messageId":"20140419184210.GB3617@book-mint","threadId":"36444","inReplyTo":"rfujmbew27f1gaa6dbk706li.1397911737867@email.android.com","subject":"Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Heiko Voigt","fromEmail":"hvoigt@hvoigt.net","sentAt":"2014-04-19T18:42:10Z","receivedAt":"2014-04-19T18:42:10Z","isPatch":false,"sender":{"key":"hvoigt@hvoigt.net","avatar":"https://avatars.githubusercontent.com/u/184958?v=4"},"body":"On Sat, Apr 19, 2014 at 05:35:07PM +0400, Marat Radchenko wrote:\n> > there are no 64 bit binaries shipped with msysgit is that nobody\n> > needed them\n> \n> That's wrong. Google for 'windows x64 git' or 'msysgit x64'. People\n> need it. There's even an issue [3] (stalled several years ago) in\n> msysgit tracker.  After all, I needed it.\n\nDo not get me wrong. I was saying until now nobody \"needed\" it in a way\nthat he/she would do something about it. Of course there are many people\nrequesting it, but I just do not count those people anymore. You are\nclearly doing something about it and thats great, I like it.\n\nWhat I am trying to achieve here is that you join the msysgit community.\nThere already is just a very small amount of developers on the windows\nside (compared to upstream). We should try to all work together. I think\nit will greatly add to confusion if we have another installer of Git for\nWindows. I think the msysgit community is quite open for changes like\nthe ones you are trying to achieve.\n\nRegarding mingwGitDevEnv[2]: That is a project started by Sebastian who\nalso contributes to msysgit (and Git for Windows). It eventually can\n(and probably should) be a successor of the current situation where we\nalways manually patch, build and commit our binaries into a git\nrepository. A proper package management system would greatly help here.\nBut AFAIK its not ready for production use yet. I guess Sebastian would\nnot mind contributions.\n\nCheers Heiko\n\n> [1] https://github.com/msysgit/msysgit/issues/31\n> [2]: https://github.com/sschuberth/mingwGitDevEnv\n> [3]: http://code.google.com/p/msysgit/issues/detail?id=396\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239137","messageId":"5352E319.2010808@gmail.com","threadId":"36444","inReplyTo":"rfujmbew27f1gaa6dbk706li.1397911737867@email.android.com","subject":"Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2014-04-19T20:56:57Z","receivedAt":"2014-04-19T20:56:57Z","isPatch":false,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"On 19.04.2014 15:35, Marat Radchenko wrote:\n\n> But in practice, msysgit is:\n>   1) outdated msys that was patched in multiple ways without\n>    sending patches upstream\n\nIt's not true that we are not sending patches upstream to MSYS, see [1]. \nIt's just that most of them don't get included due to a lack of time \nfrom the MSYS maintainers, see e.g. [2].\n\n>   2) heavily patched git, again not upstreamed\n\n\"Heavily\" is relative, in fact it's not that much that I would give up \nhope on getting everything upstream. We once had put large efforts in \nbringing our stuff to upstream Git, just to over and over again being \npulled into fussy discussions, costing way more time than developing the \npatches themselves. So at some time most of us just decided to spend \ntheir time more efficiently by bringing Git for Windows forward.\n\n> To be honest, msys isn't a great tool. After all, it's just outdated\n> and heavily patched cygwin. There exists msys2 project (much less outdated and much less patched cygwin).\n\nI agree that MSYS is not at all that great (anymore). It simply does not \nseem to be well maintained. But neither do I trust MSYS2 (yet), which \nlooks to me like a spare time project by one or two guys, both newcomers \nnot part of the original MSYS team. However, if MSYS2 turns out to be \nmaintained better than MSYS in the future, I'm open to base \nmingwGitDevEnv on MSYS2.\n\n> 1) It makes sense to purge msysgit and start over. See mingwGitDevEnv [2] (by msysgit developer).\n\nYou would have been very welcomed to contribute 64-bit support to \nmingwGitDevEnv (which I'm the maintainer of). I saddens me that we blow \nout our energy on forks (without even getting in touch first) instead of \npulling together.\n\n[1] http://sourceforge.net/p/mingw/bugs/search/?q=msysgit\n[2] http://sourceforge.net/p/mingw/bugs/1823/\n\n-- \nSebastian Schuberth\n"},{"id":"239138","messageId":"CAHGBnuMdTYEPnYLM0ozqLLCxRJJOx4EL61kL=pbAfW47zK+_Jg@mail.gmail.com","threadId":"36444","inReplyTo":"20140419184210.GB3617@book-mint","subject":"Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2014-04-19T21:12:21Z","receivedAt":"2014-04-19T21:12:21Z","isPatch":false,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"On Sat, Apr 19, 2014 at 8:42 PM, Heiko Voigt <hvoigt@hvoigt.net> wrote:\n\n> But AFAIK its not ready for production use yet. I guess Sebastian would\n> not mind contributions.\n\nNot at all!\n\n-- \nSebastian Schuberth\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239191","messageId":"alpine.DEB.1.00.1404210003540.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"20140419184210.GB3617@book-mint","subject":"Re: [msysGit] Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-20T22:10:39Z","receivedAt":"2014-04-20T22:10:39Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Heiko,\n\nOn Sat, 19 Apr 2014, Heiko Voigt wrote:\n\n> Regarding mingwGitDevEnv[2]: That is a project started by Sebastian who\n> also contributes to msysgit (and Git for Windows).\n\nIn fact, Sebastian is not only a contributor. He is co-maintainer of Git\nfor Windows.\n\n> It eventually can (and probably should) be a successor of the current\n> situation [...]\n\nSebastian hinted at it in many a discussion on the msysgit mailing list\n(where those people who are serious about Git for Windows development hang\nout, hint, hint, hint) that mingwGitDevEnv was born out of the needs\nidentified while maintaining Git for Windows.\n\nOur tentative plan is to switch with Git 2.0 (unless the timing turns out\nto be unfortunate). We have to put some more effort into mingwGitDevEnv\nfirst, though: due to the differences between the old MSys committed into\nmsysgit.git repository on the one hand, and the MSys environment\ninitialized and updated by mingwGitDevEnv on the other hand, some of the\ntests do not pass yet. (I also would like to look into getting the\nperformance improvement Hannes Sixt achieved by his patch [*1*] into\nmingwGitDevEnv's Git installation, too.)\n\nDespite the common lack of time and of developers willing to spend time to\ncontribute to the Git for Windows effort, I think we are well on track,\nand it will be pretty exciting when we switch to mingwGitDevEnv-based\ndevelopment of Git for Windows!\n\nCiao,\nDscho\n"},{"id":"239192","messageId":"alpine.DEB.1.00.1404210011290.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"alpine.DEB.1.00.1404210003540.14982@s15462909.onlinehome-server.info","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-20T22:12:06Z","receivedAt":"2014-04-20T22:12:06Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"On Mon, 21 Apr 2014, Johannes Schindelin wrote:\n\n> (I also would like to look into getting the performance improvement\n> Hannes Sixt achieved by his patch [*1*] into mingwGitDevEnv's Git\n> installation, too.)\n\nWhoops. Footnote *1*: https://github.com/msysgit/msysgit/commit/a0f5d4f\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239214","messageId":"53556579.3050709@gmail.com","threadId":"36444","inReplyTo":"alpine.DEB.1.00.1404210003540.14982@s15462909.onlinehome-server.info","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2014-04-21T18:37:45Z","receivedAt":"2014-04-21T18:37:45Z","isPatch":false,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"On 21.04.2014 00:10, Johannes Schindelin wrote:\n\n> tests do not pass yet. (I also would like to look into getting the\n> performance improvement Hannes Sixt achieved by his patch [*1*] into\n> mingwGitDevEnv's Git installation, too.)\n>\n> Whoops. Footnote *1*: https://github.com/msysgit/msysgit/commit/a0f5d4f\n\nDscho, this patch of Hannes is already in, see [1]. Also see the other \nfiles in that directory for the other MSYS patches being applied. In \nfact, mingwGitDevEnv has all MSYS patches that msysgit has except [2], \n[3] and [4] (because they mess up Bash for me and break many tests).\n\n[1] \nhttps://github.com/sschuberth/mingwGitDevEnv-packages/blob/master/msys-core/0008-Do-not-start-the-fstab-observer-thread.patch\n[2] \nhttps://github.com/msysgit/msysgit/blob/msys/src/rt/patches/0014-msys.dll-support-Unicode-console-input.patch\n[3] \nhttps://github.com/msysgit/msysgit/blob/msys/src/rt/patches/0015-msys.dll-support-ALT-NUMPAD-console-input.patch\n[4] \nhttps://github.com/msysgit/msysgit/blob/msys/src/rt/patches/0016-msys.dll-backport-multibyte-support-functions-from-n.patch\n\n-- \nSebastian Schuberth\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239216","messageId":"alpine.DEB.1.00.1404212053420.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"53556579.3050709@gmail.com","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-21T18:56:10Z","receivedAt":"2014-04-21T18:56:10Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Sebastian,\n\nOn Mon, 21 Apr 2014, Sebastian Schuberth wrote:\n\n> On 21.04.2014 00:10, Johannes Schindelin wrote:\n> \n> > tests do not pass yet. (I also would like to look into getting the\n> > performance improvement Hannes Sixt achieved by his patch [*1*] into\n> > mingwGitDevEnv's Git installation, too.)\n> >\n> > Whoops. Footnote *1*: https://github.com/msysgit/msysgit/commit/a0f5d4f\n> \n> Dscho, this patch of Hannes is already in, see [1].\n\nAh, I missed that. That's very good news!\n\nMarat, you see that the patches *are* sent upstream.\n\nNow, clearly you have all the motivation that is needed to get 64-bit\nbuilds of Git for Windows going, and all the motivation required to make\nsure that the MSVC support of the msysGit project works.\n\nHow about joining forces?\n\nCiao,\nJohannes\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239218","messageId":"535569e92cbcc_32c48493101f@nysa.notmuch","threadId":"36444","inReplyTo":"alpine.DEB.1.00.1404212053420.14982@s15462909.onlinehome-server.info","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2014-04-21T18:56:41Z","receivedAt":"2014-04-21T18:56:41Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Johannes Schindelin wrote:\n> Now, clearly you have all the motivation that is needed to get 64-bit\n> builds of Git for Windows going, and all the motivation required to make\n> sure that the MSVC support of the msysGit project works.\n\ns/msysGit/Git/\n\nPersonally I don't see why ideally I shouldn't be able to build upstream Git\nfor Windows with mingw without leaving my Linux system.\n\n-- \nFelipe Contreras\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239253","messageId":"1398118479-7731-1-git-send-email-marat@slonopotamus.org","threadId":"36444","inReplyTo":"535569e92cbcc_32c48493101f@nysa.notmuch","subject":"[NOT_A_PATCH] A naive attempt to cross-build Linux->mingw64 Git","fromName":"Marat Radchenko","fromEmail":"marat@slonopotamus.org","sentAt":"2014-04-21T22:14:39Z","receivedAt":"2014-04-21T22:14:39Z","isPatch":false,"sender":{"key":"marat@slonopotamus.org","avatar":"https://avatars.githubusercontent.com/u/92637?v=4"},"body":"config.mak.uname: provide a way to explicitely request MinGW build.\nThis is required to perform Linux->MinGW crosscompilation.\n---\n\n> Personally I don't see why ideally I shouldn't be able to build upstream Git\n> for Windows with mingw without leaving my Linux system.\n\nOne day you might be able, but as of today...\n\n1. Obtain x86_64-w64-mingw32 compiler for your *nix distro\n * [Gentoo] emerge crossdev && crossdev -t x86_64-w64-mingw32\n * [Debian/Ubuntu] apt-get install mingw-w64\n2. Apply patch from this email to Git sources (git/git or msysgit/git - doesn't matter)\n3. `make CC=x86_64-w64-mingw32-gcc MINGW=1`\n4. Observe errors [1]\n\nI would be happy to find out I'm doing something wrong -- Johannes says building\nmingw64 Git is dirt-easy.\n\n[1]:\nIn file included from /usr/x86_64-w64-mingw32/usr/include/windows.h:9:0,\n                 from /usr/x86_64-w64-mingw32/usr/include/winsock2.h:23,\n                 from git-compat-util.h:93,\n                 from cache.h:4,\n                 from credential-store.c:1:\n/usr/x86_64-w64-mingw32/usr/include/_mingw.h:456:2: error: #error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64\n #error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64\n  ^\nIn file included from git-compat-util.h:134:0,\n                 from cache.h:4,\n                 from credential-store.c:1:\ncompat/mingw.h:8:13: error: conflicting types for 'pid_t'\n typedef int pid_t;\n             ^\nIn file included from /usr/x86_64-w64-mingw32/usr/include/process.h:12:0,\n                 from /usr/x86_64-w64-mingw32/usr/include/unistd.h:11,\n                 from git-compat-util.h:98,\n                 from cache.h:4,\n                 from credential-store.c:1:\n/usr/x86_64-w64-mingw32/usr/include/sys/types.h:68:16: note: previous declaration of 'pid_t' was here\n typedef _pid_t pid_t;\n                ^\n\n config.mak.uname | 5 +++++\n 1 file changed, 5 insertions(+)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 82b8dff..4f4d84f 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -13,6 +13,11 @@ ifdef MSVC\n \tuname_O := Windows\n endif\n \n+ifdef MINGW\n+\tuname_S := MINGW\n+\tuname_O := MINGW\n+endif\n+\n # We choose to avoid \"if .. else if .. else .. endif endif\"\n # because maintaining the nesting to match is a pain.  If\n # we had \"elif\" things would have been much nicer...\n-- \n1.8.3.2\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239276","messageId":"5355b0ce562b8_6c39e772f0cb@nysa.notmuch","threadId":"36444","inReplyTo":"1398118479-7731-1-git-send-email-marat@slonopotamus.org","subject":"RE: [NOT_A_PATCH] A naive attempt to cross-build Linux->mingw64 Git","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2014-04-21T23:59:10Z","receivedAt":"2014-04-21T23:59:10Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Marat Radchenko wrote:\n> config.mak.uname: provide a way to explicitely request MinGW build.\n> This is required to perform Linux->MinGW crosscompilation.\n> ---\n> \n> > Personally I don't see why ideally I shouldn't be able to build upstream Git\n> > for Windows with mingw without leaving my Linux system.\n> \n> One day you might be able, but as of today...\n> \n> 1. Obtain x86_64-w64-mingw32 compiler for your *nix distro\n>  * [Gentoo] emerge crossdev && crossdev -t x86_64-w64-mingw32\n>  * [Debian/Ubuntu] apt-get install mingw-w64\n\nNote that I didn't say 64-bit. Baby steps, first the tried-and-true 32-bit compiler.\n\n> 2. Apply patch from this email to Git sources (git/git or msysgit/git - doesn't matter)\n\nFunny I came with almost exactly the same patch.\n\n> 3. `make CC=x86_64-w64-mingw32-gcc MINGW=1`\n\nI did:\n\n% make CC=i486-mingw32-gcc NO_OPENSSL=1 NO_GETTEXT=1\n\nBut ideally it should be:\n\n% make CROSS_COMPILE=i486-mingw32-\n\n(or whatever the name of the suite)\n\n> 4. Observe errors [1]\n\nI see those errors with a 64-bit compiler, but not with the old 32-bit one.\n\n> I would be happy to find out I'm doing something wrong -- Johannes says building\n> mingw64 Git is dirt-easy.\n\nI get the same error. I've been cross-compiling since basically all my\nprofessional life, so I don't think you are doing something wrong, it just\ndoesn't work.\n\n-- \nFelipe Contreras\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239277","messageId":"5355b2807a10c_1d5ab792ecfd@nysa.notmuch","threadId":"36444","inReplyTo":"5355b0ce562b8_6c39e772f0cb@nysa.notmuch","subject":"RE: [NOT_A_PATCH] A naive attempt to cross-build Linux->mingw64 Git","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2014-04-22T00:06:24Z","receivedAt":"2014-04-22T00:06:24Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Felipe Contreras wrote:\n> Marat Radchenko wrote:\n> > 4. Observe errors [1]\n> \n> I see those errors with a 64-bit compiler, but not with the old 32-bit one.\n> \n> > I would be happy to find out I'm doing something wrong -- Johannes says building\n> > mingw64 Git is dirt-easy.\n> \n> I get the same error. I've been cross-compiling since basically all my\n> professional life, so I don't think you are doing something wrong, it just\n> doesn't work.\n\nI managed to fix all the errors, some apply to newer mingw, regardless of 32 or\n64, others are specific to 64-bit. It's all hacky and I haven't checked if it\nruns, but at least it compiles (mostly).\n\ndiff --git a/compat/bswap.h b/compat/bswap.h\nindex 5061214..285d89c 100644\n--- a/compat/bswap.h\n+++ b/compat/bswap.h\n@@ -5,6 +5,8 @@\n  * operation.\n  */\n \n+#include <stdint.h>\n+\n /*\n  * Default version that the compiler ought to optimize properly with\n  * constant values.\ndiff --git a/compat/mingw.h b/compat/mingw.h\nindex e033e72..9274b64 100644\n--- a/compat/mingw.h\n+++ b/compat/mingw.h\n@@ -5,7 +5,6 @@\n  * things that are not available in header files\n  */\n \n-typedef int pid_t;\n typedef int uid_t;\n typedef int socklen_t;\n #define hstrerror strerror\n@@ -90,8 +89,6 @@ static inline int symlink(const char *oldpath, const char *newpath)\n { errno = ENOSYS; return -1; }\n static inline int fchmod(int fildes, mode_t mode)\n { errno = ENOSYS; return -1; }\n-static inline pid_t fork(void)\n-{ errno = ENOSYS; return -1; }\n static inline unsigned int alarm(unsigned int seconds)\n { return 0; }\n static inline int fsync(int fd)\n@@ -261,12 +258,6 @@ static inline int getrlimit(int resource, struct rlimit *rlp)\n \treturn 0;\n }\n \n-/*\n- * Use mingw specific stat()/lstat()/fstat() implementations on Windows.\n- */\n-#define off_t off64_t\n-#define lseek _lseeki64\n-\n /* use struct stat with 64 bit st_size */\n #ifdef stat\n #undef stat\ndiff --git a/compat/nedmalloc/malloc.c.h b/compat/nedmalloc/malloc.c.h\nindex f216a2a..3e4affd 100644\n--- a/compat/nedmalloc/malloc.c.h\n+++ b/compat/nedmalloc/malloc.c.h\n@@ -720,6 +720,7 @@ struct mallinfo {\n   inlining are defined as macros, so these aren't used for them.\n */\n \n+#undef FORCEINLINE\n #ifndef FORCEINLINE\n   #if defined(__GNUC__)\n #define FORCEINLINE __inline __attribute__ ((always_inline))\n@@ -1352,58 +1353,6 @@ LONG __cdecl _InterlockedExchange(LONG volatile *Target, LONG Value);\n #ifndef __MINGW32__\n #pragma intrinsic (_InterlockedCompareExchange)\n #pragma intrinsic (_InterlockedExchange)\n-#else\n-  /* --[ start GCC compatibility ]----------------------------------------------\n-   * Compatibility <intrin_x86.h> header for GCC -- GCC equivalents of intrinsic\n-   * Microsoft Visual C++ functions. Originally developed for the ReactOS\n-   * (<http://www.reactos.org/>) and TinyKrnl (<http://www.tinykrnl.org/>)\n-   * projects.\n-   *\n-   * Copyright (c) 2006 KJK::Hyperion <hackbunny@reactos.com>\n-   *\n-   * Permission is hereby granted, free of charge, to any person obtaining a\n-   * copy of this software and associated documentation files (the \"Software\"),\n-   * to deal in the Software without restriction, including without limitation\n-   * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n-   * and/or sell copies of the Software, and to permit persons to whom the\n-   * Software is furnished to do so, subject to the following conditions:\n-   *\n-   * The above copyright notice and this permission notice shall be included in\n-   * all copies or substantial portions of the Software.\n-   *\n-   * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n-   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n-   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n-   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n-   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n-   * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n-   * DEALINGS IN THE SOFTWARE.\n-   */\n-\n-  /*** Atomic operations ***/\n-  #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40100\n-    #define _ReadWriteBarrier() __sync_synchronize()\n-  #else\n-    static __inline__ __attribute__((always_inline)) long __sync_lock_test_and_set(volatile long * const Target, const long Value)\n-    {\n-      long res;\n-      __asm__ __volatile__(\"xchg%z0 %2, %0\" : \"=g\" (*(Target)), \"=r\" (res) : \"1\" (Value));\n-      return res;\n-    }\n-    static void __inline__ __attribute__((always_inline)) _MemoryBarrier(void)\n-    {\n-      __asm__ __volatile__(\"\" : : : \"memory\");\n-    }\n-    #define _ReadWriteBarrier() _MemoryBarrier()\n-  #endif\n-  /* BUGBUG: GCC only supports full barriers */\n-  static __inline__ __attribute__((always_inline)) long _InterlockedExchange(volatile long * const Target, const long Value)\n-  {\n-    /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */\n-    _ReadWriteBarrier();\n-    return __sync_lock_test_and_set(Target, Value);\n-  }\n-  /* --[ end GCC compatibility ]---------------------------------------------- */\n #endif\n #define interlockedcompareexchange _InterlockedCompareExchange\n #define interlockedexchange _InterlockedExchange\ndiff --git a/config.mak.uname b/config.mak.uname\nindex efaed94..01acd54 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -13,6 +13,11 @@ ifdef MSVC\n \tuname_O := Windows\n endif\n \n+ifdef MINGW\n+\tuname_S := MINGW\n+\tuname_O := MINGW\n+endif\n+\n # We choose to avoid \"if .. else if .. else .. endif endif\"\n # because maintaining the nesting to match is a pain.  If\n # we had \"elif\" things would have been much nicer...\n@@ -508,7 +513,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))\n \tNO_INET_NTOP = YesPlease\n \tNO_POSIX_GOODIES = UnfortunatelyYes\n \tDEFAULT_HELP_FORMAT = html\n-\tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS -D_USE_32BIT_TIME_T -DNOGDI -Icompat -Icompat/win32\n+\tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS -Icompat -Icompat/win32\n \tCOMPAT_CFLAGS += -DSTRIP_EXTENSION=\\\".exe\\\"\n \tCOMPAT_OBJS += compat/mingw.o compat/winansi.o \\\n \t\tcompat/win32/pthread.o compat/win32/syslog.o \\\n\n-- \nFelipe Contreras\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239332","messageId":"alpine.DEB.1.00.1404221512130.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"535569e92cbcc_32c48493101f@nysa.notmuch","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-22T13:14:23Z","receivedAt":"2014-04-22T13:14:23Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 21 Apr 2014, Felipe Contreras wrote:\n\n> Johannes Schindelin wrote:\n> > Now, clearly you have all the motivation that is needed to get 64-bit\n> > builds of Git for Windows going, and all the motivation required to make\n> > sure that the MSVC support of the msysGit project works.\n> \n> s/msysGit/Git/\n\nNo. I meant the msysGit project; the project that maintains the current\ndevelopment environment for Git for Windows. Please do not try to\nreinterpret what I am saying.\n\n> Personally I don't see why ideally I shouldn't be able to build upstream\n> Git for Windows with mingw without leaving my Linux system.\n\nMaybe because you could not even test it properly, let alone run the test\nsuite? And maybe because according to the famous \"scratch your own itch\"\ncredo, it is actually the duty of Windows users -- i.e. users who do not\neven have your Linux system -- to fix the bugs that would never be\nencountered anywhere but Windows?\n\nHth,\nJohannes\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239333","messageId":"alpine.DEB.1.00.1404221530020.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"1398118479-7731-1-git-send-email-marat@slonopotamus.org","subject":"Re: [NOT_A_PATCH] A naive attempt to cross-build Linux->mingw64 Git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-22T13:36:05Z","receivedAt":"2014-04-22T13:36:05Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Marat,\n\nOn Tue, 22 Apr 2014, Marat Radchenko wrote:\n\n> Johannes says building mingw64 Git is dirt-easy.\n\nMarat, please let's stop misquoting me, okay?\n\nWhat I said was more along the lines that there had been some start of a\nwork on getting things to compile for 64-bit Windows, but that the test\nsuite did not pass.\n\nEven cutting out the part about the test suite from quoting me leaves out\nthe main point of what I said.\n\nAnd for the record: I just had a look; the beginnings of W64 support are\nin https://github.com/msysgit/git/compare/7f37564...work/w64.\n\nAnd again for the record: at least from my side, there is more than just\nwillingness to cooperate. We'd just need to start a conversation in the\nsecond person (as opposed to the third person).\n\nCiao,\nJohannes\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239334","messageId":"20140422133616.GA5079@seldon","threadId":"36444","inReplyTo":"5355b2807a10c_1d5ab792ecfd@nysa.notmuch","subject":"Re: [NOT_A_PATCH] A naive attempt to cross-build Linux->mingw64 Git","fromName":"Marat Radchenko","fromEmail":"marat@slonopotamus.org","sentAt":"2014-04-22T13:36:18Z","receivedAt":"2014-04-22T13:36:18Z","isPatch":false,"sender":{"key":"marat@slonopotamus.org","avatar":"https://avatars.githubusercontent.com/u/92637?v=4"},"body":"On Mon, Apr 21, 2014 at 07:06:24PM -0500, Felipe Contreras wrote:\n> I managed to fix all the errors, some apply to newer mingw, regardless of 32 or\n> 64, others are specific to 64-bit. It's all hacky and I haven't checked if it\n> runs, but at least it compiles (mostly).\n\nDo you plan to evolve it into something mergeable?\n\n> diff --git a/compat/nedmalloc/malloc.c.h b/compat/nedmalloc/malloc.c.h\n> index f216a2a..3e4affd 100644\n> --- a/compat/nedmalloc/malloc.c.h\n> +++ b/compat/nedmalloc/malloc.c.h\n> @@ -720,6 +720,7 @@ struct mallinfo {\n>    inlining are defined as macros, so these aren't used for them.\n>  */\n>  \n> +#undef FORCEINLINE\n>  #ifndef FORCEINLINE\n>    #if defined(__GNUC__)\n>  #define FORCEINLINE __inline __attribute__ ((always_inline))\n> @@ -1352,58 +1353,6 @@ LONG __cdecl _InterlockedExchange(LONG volatile *Target, LONG Value);\n>  #ifndef __MINGW32__\n>  #pragma intrinsic (_InterlockedCompareExchange)\n>  #pragma intrinsic (_InterlockedExchange)\n> -#else\n> -  /* --[ start GCC compatibility ]----------------------------------------------\n> -   * Compatibility <intrin_x86.h> header for GCC -- GCC equivalents of intrinsic\n> -   * Microsoft Visual C++ functions. Originally developed for the ReactOS\n> -   * (<http://www.reactos.org/>) and TinyKrnl (<http://www.tinykrnl.org/>)\n> -   * projects.\n> -   *\n> -   * Copyright (c) 2006 KJK::Hyperion <hackbunny@reactos.com>\n> -   *\n> -   * Permission is hereby granted, free of charge, to any person obtaining a\n> -   * copy of this software and associated documentation files (the \"Software\"),\n> -   * to deal in the Software without restriction, including without limitation\n> -   * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n> -   * and/or sell copies of the Software, and to permit persons to whom the\n> -   * Software is furnished to do so, subject to the following conditions:\n> -   *\n> -   * The above copyright notice and this permission notice shall be included in\n> -   * all copies or substantial portions of the Software.\n> -   *\n> -   * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n> -   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n> -   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n> -   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n> -   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n> -   * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n> -   * DEALINGS IN THE SOFTWARE.\n> -   */\n> -\n> -  /*** Atomic operations ***/\n> -  #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40100\n> -    #define _ReadWriteBarrier() __sync_synchronize()\n> -  #else\n> -    static __inline__ __attribute__((always_inline)) long __sync_lock_test_and_set(volatile long * const Target, const long Value)\n> -    {\n> -      long res;\n> -      __asm__ __volatile__(\"xchg%z0 %2, %0\" : \"=g\" (*(Target)), \"=r\" (res) : \"1\" (Value));\n> -      return res;\n> -    }\n> -    static void __inline__ __attribute__((always_inline)) _MemoryBarrier(void)\n> -    {\n> -      __asm__ __volatile__(\"\" : : : \"memory\");\n> -    }\n> -    #define _ReadWriteBarrier() _MemoryBarrier()\n> -  #endif\n> -  /* BUGBUG: GCC only supports full barriers */\n> -  static __inline__ __attribute__((always_inline)) long _InterlockedExchange(volatile long * const Target, const long Value)\n> -  {\n> -    /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */\n> -    _ReadWriteBarrier();\n> -    return __sync_lock_test_and_set(Target, Value);\n> -  }\n> -  /* --[ end GCC compatibility ]---------------------------------------------- */\n>  #endif\n>  #define interlockedcompareexchange _InterlockedCompareExchange\n>  #define interlockedexchange _InterlockedExchange\n\nGit doesn't link without this for me, fails to find _InterlockedExchange.\n\n> diff --git a/config.mak.uname b/config.mak.uname\n> index efaed94..01acd54 100644\n> --- a/config.mak.uname\n> +++ b/config.mak.uname\n> -\tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS -D_USE_32BIT_TIME_T -DNOGDI -Icompat -Icompat/win32\n> +\tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS -Icompat -Icompat/win32\n\nbuiltin/fast-export.c still failed for me with:\n\nbuiltin/fast-export.c: At top level:\nbuiltin/fast-export.c:28:15: error: expected identifier before numeric constant\n static enum { ERROR, DROP, REWRITE } tag_of_filtered_mode = ERROR;\n               ^\n\nERROR is defined in <mingw>/usr/include/wingdi.h and you dropped -DNOGDI what lead to wingdi.h inclusion,\nperhaps you shouldn't.\n\nFor the reference: mingw64-runtime-3.1.0, x86_64-w64-mingw32-gcc 4.8.2\n\nP.S. besides CC/LD, I also had to define AR and fix `windres` executable name in `config.mak.uname`.\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239335","messageId":"87r44pe9ef.fsf@fencepost.gnu.org","threadId":"36444","inReplyTo":"alpine.DEB.1.00.1404221512130.14982@s15462909.onlinehome-server.info","subject":"Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"David Kastrup","fromEmail":"dak@gnu.org","sentAt":"2014-04-22T14:17:12Z","receivedAt":"2014-04-22T14:17:12Z","isPatch":false,"sender":{"key":"dak@gnu.org","avatar":"https://avatars.githubusercontent.com/u/52141349?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> On Mon, 21 Apr 2014, Felipe Contreras wrote:\n>\n>> Johannes Schindelin wrote:\n>> > Now, clearly you have all the motivation that is needed to get 64-bit\n>> > builds of Git for Windows going, and all the motivation required to make\n>> > sure that the MSVC support of the msysGit project works.\n>> \n>> s/msysGit/Git/\n>\n> No. I meant the msysGit project; the project that maintains the current\n> development environment for Git for Windows. Please do not try to\n> reinterpret what I am saying.\n>\n>> Personally I don't see why ideally I shouldn't be able to build upstream\n>> Git for Windows with mingw without leaving my Linux system.\n>\n> Maybe because you could not even test it properly, let alone run the test\n> suite? And maybe because according to the famous \"scratch your own itch\"\n> credo, it is actually the duty of Windows users -- i.e. users who do not\n> even have your Linux system -- to fix the bugs that would never be\n> encountered anywhere but Windows?\n\n<URL:http://www.lilypond.org/gub>\n\nThe LilyPond project uses this to do automated builds for Windows,\nMacOSX, FreeBSD, GNU/Linux on several CPUs.  The installation includes a\nPython interpreter, GUILE, bash, and some other run-time necessary stuff\nfor executing scripts of various kinds.\n\nLilyPond contains quite a few dependencies: efforts to do this natively\nunder the \"everything that should be necessary is available somewhere\"\nassumptions led to bugs and time lags not dissimilar to what plagues\nmsysGit.\n\n\"duty of Windows users\" sounds like a theory expounded by non-Windows\nusers.  Maintaining ports requires highly skilled programmers, and\nhighly skilled programmers tend to scratch a _lot_ of itches by not\nusing Windows in the first place.\n\nIt's been a long time since I had a grasp of the Windows/Git situation,\nbut my impression was that much of the msysGit stuff was done by you\nyourself to scratch your personal itch of stopping people to say \"Git is\nnot useful for large projects since it does not run under Windows\" while\nnot actually being a Windows user yourself.\n\nSo if my memory does not do me a disfavor, you have kicked the \"duty of\nWindows users\" theory in the curb yourself.\n\nThe developer demographic of LilyPond is similar: we actually have a\npredominance of Windows users on the user mailing list.  But power users\nand compile farm providers (all the cross-compiling is taking a serious\ntoll, even though most is in compiling the embedded example images in\nthe various manuals and their translations) use GNU/Linux, and where\ntheir native system is Windows, in the form of a Ubuntu VM (\"LilyDev\")\nput together for that purpose.\n\nAs a consequence, the bug tracker contains comparatively few and often\nminor operating system specific bug reports (cf\n<URL:http://code.google.com/p/lilypond/issues/list?can=1&q=OpSys%3DWindows>).\nMany of them are catered for by programmers not even having a system\navailable for testing.  Stuff that is really only reproducible on\nWindows tends to take longer to fix.  That involves things like\nFont handling, PDF handling, filename issues, memory allocation handling\nand others, often in the form of performance regressions that also\nhappen on GNU/Linux but are much less noticeable because the respective\nfacilities are much more efficient and thus mask unnecessarily repeated\noperations much better.\n\nWhile the user demographic of Git is likely leaning less towards Windows\nthan that of LilyPond, I expect some similar tendencies.  As a result of\nthe GUB crosscompiling environment, LilyPond offers a high quality\nup-to-date Windows distribution with a somewhat typical installer\n(though with acceptability problems that would not be dissimilar for\nGit, cf\n<URL:http://download.cnet.com/LilyPond/9241-2141_4-10995890.html?messageID=10589553&tag=uo;uo>).\n\nIn a way, using such a cross-building environment is a copout regarding\nthe defensible \"duty of end users\" line of thought.  But it's not like\nthe msysGit history supports that theory all that convincingly anyway.\n\n-- \nDavid Kastrup\n"},{"id":"239341","messageId":"53569207a2683_3e5aed73082b@nysa.notmuch","threadId":"36444","inReplyTo":"alpine.DEB.1.00.1404221512130.14982@s15462909.onlinehome-server.info","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2014-04-22T16:00:07Z","receivedAt":"2014-04-22T16:00:07Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Johannes Schindelin wrote:\n> On Mon, 21 Apr 2014, Felipe Contreras wrote:\n> > Johannes Schindelin wrote:\n> > > Now, clearly you have all the motivation that is needed to get 64-bit\n> > > builds of Git for Windows going, and all the motivation required to make\n> > > sure that the MSVC support of the msysGit project works.\n> > \n> > s/msysGit/Git/\n> \n> No. I meant the msysGit project; the project that maintains the current\n> development environment for Git for Windows. Please do not try to\n> reinterpret what I am saying.\n\nI don't care what you are saying, what I'm saying is that he has the motivation\nto do it for the Git project. Why on Earth would he do it for the msysGit\nproject, when he can do it for the Git project (which would then percolate to\nthe msysGit project as well)?\n\n> > Personally I don't see why ideally I shouldn't be able to build upstream\n> > Git for Windows with mingw without leaving my Linux system.\n> \n> Maybe because you could not even test it properly, let alone run the test\n> suite?\n\nIdeally you could.\n\n> And maybe because according to the famous \"scratch your own itch\"\n> credo, it is actually the duty of Windows users -- i.e. users who do not\n> even have your Linux system -- to fix the bugs that would never be\n> encountered anywhere but Windows?\n\nThat is your conclusion. If somebody reasonable sends reasonable patches that\nmake WinGit work in a way that doesn't impact negatively non-Windows users, I\ndon't see why they wouldn't be picked.\n\n-- \nFelipe Contreras\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239343","messageId":"5356940d5ef3a_3e5aed73088d@nysa.notmuch","threadId":"36444","inReplyTo":"20140422133616.GA5079@seldon","subject":"Re: [NOT_A_PATCH] A naive attempt to cross-build Linux->mingw64 Git","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2014-04-22T16:08:45Z","receivedAt":"2014-04-22T16:08:45Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Marat Radchenko wrote:\n> On Mon, Apr 21, 2014 at 07:06:24PM -0500, Felipe Contreras wrote:\n> > I managed to fix all the errors, some apply to newer mingw, regardless of 32 or\n> > 64, others are specific to 64-bit. It's all hacky and I haven't checked if it\n> > runs, but at least it compiles (mostly).\n> \n> Do you plan to evolve it into something mergeable?\n\nI might, but that would requiere a lot of effort to investigate the changes in\nmingw, and I'm not sure if there's enough interest on this.\n\nAfter fixing all the issues so that we can cross-compile, I would like to see a\nreal effort to move away from shell and perl scripts, so that we not only could\nrun the important commands, but properly test Git without bash, otherwise I\nfeel Windows will always be a second class citizen.\n\n> P.S. besides CC/LD, I also had to define AR and fix `windres` executable name in `config.mak.uname`.\n\nThat's why we should have a CROSS_COMPILE variable which is standard in other projects.\n\nThis is what the Linux kernel has:\n\n  AS\t\t= $(CROSS_COMPILE)as\n  LD\t\t= $(CROSS_COMPILE)ld\n  CC\t\t= $(CROSS_COMPILE)gcc\n  AR\t\t= $(CROSS_COMPILE)ar\n  NM\t\t= $(CROSS_COMPILE)nm\n  STRIP\t\t= $(CROSS_COMPILE)strip\n  OBJCOPY\t= $(CROSS_COMPILE)objcopy\n  OBJDUMP\t= $(CROSS_COMPILE)objdump\n\nI had patches for this, but I gave them up =/\n\n-- \nFelipe Contreras\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"239342","messageId":"alpine.DEB.1.00.1404221813320.14982@s15462909.onlinehome-server.info","threadId":"36444","inReplyTo":"53569207a2683_3e5aed73082b@nysa.notmuch","subject":"Re: Re: Re: [ANNOUNCE] WinGit - native x86/x64 Git for Windows","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-04-22T16:14:44Z","receivedAt":"2014-04-22T16:14:44Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Felipe,\n\nOn Tue, 22 Apr 2014, Felipe Contreras wrote:\n\n> Johannes Schindelin wrote:\n> > On Mon, 21 Apr 2014, Felipe Contreras wrote:\n> > > Johannes Schindelin wrote:\n> > > > Now, clearly you have all the motivation that is needed to get 64-bit\n> > > > builds of Git for Windows going, and all the motivation required to make\n> > > > sure that the MSVC support of the msysGit project works.\n> > > \n> > > s/msysGit/Git/\n> > \n> > No. I meant the msysGit project; the project that maintains the current\n> > development environment for Git for Windows. Please do not try to\n> > reinterpret what I am saying.\n> \n> I don't care what you are saying,\n\nThat is quite obvious and did not need clarifying.\n\nNevertheless, by stating that \"substitute\" command, you corrected me.\nExcept that you did not, I intended to say something different, and your\ncorrection was quite misplaced.\n\nCiao,\nJohannes\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"msysGit\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"}]}