{"thread":{"id":"10153","subject":"The 3rd msysGit Herald","startedAt":"2007-10-05T03:13:39Z","lastAt":"2007-10-05T03:13:39Z","messageCount":1,"participants":["Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"54902","messageId":"Pine.LNX.4.64.0710050405410.4174@racer.site","threadId":"10153","inReplyTo":null,"subject":"The 3rd msysGit Herald","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-10-05T03:13:39Z","receivedAt":"2007-10-05T03:13:39Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Good morning git land!\n\nThis hour of the tiger in Scotland is as good an occasion as any to issue\nthe third episode of the msysGit Herald, the not-quite-biweekly news letter\nto keep you informed about msysGit, the effort to bring one of the most\npowerful Source Code Management systems to the poor souls stuck with\nWindows.\n\nThese are the covered topics:\n\n\tUmlauts in the path name\n\n\tCompiling Perl from scratch!\n\n\tIncluding the 'html' branch as a submodule\n\n\tThe language wars, this time: no .NET in msysGit\n\n\tInno installer\n\n\tWhere is HOME?\n\n\nUmlauts in the path name\n========================\n\nAnother issue cropped up the other day; MSys cannot handle path names with\numlauts alright.  For example, if you try to remove a checkout of git.git\n(which unnecessarily contains an umlaut in a test for gitweb) with MSys'\n\"rm\", it will fail.  It will say that it removed the file \"Märchen\", but\nthe file is still there.\n\nWe will see if at some point in future, we will be able to compile MSys\nfrom within msysGit, and maybe we will be able to fix this issue.\n\nFor now, please try to avoid spaces in the installation path of msysGit!\n\n\nCompiling Perl from scratch!\n============================\n\nSomehow I lured Simon Sasburg into trying to get Perl compiling inside\nmsysGit.  I already had compiled it, using the \"official\" method,\ndownloading dmake and stuff, and the result was a commit with a recipe\nhow to compile it from scratch (e887f810 in the \"full\" branch).\n\nHowever, this was a MinGW Perl, not a MSys Perl.  Remember: the main\ndifference (usage-wise) is that MSys has a fake \"/\" directory.  So\nwherever you install it, it will be able to find /etc/bla.  And the\nperl I built cannot use that, and therefore does not find essential\nparts of git, making it useless for our purposes.\n\nSimon jumped through the hoops and got some additional packages from\nmingw.org installed, and was nice enough to put that into a branch\nin msysgit.git: msysperl.  When checking that branch out, you will\nhave a /perl directory with two scripts: one to download perl and\napply some patches, and another to build perl.\n\n\nIncluding the 'html' branch as a submodule\n==========================================\n\nSteffen Prohaska, who was very interested in msysGit right from the start,\nhas joined the msysGit team.  He realised that the help was not working,\nand created a new submodule containing the html pages, along with some\npatches to allow opening these pages, even when msysGit (or GitMe or\nWinGit) was installed to a path containing spaces.\n\nSo all of you, seeking help in WinGit, look forward to the release 0.3\nof WinGit, which will include some.\n\n\nThe language wars, this time: no .NET in msysGit\n================================================\n\nWe realised pretty soon that some convenient parts which are present in\nevery Unix system are simply lacking in Windows.\n\nIt begins with the missing C compiler, which is so untrivial to set up\nthat there was a demand for msysGit.  But it certainly does not end\nthere.\n\nFor example, the effort to compile Perl from scratch (see above) is\nnecessary so that we have the chance to compile the modules missing\nfor git-svn support.\n\nIn the midst of these efforts, a tool was checked in that allows you\nto call an arbitrary diff viewer, by setting three environment\nvariables.\n\nOf course, you could do that with a simple shell script, but it seems\nsome people are so uncomfortable with the shell that they have to\nwrite a program to do the same.\n\nThe big problem with this program, though, is that it was written\nusing .NET 2.0.\n\nI already had many complaints how many dependencies msysGit has, and\nwas actively working on reducing the size of the WinGit installer\nby leaving out non-essential parts; and there was even talk about\nmaking a WinGit installer that does not even install Perl.\n\nSo I was not happy with the situation, and moved the commits out of\nour 'devel' branch into the branch 'dmitry/dotnet-gitdiff'.\n\nIn the wake of this cleanup, Steffen Prohaska proposed that all new\nchanges should first be committed to topic branches, and only move them\ninto 'devel' once another developer has seen them.\n\nFor a short time I was even thinking about asking all developers to\njust fork msysgit.git, and work in their repositories, but for the\nmoment, it seems that we're okay with Steffen's proposal.\n\nHowever, everyone who disagrees with me is (of course) free to fork\nmsysgit.git; repo.or.cz makes that trivial.\n\n\nInno installer\n==============\n\nSebastian Schubert, a colleague of Steffen, was so disgusted with my\nbeautiful 7-Zip/Tk based installer that he decided to work on an Inno\nbased one.\n\nNow, we already have a script to make an installer using NSIS (see the\n\"nsis-installer\" branch of msysgit.git), but my biggest concern was\nalways to avoid installing other software than msysGit to build the\ninstallers.  And as far as I can tell, NSIS is not really small.\n\nSebastian has promised that Inno would be small enough, so I guess\nwe'll just wait and see...\n\nIf it finds the unilateral love of the msysGit team members, version\n0.3 of the WinGit installer will already be based on Sebastian's work.\n\n\nWhere is HOME?\n==============\n\nWhile working on the Inno setup, Sebastian suggested installing an\nExplorer extension so that you can \"Start Git Shell here\" in the\nExplorer.  Apparently a component of Inno makes it easy to add such a\nsmall Explorer extension.\n\nUnless you do a \"cd $HOME\" in /etc/profile, which we do.  So, when\ncalling the shell (which has to be a login shell) we want to stay\nwhere we are, but we do not (this was requested in Issue 51 in our\nissue tracker).\n\nIn the following discussions, it appeared that not everybody is\nhappy that Windows, Cygwin and MSys all have different home\ndirectories.\n\nI proposed changing the HOME in MSys to the Windows home, also known\nas %USERPROFILE%.  This would help new users, as well as uninstalling\n(since the repositories would be outside of the installation directory),\nbut it would also involve changing existing setups, and we're close to\n700 downloads for WinGit, and double that for msysGit.\n\nThis issue is not resolved yet."}]}