{"thread":{"id":"9118","subject":"Feedback on native Win32 git from a Perl perspective","startedAt":"2007-07-20T08:04:15Z","lastAt":"2007-07-23T10:48:15Z","messageCount":4,"participants":["Adam Kennedy","Martin Langhoff"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"47962","messageId":"46A06C7F.5010601@phase-n.com","threadId":"9118","inReplyTo":null,"subject":"Feedback on native Win32 git from a Perl perspective","fromName":"Adam Kennedy","fromEmail":"adam@phase-n.com","sentAt":"2007-07-20T08:04:15Z","receivedAt":"2007-07-20T08:04:15Z","isPatch":false,"sender":{"key":"adam@phase-n.com","avatar":null},"body":"It was suggested that this link be fired through to this address.\n\nhttp://use.perl.org/~Alias/journal/33825\n\nA quick review of native Win32 git provoked by the current conversation \namoungst the Perl core maintainers about changing version control \nsystems and whether to go with svn or git (the main two candidates).\n\nThis review is utterly unrelated to whether or not central or \ndistributed version control is better, and utterly unrelated to the \nfeatures of git itself, and refer only to the native Win32 git \ninstaller/package itself.\n\nFor reference, the reviewer (me) has 10 years of experience with Perl \ndevelopment across both Windows, Linux, BSD, Solaris, Mac (old and new).\n\nI'm also a CPAN administrator, Perl toolchain maintainer, author of \nabout 150 cross-platform Perl packages on the CPAN, and creator of the \n\"Strawberry Perl\" Win32 Perl distribution and win32.perl.org website.\n\nIf you have any follow up, please CC me.\n\nThanks\n\nAdam Kennedy\n"},{"id":"47965","messageId":"46a038f90707200632u1ce762c1i70eb1586e2542256@mail.gmail.com","threadId":"9118","inReplyTo":"46A06C7F.5010601@phase-n.com","subject":"Re: Feedback on native Win32 git from a Perl perspective","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2007-07-20T13:32:25Z","receivedAt":"2007-07-20T13:32:25Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 7/20/07, Adam Kennedy <adam@phase-n.com> wrote:\n> A quick review of native Win32 git provoked by the current conversation\n> amoungst the Perl core maintainers about changing version control\n> systems and whether to go with svn or git (the main two candidates).\n\nHi Adam,\n\nThe problem you hit is that you need the MinGW runtime -- I forget its\nname -- and that will have installed an item in your start menu. It's\nfor a terminal that has all the MinGW stuff, you get a nice bash\nshell. I opened, added the GIT install directory to the path, and was\nall set.\n\nI think Sam Vilain (aka mugwump) is going to / at / returning from\nOSCON this week, so he migth take a while to reply. Oh, I see he\nposted in your blog too.\n\nHe's been running imports of the Perl dev trees into git, they'll be\nat http://git.catalyst.net.nz/gitweb - fetchable via http at\nhttp://git.catalyst.net.nz/git/perl.git\n\nMy notes above are because I have _just_ been setting up git at\naclient site on Win32. Took me a bit of fiddling as I hadn't used\nWindows in years, but I got it going...\n\n - needs the mingw runtime - trivial\n - runs pretty well from the commandline - impressed\n - gitk and other Tk-based utilities work great ( _very_ impressed)\nbut I had to fixup the wish executable name - minor\n - the http protocol wasn't supported out of the box in the version I\ngot, a pain for anon checkouts, and I've seen some discussion about\nthat on the list -- unsure here\n\nIn terms of http support -- IIRC the problem is handling of forked\nprocesses, but there might be a way to sidestep the problem.  Very\nearly versions of git did some odd curl cmdline that Cogito copied.\nSerialised, slow and not one bit as smart as what we do now, but we\ncan perhaps reuse some of that.\n\nSome things you point out can be improved once things are more\npolished -- like adding links to gitk and git gui but we'd need to\nsort out how to do this in a directory context. Heh - maybe we need\none of those explorer.exe extensions...\n\n>From a \"we are very limited Windows users\" POV, no, we don't have\nTortoiseSVN unfortunately. But for developers used to mixed cli/gui\nenvironments, like I'm sure most Perl developers are, it'll be a\nbreeze. It does need a bit of a howto though.\n\n> For reference, the reviewer (me) has 10 years of experience with Perl\n> development across both Windows, Linux, BSD, Solaris, Mac (old and new).\n\nI'm guess in general terms I have a somewhat similar bg  -- though I\ndon't develop Perl ;-) -- and perhaps it's a bit of luck. I had\n_never_ seen MinGW (I do know CygWin) and perhaps it was a stroke of\nluck that it only took me about 45 minutes to get things going,\nfiguring out the stuff noted above.\n\ncheers,\n\n\n\nmartin\n"},{"id":"48262","messageId":"46A4337E.2090303@phase-n.com","threadId":"9118","inReplyTo":"46a038f90707200632u1ce762c1i70eb1586e2542256@mail.gmail.com","subject":"Re: Feedback on native Win32 git from a Perl perspective","fromName":"Adam Kennedy","fromEmail":"adam@phase-n.com","sentAt":"2007-07-23T04:50:06Z","receivedAt":"2007-07-23T04:50:06Z","isPatch":false,"sender":{"key":"adam@phase-n.com","avatar":null},"body":"Hi Martin\n\nThe situation you are in sounds somewhat similar the one we had with our \nWin32 Perl distribution releases.\n\nThe main problem is that on Windows for the most part there is just no \nconcept of \"first install $something\" (be that a run-time, cygwin, or \nwhatever).\n\nYou will find, as we did, that the expectation is that there is one \ninstaller, you run it, and it does everything.\n\nFor the Vanilla/Strawberry Perl installers (http://vanillaperl.com/) the \napproach we ended up with to get full toolchain functionality out of the \nbox was to bundle a copy of the MinGW packages we needed, as well as \nbundling a copy of dmake.\n\nThe approach ActivePerl takes is to not bundle any of these parts, and \nexpects you to download and install dmake and a compiler seperately, and \nwe've had a lot of praise from people with Strawberry in particular \nbecause it \"just works\".\n\nYou run the installer, and once it finishes the cpan client works \nexactly the same as it does on Unix.\n\nI think you may end up having to take a similar approach with git.\n\nCreate a single installer that contains both the git binaries, and \ncopies of any tools you needed embedded in them (ideally in a seperate \nbin directory so that they are NOT in the path, with git referring to \nthem explicitly).\n\nAdam K\n\nMartin Langhoff wrote:\n> On 7/20/07, Adam Kennedy <adam@phase-n.com> wrote:\n>> A quick review of native Win32 git provoked by the current conversation\n>> amoungst the Perl core maintainers about changing version control\n>> systems and whether to go with svn or git (the main two candidates).\n> \n> Hi Adam,\n> \n> The problem you hit is that you need the MinGW runtime -- I forget its\n> name -- and that will have installed an item in your start menu. It's\n> for a terminal that has all the MinGW stuff, you get a nice bash\n> shell. I opened, added the GIT install directory to the path, and was\n> all set.\n> \n> I think Sam Vilain (aka mugwump) is going to / at / returning from\n> OSCON this week, so he migth take a while to reply. Oh, I see he\n> posted in your blog too.\n> \n> He's been running imports of the Perl dev trees into git, they'll be\n> at http://git.catalyst.net.nz/gitweb - fetchable via http at\n> http://git.catalyst.net.nz/git/perl.git\n> \n> My notes above are because I have _just_ been setting up git at\n> aclient site on Win32. Took me a bit of fiddling as I hadn't used\n> Windows in years, but I got it going...\n> \n> - needs the mingw runtime - trivial\n> - runs pretty well from the commandline - impressed\n> - gitk and other Tk-based utilities work great ( _very_ impressed)\n> but I had to fixup the wish executable name - minor\n> - the http protocol wasn't supported out of the box in the version I\n> got, a pain for anon checkouts, and I've seen some discussion about\n> that on the list -- unsure here\n> \n> In terms of http support -- IIRC the problem is handling of forked\n> processes, but there might be a way to sidestep the problem.  Very\n> early versions of git did some odd curl cmdline that Cogito copied.\n> Serialised, slow and not one bit as smart as what we do now, but we\n> can perhaps reuse some of that.\n> \n> Some things you point out can be improved once things are more\n> polished -- like adding links to gitk and git gui but we'd need to\n> sort out how to do this in a directory context. Heh - maybe we need\n> one of those explorer.exe extensions...\n> \n>  From a \"we are very limited Windows users\" POV, no, we don't have\n> TortoiseSVN unfortunately. But for developers used to mixed cli/gui\n> environments, like I'm sure most Perl developers are, it'll be a\n> breeze. It does need a bit of a howto though.\n> \n>> For reference, the reviewer (me) has 10 years of experience with Perl\n>> development across both Windows, Linux, BSD, Solaris, Mac (old and new).\n> \n> I'm guess in general terms I have a somewhat similar bg  -- though I\n> don't develop Perl ;-) -- and perhaps it's a bit of luck. I had\n> _never_ seen MinGW (I do know CygWin) and perhaps it was a stroke of\n> luck that it only took me about 45 minutes to get things going,\n> figuring out the stuff noted above.\n> \n> cheers,\n> \n> \n> \n> martin\n> \n"},{"id":"48298","messageId":"46a038f90707230348x7b107568vb680cb089645cb61@mail.gmail.com","threadId":"9118","inReplyTo":"46A4337E.2090303@phase-n.com","subject":"Re: Feedback on native Win32 git from a Perl perspective","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2007-07-23T10:48:15Z","receivedAt":"2007-07-23T10:48:15Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 7/23/07, Adam Kennedy <adam@phase-n.com> wrote:\n> The main problem is that on Windows for the most part there is just no\n> concept of \"first install $something\" (be that a run-time, cygwin, or\n> whatever).\n\nAgreed. And then you get in trouble if the stuff you are bundling\nconflicts with software tht the user has already, or installs later...\n\n> For the Vanilla/Strawberry Perl installers (http://vanillaperl.com/) the\n> approach we ended up with to get full toolchain functionality out of the\n> box was to bundle a copy of the MinGW packages we needed, as well as\n> bundling a copy of dmake.\n>\n> The approach ActivePerl takes is to not bundle any of these parts,\n\nI was a longtime ActivePerl user. I remember the pain.\n\n>From the page you link, you are shipping Strawberry Perl for the\nsimple install with all included cases, and vanilla for people who\nwant to package their own perl or get Just Perl.\n\nSounds like a good plan -- hopefully bundling minGW isn't too hard.\n\n\nm\n"}]}