{"thread":{"id":"5506","subject":"Cygwin playbook?","startedAt":"2006-09-07T04:59:22Z","lastAt":"2006-09-07T14:23:44Z","messageCount":8,"participants":["Martin Langhoff","Junio C Hamano","Shawn Pearce","Christopher Faylor"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"26488","messageId":"46a038f90609062159v3858a771t38355ed60867ccfc@mail.gmail.com","threadId":"5506","inReplyTo":null,"subject":"Cygwin playbook?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-09-07T04:59:22Z","receivedAt":"2006-09-07T04:59:22Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"A colleage wants to work with us on a git project but is Trapped In\nWindows (TM). He does have a cywgin install, and I was hoping to find\na cygwin install howto. Alas, I couldn't find any (is there one and\nGoogle doesn't know about it?).\n\nNow, I am a bit at a loss, as I don't have access to windows. So for\nyou cygwin knights in the woods, a few questions...\n\n - What cygwin packages are needed?\n - Need to fudge makefile?\n - How do I install for personal use?\n - How do I install in /usr/local?\n - Anything else I should know?\n\nI'll be more than happy to shape the replies in a nice wiki page...\n(Mercurial has one already\nhttp://www.selenic.com/mercurial/wiki/index.cgi/WindowsInstall )\n\ncheers,\n\n\nmartin\n"},{"id":"26489","messageId":"7v7j0g40xh.fsf@assigned-by-dhcp.cox.net","threadId":"5506","inReplyTo":"46a038f90609062159v3858a771t38355ed60867ccfc@mail.gmail.com","subject":"Re: Cygwin playbook?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-09-07T06:59:22Z","receivedAt":"2006-09-07T06:59:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n\n> - What cygwin packages are needed?\n\nI am not in front of Windows machine so I need to check later if\nnobody beats me to this, but essentially it is the same as on\nsane Unix systems.  Cygwin folks did a good job providing\nnecessary libraries readily available from their Setup.exe.\n\n> - Need to fudge makefile?\n\nNo; not even autoconf was needed and it installed out of the box\nfor me (w2k).\n\n> - How do I install for personal use?\n\nmake install would install under whereever you call ~/bin in\nCygwin environment, and that is how I have mine.\n\n> - How do I install in /usr/local?\n\nI do not think of a reason why \"make prefix=/usr/local\" would\nnot work but I haven't tried it myself so don't quote me on\nthis.\n\n> - Anything else I should know?\n\nYou would probably have great pain if on vfat.  It appears to\nwork Ok on NTFS.  It appears to be quite slow, judging from\nthe way it runs our standard test suite.\n"},{"id":"26492","messageId":"46a038f90609070018k319b748cmae7a9b30da45b3b6@mail.gmail.com","threadId":"5506","inReplyTo":"7v7j0g40xh.fsf@assigned-by-dhcp.cox.net","subject":"Re: Cygwin playbook?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-09-07T07:18:10Z","receivedAt":"2006-09-07T07:18:10Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 9/7/06, Junio C Hamano <junkio@cox.net> wrote:\n> \"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n>\n> > - What cygwin packages are needed?\n>\n> I am not in front of Windows machine so I need to check later if\n> nobody beats me to this, but essentially it is the same as on\n> sane Unix systems.  Cygwin folks did a good job providing\n> necessary libraries readily available from their Setup.exe.\n\nSorry to ask this... Are you sure? Vanilla base setup with no extra\npackages getting gcc and various -dev packages? Perhaps there is a\n'developer' profile during install that gets you a reasonable kit?\n\nAbout 5 minutes ago I managed to get limited access (non-root, cannot\ninstall packages) to a cygwin env using rdesktop. It did have gcc and\nmake, but make bombed out with a missing libcurl and openssl header\nfiles. IIRC, diff3/merge isn't in the base install either.\n\nIn debian I can look at apt-cache show git-core to get a quick\noverview of dependencies but here I'm lost :(\n\n> > - Need to fudge makefile?\n>\n> No; not even autoconf was needed and it installed out of the box\n> for me (w2k).\n\nThat's great to know.\n\n> > - How do I install for personal use?\n>\n> make install would install under whereever you call ~/bin in\n> Cygwin environment, and that is how I have mine.\n\nKewl.\n\n> > - How do I install in /usr/local?\n>\n> I do not think of a reason why \"make prefix=/usr/local\" would\n> not work but I haven't tried it myself so don't quote me on\n> this.\n\nIs cygwin still installable in 2 modes? (Used to be personal and\nsystem-wide or something like that.)\n\nIf that's the case, then in a system-wide install you must be root to\nwrite to /usr/local (I'm guessing here) and there's no sudo or su -c\n'make prefix=/usr/local install' so you'd have to open an admin\nsession. Can cygwin shell be invoked under RunAs?\n\n> > - Anything else I should know?\n>\n> You would probably have great pain if on vfat.  It appears to\n> work Ok on NTFS.  It appears to be quite slow, judging from\n> the way it runs our standard test suite.\n\nThanks! So no vfat. In terms of speed, this should be for a\nsmall/medium project. No linux kernel development on Windows just yet\n;-)\n\nThanks! that's a starting point, though I'm intrigued about the\npackages required. Are there ways to query what packages you have\ninstalled (a la dpkg -l) and to install a list of packages from\ncommandline?\n\nOh, what an ignorant fop I am.\n\ncheers,\n\n\n\nmartin\n"},{"id":"26494","messageId":"20060907072741.GA10652@spearce.org","threadId":"5506","inReplyTo":"7v7j0g40xh.fsf@assigned-by-dhcp.cox.net","subject":"Re: Cygwin playbook?","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-09-07T07:27:41Z","receivedAt":"2006-09-07T07:27:41Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Junio C Hamano <junkio@cox.net> wrote:\n> \"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n> \n> > - What cygwin packages are needed?\n\nI'd have to check tomorrow but I run a pretty reduced set of Cygwin\npackages with Git.  I'm using something around:\n\n\trcs (for merge)\n\tpython (for merge-recursive, though merge-recur is a *huge* win)\n\twish (for gitk)\n\tperl\n\tssh\n\topenssl\n\tcurl\n\texpat\n\t... maybe i missed something but probably not...\n\tmake\n\tgcc\n\tbinutils (sorta necessary to compile!)\n\niirc I build git on Windows with a command as simple as:\n\n\tmake prefix=/usr/local/git NO_MMAP=1 install\n\nI actually have it in a small shell script as I then turn around\nand tar/bz2 that directory and make a Cygwin package out of it for\nother folks at my site.\n\n> > - How do I install for personal use?\n> \n> make install would install under whereever you call ~/bin in\n> Cygwin environment, and that is how I have mine.\n\nI personally don't like the default prefix so I always retarget Git\nto another directory.  This works just fine on Cygwin just like on\nany UNIX system.\n \n> > - Anything else I should know?\n> \n> You would probably have great pain if on vfat.  It appears to\n> work Ok on NTFS.  It appears to be quite slow, judging from\n> the way it runs our standard test suite.\n\nI see odd behavior when its not a locally mounted NTFS filesystem.\nFor example sometimes our SAMBA server (a Solaris system) doesn't\nplay nicely with our XP systems and we get bad error codes back\n(still haven't figured that one out).  We also have what I believe\nis a Windows 2003 server whose drive is mapped onto many 2000/XP\ndesktops; that drive can't properly rename the index file so we\ncan't use it for working directory storage.  Works fine though for\nbare repositories.  Local NTFS has never been an issue.\n\nI see large slowdowns when the number of loose objects >~100.  So I\nrepack frequently.  No, defragging hasn't helped.  Only repacking\nhas.\n\nI just started using merge-recur (export\nGIT_USE_RECUR_FOR_RECURSIVE=1 to enable) over git-merge-recursive.\nIts a huge performance gain.  I'm glad Alex Riesen and Johannes\nSchindelin have put so much effort into it.\n\ngitk has layout issues on Cygwin.  I always whack my ~/.gitk\nfile and then have to resize the window every time it launches.\nPeople have reported this bug in the past but I don't think anyone\nhas taken the time to work it out.  It hasn't annoyed me enough\n(yet) to justify me spending time on it.\n\nGit pretty much works as you would expect; its just somewhat slower\nthan on a good UNIX system.  Maybe its Cygwin, maybe its Windows,\nmaybe its the 4+ year old system its running on.  :-)\n\n-- \nShawn.\n"},{"id":"26496","messageId":"7vwt8g2j7j.fsf@assigned-by-dhcp.cox.net","threadId":"5506","inReplyTo":"46a038f90609070018k319b748cmae7a9b30da45b3b6@mail.gmail.com","subject":"Re: Cygwin playbook?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-09-07T08:07:28Z","receivedAt":"2006-09-07T08:07:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n\n> Sorry to ask this... Are you sure? Vanilla base setup with no extra\n> packages getting gcc and various -dev packages? Perhaps there is a\n> 'developer' profile during install that gets you a reasonable kit?\n\nWhat I meant was \"readily available\", not \"installed by default\". \n\n> About 5 minutes ago I managed to get limited access (non-root, cannot\n> install packages) to a cygwin env using rdesktop. It did have gcc and\n> make, but make bombed out with a missing libcurl and openssl header\n> files. IIRC, diff3/merge isn't in the base install either.\n\nIt is in rcs as usual ;-).\n\n> In debian I can look at apt-cache show git-core to get a quick\n> overview of dependencies but here I'm lost :(\n\nThe packaging was pretty much similar and I could guess from\napt-cache show git-core output indeed ;-).\n"},{"id":"26510","messageId":"46a038f90609070337v4f9f01fbn57015ac7a396b076@mail.gmail.com","threadId":"5506","inReplyTo":"7vwt8g2j7j.fsf@assigned-by-dhcp.cox.net","subject":"Re: Cygwin playbook?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-09-07T10:37:05Z","receivedAt":"2006-09-07T10:37:05Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 9/7/06, Junio C Hamano <junkio@cox.net> wrote:\n> What I meant was \"readily available\", not \"installed by default\".\n\nI imagined. Thanks to all though! What do you think of\nhttp://git.or.cz/gitwiki/WindowsInstall as a starting point? I've\ntried to summarize this thread a bit, and added some of my own notes.\n\nWill update further with learned lessons from helping Kris out with\nhis Cygwin environment.\n\nBTW, sorry about the double post -- I initially sent the 'Cygwin\nplaybook' email, bogofilter bounced it, and I tried again changing the\nwords I thought would be trigger words. Didnt work -- complained to\npostmaster@ and they thawed... both of them...\n\ncheers,\n\n\nmartin\n"},{"id":"26524","messageId":"20060907142226.GA1835@trixie.casa.cgf.cx","threadId":"5506","inReplyTo":"46a038f90609070018k319b748cmae7a9b30da45b3b6@mail.gmail.com","subject":"Re: Cygwin playbook?","fromName":"Christopher Faylor","fromEmail":"me@cgf.cx","sentAt":"2006-09-07T14:22:26Z","receivedAt":"2006-09-07T14:22:26Z","isPatch":false,"sender":{"key":"me@cgf.cx","avatar":null},"body":"On Thu, Sep 07, 2006 at 07:18:10PM +1200, Martin Langhoff wrote:\n>Thanks! that's a starting point, though I'm intrigued about the\n>packages required.  Are there ways to query what packages you have\n>installed (a la dpkg -l) and to install a list of packages from\n>commandline?\n>\n>Oh, what an ignorant fop I am.\n\nThe program which shows what packages are installed is \"cygcheck\" (i.e.,\n\"man cygcheck\").\n\nThe mailing list for Cygwin is mentioned at the Cygwin web site.  You\nmight have more luck with questions like this on the Cygwin mailing\nlist.\n\ncgf\n"},{"id":"26525","messageId":"20060907142344.GB1835@trixie.casa.cgf.cx","threadId":"5506","inReplyTo":"20060907072741.GA10652@spearce.org","subject":"Re: Cygwin playbook?","fromName":"Christopher Faylor","fromEmail":"me@cgf.cx","sentAt":"2006-09-07T14:23:44Z","receivedAt":"2006-09-07T14:23:44Z","isPatch":false,"sender":{"key":"me@cgf.cx","avatar":null},"body":"On Thu, Sep 07, 2006 at 03:27:41AM -0400, Shawn Pearce wrote:\n>Git pretty much works as you would expect; its just somewhat slower\n>than on a good UNIX system.  Maybe its Cygwin, maybe its Windows,\n>maybe its the 4+ year old system its running on.  :-)\n\nIt's likely to be the fact that Windows doesn't support fork or exec\nso Cygwin has to emulate both - slowly.\n\ncgf\n"}]}