Rails premieres on GitHub

Posted by David April 11, 2008 @ 01:45 PM

GitHub has now officially launched and Rails is right there at the premiere. The Rails repository now lives at rails/rails and you can check it out with:

git clone git://github.com/rails/rails.git

If you don’t have git, or don’t enjoy running it on your platform, you need not fear. We’ve set up an automated task to produce a zip file of Rails Edge that’ll be kept up to date all the time: http://dev.rubyonrails.org/archives/rails_edge.zip. This is also what we’ve made the new rake rails:freeze:edge use.

This also means that development on the Subversion repository has stopped and will no longer be kept up to date. We’ll keep the Subversion repository around for some time for people to transition off svn:externals, though. But if you want the latest edge, you’ll have to use either git or the new zip files.

We’ll also soon go live with our new ticket management system, which will be running on a new version of Lighthouse. When that happens, the Trac installation will follow the Subversion repository into legacy. We’ll still keep it around so we can work through all the patches and tickets that are there, but everything new will happen on the Lighthouse setup.

We hope you’ll enjoy this upgrade to the Rails collaboration infrastructure. We’re really looking forward to the onslaught of marvelous patches that the Git lords have promised us will flow from the mountain now.

Posted in Edge | 41 comments

Comments

  1. Gerardo Santana on 11 Apr 15:36:

    Will the additional ActiveRecord adapters move to git also?

  2. David Waite on 11 Apr 16:03:

    Will subversion eventually be updated so that there is an easy way to upgrade from rails edge in svn to rails edge zip-from-git? Do I have to grab the zip and do it manually if I want to follow things between now and 2.1?

  3. DHH on 11 Apr 16:41:

    Gerardo, yes, we’ll move everything over. Including the plugins.

    David, you can probably just do it manually. All it takes is to extract the zip to vendor/rails and you’re good to go.

  4. Trevor Turk on 11 Apr 17:13:

    Just out of curiosity, why did you choose to not keep the Subversion repo up to date with git-svn or something similar?

  5. Erik Petersen on 11 Apr 17:16:

    Thanks for, well, nothing.

  6. DHH on 11 Apr 17:27:

    Trevor, because it would add no extra benefits from what’s available with the zip bundles. And it would add more chrome. Eventually, we’ll drop the Subversion repository entirely.

    Erik, what a wonderful way to express your support for the people who are bringing you software free of charge. I’m sure it’ll warm all the contributors hearts to know that their long nights and tireless work is going to please people like you. Thanks buddy!

  7. elliot on 11 Apr 17:32:

    Congratulations on moving to a distributed version control system, it really is the way of the future.

  8. Sean Ouimet on 11 Apr 17:33:

    People who are tracking their own rails-based apps with Git may want to know about sub-modules. This feature allows an external git repository to be “linked in” to their main project without the code needing to be duplicated into their app’s central repo (such as github). This may help in keeping up to date with edge rails, or can be tied to a certain version.

    From the root folder of your already git-ified rails project: git submodule add git://github.com/rails/rails.git vendor/rails git commit -a “Added Rails as a submodule.”

    After cloning or pulling a project that has applied a submodule: git submodule init git submodule update

    To lock to a certain revision or tag: cd vendor/rails git checkout tagname (or git checkout branch_name)

    Whenever you change the revision of a submodule (by pulling updates), your main app will have updated its reference so other repos of your app (once pulled for the latest code) will know it is time to update too.

    My constant coughing during the writing of this may not have helped clarity, so here’s two webpages that talk about this (but be careful, their examples use either a different plug-in, or a different URL for the rails source): http://woss.name/2008/04/09/using-git-submodules-to-track-vendorrails/ http://robsanheim.com/2008/04/04/zero-to-a-fully-git-enabled-rails-app-in-the-time-it-takes-to-drink/

  9. Sean Ouimet on 11 Apr 17:36:

    Sorry my last comment didn’t quite format correctly. Be sure to check out one (or both) of the articles to learn it correctly.

  10. Steve Kroeker on 11 Apr 17:59:

    What about us Windows people? GIT sucks under Windows! I can’t tell my bosses that we need to change to GIT or I’ll get fired. I guess they’ll have to look at Python after I get fired…

  11. Ryan Heneise on 11 Apr 18:04:

    DHH, don’t let Erik get you down. I for one am really happy to see Rails moving to Git, and especially to Github. For me, Git has been the biggest process breakthrough since I started using Rails.

    So, thanks for, well, a lot. You guys are true open-source heros.

  12. matt on 11 Apr 18:05:

    @steve vmware is your friend, just don’t develop on windows.

  13. Steve Kroeker on 11 Apr 18:13:

    Thanks Matt, but the last guy got fired for buying a bunch of VMware licenses just before it was released for free!!! Oh, I’m just doomed…

  14. Josh Owens on 11 Apr 19:13:

    David,

    I probably don’t say this enough, but thank you for writing rails. Thanks goes to all of the core alumni and current members. Without you guys, I would probably be doing something boring like fixing PCs or writing PHP.

    Your efforts have spawned a whole industry for me to work and interact in.

    P.S. I do love git, so things are even better now :)

  15. Horst on 11 Apr 20:13:

    Thanks for your great work.

  16. Chris on 11 Apr 20:22:

    git : svn :: rails : java

    Thanks guys!

  17. austin_web_developer on 11 Apr 20:40:

    Sucking it all down right now … on a windows box no less :)

    I don’t know why anyone would say git on windows sucks … been using it for about a week now … it rocks

    http://code.google.com/p/msysgit/downloads/list

  18. Mark on 11 Apr 21:04:

    http://www.viget.com/advance/the-customer-isnt-always-right-but-the-customers-are-always-right/

    Seems to be a lot of Mrs. Crabapples coming out of the woodwork recently. It’s time to do like Herb Kelleher and just fire them.

  19. Michael Klishin on 11 Apr 21:06:

    Comments on commits is going to be helpful, definitely.

  20. Tekkub on 11 Apr 22:29:

    “We’ve set up an automated task to produce a zip file of Rails Edge that’ll be kept up to date all the time” You guys do realize github has tarball downloads right? Rail’s master would be: http://github.com/rails/rails/tarball/master

    git-archive does zip as well, if you really want zips instead of tarballs then comment in the ticket: http://logicalawesome.lighthouseapp.com/projects/8570/tickets/42-per-repo-option-for-download-format

    And, lastly, for those crying that git is **it on windows, try msysgit (linked 2 comments up), it works wonderfully.

  21. Dag on 12 Apr 01:19:

    How is this zip different from http://github.com/rails/rails/tarball/master except being a zip and not a tarball?

  22. DHH on 12 Apr 03:16:

    Dag, that’s the difference.

  23. Bryce on 12 Apr 04:16:

    Will there be a freeze:edge that uses Git, for those of us that have git support?

  24. Jim on 12 Apr 05:46:

    Change is always painful, but I think your move to Git is a good one. I picked up the Git basics in just a few hours and already find it much nicer than svn.

    Thanks so much for your work!

  25. Erik Petersen on 12 Apr 06:58:

    DHH: Sorry you are offended. My point is that Rails is a constantly moving target. And now I have to go from a tried and true SCM that I’ve been using for years to one I’ve never heard of up to about 2 weeks ago and I one I suspect very few mainstream developers outside of the rails community have heard of either.

    All of the docs, the wiki, the books are now obsolete and for what?

    Perhaps the rational for the change hasn’t been explained enough for me to understand why this fundamental change was thrust upon us in a matter of days without any forewarning.

    To me it’s just an extra barrier to entry and serves only to keep Rails on the fringe of web development.

    If I haven’t said so before, thank you for everything you and all of the developers in the Rails community have done. I love rails and I’ve spent countless hours pushing it as the go forward platform. Now I just have to convince everyone here that they need to change the SCM we’ve been using for years to something entirely new as well.

  26. karmi on 12 Apr 10:13:

    @Eric, there’s been discussion, screencasts & articles about why Git is superior to SVN going for about a year or so! Apart from that, you’re free to use SVN for tracking your own development with no problems. (Even when it’s not clear why you’d want to :)

    Re: something entirely new—Was your decision to move from PHP/Java/ColdFusion/etc to Rails (thus: radically changing development platform) easier or harder to do than switch version control system? :)

    Karel

  27. Richard Heycock on 12 Apr 13:45:

    Erik, I have to agree with karmi git has been about for a fair amount of time. The Linux kernel has been using for almost exactly three years: http://en.wikipedia.org/wiki/Git_(software)#Early_history

    The reasons, I assume, that the rails team have moved over to git are almost certainly many fold but the obvious is that a decentalised model is far superior to a centralised model. Yes it might take a while to understand and appreciate the differences but, truely, it is better. I suggest you watch Linus Torvalds google presentation on why. You might want to watch Randal Schwatz’s talk to give you a more detailed understanding of how you might use git.

    Just because you only heard about it ”... about two weeks ago… ” doesn’t mean it should be used.

    “All of the docs, the wiki, the books are now obsolete and for what?” I have to say this is a very weak argument. Should we not more to something that is clearly superior just because there are existing documents that are rendered out of date? In addition to this how much of the existing literature concentrates on the version control system, lets face it not much.

    To offer a banal analogy: should be not have moved to the motor car because we were used to horse and traps. No.

    I suggest that you take the time to embrace this change and use it to your advantage. It may take a bit a brain power but surely that isn’t a bad thing. You might even find that you like it.

  28. Erik Petersen on 12 Apr 15:52:

    Again, sorry for sounding ungrateful. I’m frustrated by a constant pace of change I can’t seem to get ahead of.

    @karmi: Actually the transition from PHP was remarkably easy. All my PHP scripts (about 90% of the code for my sites) just lives in the /public directory and works per normal. The URLs which don’t map directly to real files, /foo for example, get redirected to their actual .php script URLs and everything else gets passed to a mongrel cluster by default where it gets handled by rails or generates a 404.

    @Richard: Thanks for the advice. I’m sure my life will be richer for the change, eventually. I will follow your advice and do some research.

  29. Jeremy McAnally on 12 Apr 15:58:

    Erik: If you find the pace too fast, then don’t try to stay on edge. That’s why there are “stable” releases rather than a constant flurry of edge releases.

    If you’re a Rails contributor, then perhaps you should be glad it moves so fast. :)

  30. Johannes Gilger on 12 Apr 19:18:

    If you’re whining about git sucking on windows you should try using cygwin and compiling git directly. Youll notice no difference to Linux imho.

  31. Timothy Johnson on 13 Apr 01:38:
    Erik: The gist of the conversation is this
    • If you aren’t a Rails Core member, it won’t affect you.
    • The only people it affects are people making patches and contributions to the core code.

    Steve also: This will not affect your current decisions and day-to-day development in the SCM your shop has standardized on.

  32. karmi on 13 Apr 14:44:

    @Eric: I can understand the sentiment, of course. But be prepared for some real joy when you may finally switch to git. And not (only) the obvious features stemming from distributed nature, etc. Expect something like git add ./images which just adds the new files and doesn’t whine “images is already under version control” like SVN. That makes you really smile. :)

    For the “too fast pace” topic: I am glad Rails is moving forward. Like Matz said at Euruko (http://www.euruko2008.org/system/assets/documents/0000/0010/matsumoto-ruby-past-future-and-present-euruko08.pdf), open source should move forward or die .)

  33. Paul Campbell on 13 Apr 18:09:

    For what Subversion and Trac were worth, I loved them.

    But to see Rails move to github / Lighthouse, two of the best production Rails-based services out there, make sense and it’s a proud moment for me to see the framework follow the people (Chris, PJ, Tom, Rick, Justin) who actually go out and do amazing things both in contributing to Rails, and building applications that both match the hype and adere to the surrounding philosophies.

    It’s onward and upward from here.

  34. stephen paul suarez on 14 Apr 18:08:

    great to see rails always moving forward.. i think having a good arsenal is also a big part of what makes or breaks an application.. for guys as elite as the makers of rails, i don’t think there will be any rough corners..=) hope this leap makes you guys collaborate much better.. thanks for all the hard work!

  35. Sam Granieri on 14 Apr 22:21:

    The move to git (with github and lighthouse) has been completely awesome.

    Git’s been one of the best tools i’ve learned as a programmer.

    I’ve noticed that prototype/scriptaculous/capistrano have been moved out of the subversion repo and into their own github accounts, but what about the core rails plugins, actionwebservice, and all the other stuff?

    Lastly, if Geoff Buesing has commit access, how come he isn’t up on the rails core page?

    Keep up the excellent work!

  36. Jon Egil Strand on 14 Apr 22:53:

    Friends, devs, rails-users, everyone

    Congrats on moving to git, it’s great for rails and has the potential of really energizing the developing community.

    @dhh – even though you disagree with people, it’s really not nice to bash them. As the rails man, your statements are so much more powerful, and really set the tone for the whole community. Please lead by example in community management as you already have done in coding. Everyone will benefit.

    All the best, and again, congratulations!

  37. Brent on 17 Apr 13:43:

    I created a t-shirt celebrating the move at http://gitrails.spreadshirt.com . Maybe we could get Threadless to done as well.

  38. George on 18 Apr 02:24:

    Aptana is considering building in GIT support to their eclipse based rails/ruby IDE. You can vote for this feature on their issue tracker if you’d like to see this happen http://support.aptana.com/asap/browse/ROR-801

  39. Arjun on 18 Apr 07:18:

    Hi Guys, Whenever I try to download the Zip file from the above link http://dev.rubyonrails.org/archives/rails_edge.zip, I just get a 0k file. Any one else facing the same prob?

  40. Dodo on 18 Apr 20:19:

    Bleh

  41. Qertoip on 20 Apr 09:16:

    Arjun: I have the same problem. The http://dev.rubyonrails.org/archives/rails_edge.zip file seems to be 0-length.