Why Git won't mean Rails snubs Windows

Posted by David April 03, 2008 @ 11:07 PM

There seem to be some confusion over what the core development of Rails on Git will mean to Windows users. The simple answer is: Absolutely nothing. But let me give you a slightly more involved answer:

  • rake rails:freeze:edge will still work. We’ll make it use either zip or tar.gz files. It’ll actually be even better as it won’t even require a SCM to work.
  • Tickets will still accept regular patches that you can create with any diff tool.

So this will mean no difference to users of Rails and it’ll mean no difference to developers of Rails. What it will mean is that people who are interested in using Git (which again does come in a variety of flavors for Windows despite not being as well-supported as on nix) will get some value-added features in form of easier branching and the other Git goodies.

If you’re freaking out, calm down. Rails and the developers behind it have snubbed Windows far, far worse in the past :). The original release of the framework didn’t even run on Windows. This move to Git is not a snub.

40 comments

Comments

  1. Doodler on 03 Apr 23:31:

    Most of the complaints are from: religious freaks who believe their way is better than others’ (no really affecting their usage of Rails); And those who think they need git to use Rails.

    If you are a professional and still using Windows for development (and good lord—deployment), remember that you are always dealing with a retrofit. You are aware that the core team uses *nix and staying close to that will lessen your problems.

  2. JMonroe on 04 Apr 00:54:

    I was actually pretty happy with the idea of a snub. I like to see that you are willing to get rid of the boat anchor when necessary. Of course, you aren’t getting rid of the boat anchor but, it isn’t a very heavy anchor anyway.

    Any developer that thinks they need to be able to check out the project directly needs to realize that they are a developer and dual-boot that box of theirs if required.

  3. David on 04 Apr 01:55:

    For those who need a push to move to Git, checkout this talk by Linus Torvalds http://nz.youtube.com/watch?v=4XpnKHJAok8

    Although this change has no affect on SVN users, it’s pushed out a good message which will hopefully at least see SVN users taking a peak at Git.

  4. srmoon7 on 04 Apr 02:54:

    Translation: It’s not a snub, we never liked you anyway.

  5. Chuck on 04 Apr 03:24:

    Stop lying. We all know every rails developer is a smug asshole.

  6. Richard on 04 Apr 03:59:

    I found these useful:

    Linus Torvalds on Git http://www.youtube.com/watch?v=4XpnKHJAok8#

    Randal Schwartz on Git http://www.youtube.com/watch?v=8dhZ9BXQgc4#

    Git with Rails and Capistrano http://www.vimeo.com/369095

  7. ironman on 04 Apr 04:00:

    “The original release of the framework didn’t even run on Windows.”

    Restore that state and all complains will go away immediately. (ahh, you are already started the process by making Windows developers life harder, nice trick :)

  8. Richard on 04 Apr 04:01:

    ...and this one for svn deserters:

    git-svn Tutorial http://utsl.gen.nz/talks/git-svn/intro.html

  9. ironman on 04 Apr 05:01:

    Another quickstart: http://linux.yyz.us/git-howto.html

  10. LOL on 04 Apr 05:09:

    Git is a wonderful tool, I agree. But why not mercurial? Mozilla and Sun went that way (+all the platform; – deps on python; = speed the same)

  11. Daniel on 04 Apr 06:11:

    Thank you David, for the clarification. I was one of the complainers on the previous post, mostly because I thought rails:freeze:edge would be Git-dependant.

    It’s great to see that with this post and the PHP-post on your private blog, you’ve showed a side of yourself that has sometimes been overshadowed by your more provocative posts. Now it will be much more entertaining when you use your ranting style again, since I’ll know it’s just style.

    (Too bad many of the commenters haven’t catched this new attitude.)

  12. Tekkub on 04 Apr 08:22:

    msysgit works wonderfully for me, in fact I like it a bit better than git on my linux box… but only really because Windows’ GUIs always seem a bit more polished looking. Functionally they’re the same, except git-svn doesn’t work for me on msysgit (no big loss there though!)

    Very happy to see rails move to git.

  13. Nick Poulden on 04 Apr 08:25:

    4 steps to using Git on Windows: http://ie.brokethe.net/2008/3/19/git-on-windows

  14. Hallenbeck on 04 Apr 08:28:

    Kudos to David for clarifying the situation so quickly. But, wow, the level of childish, ignorant jabs in the comments has reached new heights here. Tone down the smug, sneering attitudes, guys, you’re letting yourselves down.

    To those who like the idea of a snub, get your heads out of your tiny little elitist asses. Beyond that… well, words really do fail me. Did you know you’re giving the good, kind, rational and intelligent folks in the Rails community a bad name? Really disappointing to see the trolls have so badly infected this community.

    And besides all that, msysGit is working just fine for me on Windows for me. So what’s the problem here?

  15. bustaa on 04 Apr 08:51:

    And don’t forget to mention the non-existing IDE “integration” (NetBeans,Eclipse).

    Stupid move ! But hey that’s what you get when you want to be cool instead of intelligent !

  16. Nazar on 04 Apr 08:56:

    The sooner you develop Rails on Linux (as opposed to Windows) the happier you will be.

    Ruby’s performance is terrible under windows.

    Linux Ruby inside VMWare on Windows is faster than native Windows Ruby.

    Starter guide here: http://panthersoftware.com/articles/view/2/rails-unit-testing-is-slow-under-cygwin-and-windows-solutions-alternatives

  17. Sb on 04 Apr 09:19:

    Bustaa… what if using git makes you cool AND intelligent?

  18. Bill on 04 Apr 11:36:

    I use command line git in Vista, what’s the big deal? Doesn’t seem like snubbing to me. I like svn better only because I use it for more projects.

  19. justinkadima on 04 Apr 12:08:

    Git works now on windows very well,so all of those complaining about this issue, stop doing it! Do a Google search,update your installation and everything will be ok.

  20. leethal on 04 Apr 13:41:

    This is starting to look like YouTube comments.

  21. Bobnation on 04 Apr 14:41:

    Thank you Dave for the quick response.

  22. James Harrison on 04 Apr 16:31:

    I’m a Windows Rails developer. I’ve used Windows ever since 3.1. I hate it. But some of us are stuck here- there’s a plethroa of applications that aren’t Rails I use every day which I cannot do without. For many people, migrating to OSX or Linux is impossible or just too difficult.

    It’s important that Rails supports Windows developers, because by and large we’re not here by choice. I am aware the Rails developer community is mostly *nix, and I work with *nix all the time- I develop on Win32 and then deploy to my Redhat server boxes. But till such time as Windows apps like 3D Studio MAX become available on OSX or Linux there won’t be an upgrade path for many of us.

    Without good support for all OSes, Rails is cutting itself off from more developers.

    Another good point which has been made regards tools. I currently use TortoiseSVN for my projects, and have no intention to upgrade to Git. I’ve got no reason to need to- SVN works great. All of my tools- Eclipse, e, and Netbeans- all support SVN and have it integrated at a very deep level. Git support is nowhere to be found in any applications. Need I point out that Github is one of just 4 web-based services for Git hosting, and heaven help you if you want a Warehouse equivalent for Git- no such thing exists. I think my question to the Rails developers who made this choice would have to be: Why?

  23. Jeremy Kemper on 04 Apr 16:35:

    James: again, this is for development on Rails itself, not development of Rails applications. You are completely, thoroughly, utterly unaffected.

  24. Phil on 04 Apr 17:04:

    I’ve used Windows ever since 3.1. I hate it. But some of us are stuck here

    [...]

    Without good support for all OSes, Rails is cutting itself off from more developers.

    More developers that don’t know how to use virtual machines, you mean?

  25. Keith on 04 Apr 17:13:

    Certainly a big change for the project. Not sure how it actually impacts, as David said, the average (if that term is appropriate even) RoR developer.

    It sounds like people who are merely using the framework aren’t going to feel or see any change. It’s the folks who are contributing the development, etc. that’ll see changes. If you’re that advanced, I don’t understand why IDE integration, or OS dependency is a core issue.

  26. James Harrison on 04 Apr 17:41:

    Jeremy: I am aware this isn’t going to affect application developers. But it will affect those people who are on Windows and want to contribute to the project.

    Phil: Virtual machines are hardly an optimal way of working. If a project requires me to use a Virtual Machine to contribute code (I know Rails isn’t going to, but hypothetically speaking) I would probably go and contribute code to a project that didn’t require this of me. It’s a matter of convenience.

    So long as all the subversion repositories will keep letting me do up-to-date exports/externals for plugins and edge:freeze, I’m happy- if this makes life easier for core developers, I’m all happy for it. But if this support goes away in favour of a purely git-based solution, then there’s going to be major problems for Windows-based developers of Rails apps.

    As Keith said, it’s a big change, and I’m just surprised it happened so quickly (Next to no notice that the entire Rails core project was moving both SCMs and issue trackers away from what everyone’s used for years).

    I guess my innate question is; why move? What was wrong with svn/trac?

  27. Nathan on 04 Apr 17:54:

    James, what’s to keep a windows developer from contributing to the framework. Make a change, watch it work, and send it a diff. If you can’t do that on windows you should be using it.

    Everyone tell me this: how has the core team using svn helped you use rails?

  28. ctran on 04 Apr 17:56:

    For those who keep aksing why, check out

    http://www.youtube.com/watch?v=4XpnKHJAok8
    http://rob.cogit8.org/blog/2008/Mar/14/i-can-haz-hardcore-forking-action/

    There’s a legitimate reason for opensource projects to be using a distributed version control system (Github just made git standanding out). It’s just not the same after you tasted it.

    Have an open mind, try and experience it yourself. The same mind that made you tried Rails itself.

  29. Paul Watson on 04 Apr 19:34:

    Here’s a pretty good comparison of the different strengths of git and svn:

    http://git.or.cz/gitwiki/GitSvnComparsion

    Personally, since doing my first git merge I haven’t started a new svn repository. And as soon as I get some spare cycles, I’m switching all the svn repositories at work to git.

  30. Phil on 04 Apr 20:01:

    If a project requires me to use a Virtual Machine to contribute code (I know Rails isn’t going to, but hypothetically speaking) I would probably go and contribute code to a project that didn’t require this of me.

    It’s not that Rails requires you to use a VM; it’s that $WINDOWS_PROGRAM does. If you hate it so much you owe it to yourself to at least try to make the switch, running your one edge-case-not-yet-ported app in a VM.

  31. Alex on 04 Apr 23:07:

    In summary any decent developer should be able to switch between OSX, Windows and Linux with only minor differences in their work output.

    There is a difference developing say on netbeans on windows and netbeans on linux (linux is faster), but the difference is not that huge.

    As for speed of ruby, if your writing rails apps, in development mode there’s usually one user … you. Again not really an advantage.

    Deployment, ok vlad only works on linux, but capistrano works on both easily.

    Setup in windows for a web-developer does have some huge advantages, like being able to nativly run internet explorer (most people still have to write for ie6), unlike osx/linux where you have to have entire virtual machines to do it.

    Large corporations, like the one I work for, don’t give you the freedom to choose what OS to use… and it doesn’t bother me that much.

    I think the change to Git is a good thing and don’t think that it affects windows developers contributing.

    However all the comments along the line of “You must be crap because you develop in windows.. sometimes” really get annoying after a while.

  32. Mich on 05 Apr 00:37:

    Truthfully, rails is snubbing all environments. From my experience, it should be called snails. I can whip up web apps faster using PHP, Javascript, XML, and xsltproc. The only platform it seems to work on baseed on all the ”.mov” videos out there is Apple (wich is really a toy and not a real platform). After a core dump and having to modify postres.c and recompile to get over than, and then another error when using rails—freeze which I was using to debug an issue and wanted copies of the framework to the last straw where stcript/generate scaffold came back with wrong number of arguments (1 for 2) I trashed the entire directory tree and started over (with lots of apologies to my boss and the ops guys). This entire framework is a joke.

  33. AkitaOnRails on 05 Apr 00:46:

    For DHH, after reading all comments here and in the original post, I would say: “Remember Kathy Sierra”!

    You know this move is spot on not when everybody agrees, but when both sides agree and disagree passionately, which is what’s happening here!

    “The iPhone Sucks!”, “The iPhone is way cool!”. Bottom-line: it is a success. Rails is the same thing. And as Steve Jobs would remind us, “Stay Hungry. Stay Foolish”.

    Cheers.

  34. Ferdinand on 05 Apr 13:57:

    Mich: Bye, we wont miss you.

  35. leethal on 05 Apr 23:05:

    @Mich: Your insight dazzles me.

  36. heycarsten on 06 Apr 07:42:

    @Mich: You are completely right, Rails is actually extremely complex and troublesome. It was created to infuriate individuals such as yourself. Only design-savvy (often Danish) people running Apples can use it without any complications.

  37. Luis Lavena on 06 Apr 16:44:

    @Nazar: for you, enjoy:

    http://pastie.caboo.se/pastes/175928

    Black MacBook, 2.2Ghz, 4MB cache, 2GB RAM, OSX 10.5.

    Same hardware, running Windows XP SP2 (BootCamp).

    MinGW build is upcoming One-Click Installer.

  38. TheJoKeR70 on 08 Apr 17:13:

    @Mich: <- A “know it all” that jacked with the framework, broke it and then blamed it on the framework to make himself look smart for his peers. Don’t stick your finger in it if you don’t know what you are doing.

    @Alex: I am in perfect agreement with you. I also work with a very large enterprise company that uses both .NET and JAVA in their technology stacks. Almost all developers work on the Windows platform (unfortunately).

    As for working with Ruby and the Rails framework on a Windows platform, no complaints here. I use Linux for my versioning, deployment, testing and production systems. All code is checked into a *nix environment where an automation then checks the code out and runs the unit tests on a nightly basis and before production pushes. Development happens on Windows using CYGWIN and the e-texteditor. Why all this you say? Because it works.

    Would love to spend the $2k or $4k on a Mac system, maybe when I win the lottery or make my first mil. Till then, this works just fine for me.

    GIT is a better alternative to SVN IMHO. I am glad to see the grounds keepers of RoR working with it. I have only started using it and am pleased with it so far. When I have the time available I will be switching my *nix environments over to GIT repositories (long weekend with nothing else better to do).

  39. hachaboob on 09 Apr 09:58:

    Windows is a great webdev platform now that it has the 3 major browsers (IE, Firefox and Safari)!

    ;)

  40. why on 10 Apr 22:21:

    ... end it all