{"thread":{"id":"9393","subject":"Bootstraper for Git Dev Environment for Windows (Light version)","startedAt":"2007-08-05T11:00:14Z","lastAt":"2007-08-16T09:06:50Z","messageCount":6,"participants":["Dmitry Kakurin","Johannes Schindelin","Nguyen Thai Ngoc Duy","Johannes Sixt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"49864","messageId":"2B8D8540264E4205BD1E4605770422BF@ntdev.corp.microsoft.com","threadId":"9393","inReplyTo":null,"subject":"Bootstraper for Git Dev Environment for Windows (Light version)","fromName":"Dmitry Kakurin","fromEmail":"dmitry.kakurin@gmail.com","sentAt":"2007-08-05T11:00:14Z","receivedAt":"2007-08-05T11:00:14Z","isPatch":false,"sender":{"key":"dmitry.kakurin@gmail.com","avatar":null},"body":"Please give it a try and tell me how it works for you:\nhttp://msysgit.googlecode.com/files/GitMe-1.exe (1.6 MB)\n\nHere is the idea that this installer implements:\nNow that we have both msysGit and mingw git as .git repositories here is what we can do:\n* Create a small bootstrap download with git-clone and it's dependencies\n* After you download and run it, it will first clone msysGit repository\n* Then it will clone mingw.git repository\n* Start msys and run 'make install' for git\n* Clear leftovers of bootstrap\n\nThere are huge advantages IMHO:\n* the bootstrap download is very small (1.6MB) and will (almost) never change\n* msysGit will not contain git sources at all (this causes very inconvenient overlap between 2 repositories right now)\n* after initial setup process user will be left with 2 fully-functioning repositories (msysGit and git), so staying up to date with \nboth mingw.git and msys dev/build environment will be trivial: just use git pull for both.\n\nIf we want to stick with this installer here is what we need to do:\n* Remove /git directory from msysGit.git\n* Bring mingw.git up to date so we can remove patching step from installer\n\nIf you want to change it/see how it works internally do the following:\n* start the GitMe.exe\n* answer yes to popup dialog\n* cmd window will open and ask you for installation directory, don't enter anything, just leave this window alone\n\nAt this point all installer files will be unpacked in %temp%\\RarSFX0\\GitMe.\nSetup.cmd is the one to look at/tweak.\n\nTo repack just use any compressor that can create SFX archives that can also start a file execution. I've used WinRAR.\nBut the whole idea is that this bootstrap download should require very little/no tweaking. All changes should happen in msysgit.git \nand mingw.git.\n\n- Dmitry\n"},{"id":"49879","messageId":"Pine.LNX.4.64.0708051252130.14781@racer.site","threadId":"9393","inReplyTo":"2B8D8540264E4205BD1E4605770422BF@ntdev.corp.microsoft.com","subject":"Re: Bootstraper for Git Dev Environment for Windows (Light version)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-05T12:27:36Z","receivedAt":"2007-08-05T12:27:36Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Dmitry,\n\n[Mike, Marius and Hannes Cc:ed, since I reference their work]\n\nOn Sun, 5 Aug 2007, Dmitry Kakurin wrote:\n\n> Please give it a try and tell me how it works for you:\n> http://msysgit.googlecode.com/files/GitMe-1.exe (1.6 MB)\n\nThat file size is intriguing...  And I think you are on a good idea here.  \nYesterday I was a bit negative, but after sleeping over it, I think that \nyou have a point there.\n\nSome comments:\n\n- It works very well!  Good job.\n\n- we can have this bootstrap installer, the full package, snapshots \n  (Marius had this idea, and is probably going to install some cron job \n  of some sort or other), and an installer without the development \n  environment (code name WinGit?) for the end user.\n\n- How about calling your package msysGit-netInstall-<version>.exe?\n\n- I'd like to have the full package, too...\n\n\t- Partly for size reasons (msysGit.exe is an almost self-contained \n\t  19MB package, while the pack in the repository is something like \n\t  40 MB).  But in this sense, I would have to include the pack for \n\t  mingw.git as well...  Still, on dial-up, 40MB or 60MB makes a \n\t  difference, no?\n\n\t- Partly because I do not like net installers myself... I like to \n\t  download a big installer and be done with it.\n\n- There is one big caveat with your bootstrapper: things have been known \n  to break, and I think msysgit.git is no exception.  So I'd like to have \n  a fallback in case things go awry, also to have something that is tested \n  (for example, Mike tested msysGit-0.4.exe before releasing it).  Of \n  course, we could solve that issue by branching off of the last release \n  tag.\n\n- I agree, though, that your approach is more convenient for us.\n\n- Your work is very valuable: it is the first step towards WinGit, because \n  you already identified some parts that are necessary to run git.\n\n- AFAICT it is possible to make nicer installers with 7-Zip, and also \n  smaller ones, and most importantly (for me), you can script it.  See for \n  example the script release-msysGit.sh which resides in /bin in \n  msysgit.git.  It's a hands-free no-hassle installer maker.\n\n- my idea is to turn /git into a subproject, but I want to make sure \n  first, that it works, and that a transition is-subdirectory -> \n  is-submodule goes smooth.  (There is one more submodule that will be \n  nice to have in msysgit.git... a shell extension similar to TortoiseCVS \n  is finally gathering way... stay tuned!)\n\n- I wanted to hold off a little, until Hannes can apply the fix-up patch \n  we need in mingw.git.  Because when he does, your bootstrap will run \n  into problems...\n\n> If we want to stick with this installer here is what we need to do:\n> * Remove /git directory from msysGit.git\n> * Bring mingw.git up to date so we can remove patching step from installer\n\nSounds like a plan.  Hannes? (I know that Hannes was/is in holiday...)\n\n> To repack just use any compressor that can create SFX archives that can \n> also start a file execution. I've used WinRAR. But the whole idea is \n> that this bootstrap download should require very little/no tweaking. All \n> changes should happen in msysgit.git and mingw.git.\n\nLike I said, I prefer 7-Zip (if only because it is Open Source).  It would \nbe nice to have insight in how you went about to identify what is needed?\n\nEventually, I'd like to have a script which creates that installer, in \nmsysgit.git...\n\nCiao,\nDscho\n"},{"id":"49882","messageId":"26F4E92272F14115959CFA0C23809617@ntdev.corp.microsoft.com","threadId":"9393","inReplyTo":"Pine.LNX.4.64.0708051252130.14781@racer.site","subject":"Re: Bootstraper for Git Dev Environment for Windows (Light version)","fromName":"Dmitry Kakurin","fromEmail":"dmitry.kakurin@gmail.com","sentAt":"2007-08-05T12:51:52Z","receivedAt":"2007-08-05T12:51:52Z","isPatch":false,"sender":{"key":"dmitry.kakurin@gmail.com","avatar":null},"body":"----- Original Message ----- \nFrom: \"Johannes Schindelin\" <Johannes.Schindelin@gmx.de>\n\n\n> - How about calling your package msysGit-netInstall-<version>.exe?\nNo problem. Feel free to reupload it with a different name.\n\n>   mingw.git as well...  Still, on dial-up, 40MB or 60MB makes a \n>   difference, no?\nSorry, I didn't have dialup for years so I don't take it into consideration.\nStill 60MB is not that dialup unfriendly.\n\n> - There is one big caveat with your bootstrapper: things have been known \n>  to break, and I think msysgit.git is no exception.  So I'd like to have \n>  a fallback in case things go awry, also to have something that is tested \n>  (for example, Mike tested msysGit-0.4.exe before releasing it).  Of \n>  course, we could solve that issue by branching off of the last release \n>  tag.\nThat, or better yet always maintain master branch in a working condition. Seriously.\nIf it (VERY rarely) breaks we'll just revert the offending checkin to bring it back in shape.\nWhere I come from, 'main' or 'master' should ALWAYS be functional.\n \n> - AFAICT it is possible to make nicer installers with 7-Zip, and also \nI have no preference here. I just use what I know (WinRAR).\nIf you feel strongly about 7zip (which I can see you do for some reason :-) feel free to repackage it.\n\n> - I wanted to hold off a little, until Hannes can apply the fix-up patch \n>  we need in mingw.git.  Because when he does, your bootstrap will run \n>  into problems...\nNot sure why...\n\n> It would \n> be nice to have insight in how you went about to identify what is needed?\nWell, I've set path to a single directory (C:\\GitMe\\bin), copies over bash and git-clone\nand started running it until it worked. Which happened surprisingly fast.\n\n- Dmitry\n"},{"id":"49889","messageId":"Pine.LNX.4.64.0708051444560.14781@racer.site","threadId":"9393","inReplyTo":"26F4E92272F14115959CFA0C23809617@ntdev.corp.microsoft.com","subject":"Re: Bootstraper for Git Dev Environment for Windows (Light version)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-05T13:51:15Z","receivedAt":"2007-08-05T13:51:15Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 5 Aug 2007, Dmitry Kakurin wrote:\n\n> ----- Original Message ----- From: \"Johannes Schindelin\"\n> <Johannes.Schindelin@gmx.de>\n> \n> \n> > - How about calling your package msysGit-netInstall-<version>.exe?\n> No problem. Feel free to reupload it with a different name.\n\nI'll do so later... When it has to change.\n\n> >   mingw.git as well...  Still, on dial-up, 40MB or 60MB makes a \n> > difference, no?\n>\n> Sorry, I didn't have dialup for years so I don't take it into \n> consideration. Still 60MB is not that dialup unfriendly.\n\nOkay.\n\n> > - There is one big caveat with your bootstrapper: things have been \n> > known to break, and I think msysgit.git is no exception.  So I'd like \n> > to have a fallback in case things go awry, also to have something that \n> > is tested (for example, Mike tested msysGit-0.4.exe before releasing \n> > it).  Of course, we could solve that issue by branching off of the \n> > last release tag.\n>\n> That, or better yet always maintain master branch in a working \n> condition. Seriously. If it (VERY rarely) breaks we'll just revert the \n> offending checkin to bring it back in shape. Where I come from, 'main' \n> or 'master' should ALWAYS be functional.\n\nOkay, let's try to be anal then.\n\n> > - AFAICT it is possible to make nicer installers with 7-Zip, and also\n>\n> I have no preference here. I just use what I know (WinRAR). If you feel \n> strongly about 7zip (which I can see you do for some reason :-) feel \n> free to repackage it.\n\nYeah ;-)  I like it because it is Open Source... and easily scriptable.  \nEven if you want to make a graphical installer.\n\n> > - I wanted to hold off a little, until Hannes can apply the fix-up \n> > patch we need in mingw.git.  Because when he does, your bootstrap will \n> > run into problems...\n>\n> Not sure why...\n\nNeither am I anymore.\n\nWhat would you say about this idea:\n\n- upload a branch \"mingw-devel\" to msysgit.git, which is identical to \n  mingw.git's devel, plus our patches.\n\n- convert /git to a submodule, fetching from msysgit.git's mingw-devel \n  branch.\n\n- adjust /etc/profile for the changes.\n\n- make a new net installer and upload it.\n\n- But keep doing some full releases in the meantime, which do not clone \n  anything, but rather initialise /git/.git so that people can send in \n  patches?\n\n> > It would be nice to have insight in how you went about to identify \n> > what is needed?\n>\n> Well, I've set path to a single directory (C:\\GitMe\\bin), copies over \n> bash and git-clone and started running it until it worked. Which \n> happened surprisingly fast.\n\nAh, thanks.  Valuable work, this.\n\nCiao,\nDscho\n"},{"id":"50144","messageId":"fcaeb9bf0708071318r28397a32v685b672b0fb677a2@mail.gmail.com","threadId":"9393","inReplyTo":"2B8D8540264E4205BD1E4605770422BF@ntdev.corp.microsoft.com","subject":"Re: Bootstraper for Git Dev Environment for Windows (Light version)","fromName":"Nguyen Thai Ngoc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2007-08-07T20:18:18Z","receivedAt":"2007-08-07T20:18:18Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On 8/5/07, Dmitry Kakurin <dmitry.kakurin@gmail.com> wrote:\n> Please give it a try and tell me how it works for you:\n> http://msysgit.googlecode.com/files/GitMe-1.exe (1.6 MB)\n\nSorry, can't help it. After making more commands built-in and\nstripping all executables, I can make a 1.4 MB zip archive containing\na (mostly) functional git! I bet no other SCM can be that small yet as\npowerful as git. Thanks git team! (Okay, rant's over)\n-- \nDuy\n"},{"id":"50867","messageId":"46C413AA.CE4C8ACF@eudaptics.com","threadId":"9393","inReplyTo":"Pine.LNX.4.64.0708051252130.14781@racer.site","subject":"Re: Bootstraper for Git Dev Environment for Windows (Light version)","fromName":"Johannes Sixt","fromEmail":"j.sixt@eudaptics.com","sentAt":"2007-08-16T09:06:50Z","receivedAt":"2007-08-16T09:06:50Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Johannes Schindelin wrote:\n> - I wanted to hold off a little, until Hannes can apply the fix-up patch\n>   we need in mingw.git.  Because when he does, your bootstrap will run\n>   into problems...\n> \n> > If we want to stick with this installer here is what we need to do:\n> > * Remove /git directory from msysGit.git\n> > * Bring mingw.git up to date so we can remove patching step from installer\n> \n> Sounds like a plan.  Hannes? (I know that Hannes was/is in holiday...)\n\nI gladly accept patches or merge or cherry-pick from one of the repos\nthat have appeared recently.\n\nBTW, I'm about to push a new mingw.git that is at v1.5.3-rc4. I'm only\nwaiting for the tests to complete (which takes an awful lot of time on\nWindows).\n\n-- Hannes\n"}]}