Jeff Dean's blog
Moving from Subversion to Git
We recently moved our project from subversion to git, and so far the move has gone very smoothly. The following post will detail what we did to make the move.
Our setup
For this project there 2 pairs working and we have 6 machines and one hosted service:
- Two Mac OSX workstations with IDEA
- One continuous integration server running Cruise Control
- A staging server running a 2-year old version of Ubuntu
- A subversion server
- A production server hosted on Engine Yard
- A Github account with the ability to create private repositories
The goal was to have one pair continue to work while the migration from svn to git was happening.
Helps
What is capistrano multistage?
- A plugin that allows you to store environment-specific variables in different files, and specify a default environment
- It's been on tracker for a while and seems to be stable
- Other options are just specifying your environment-specific variables within separate tasks - keeping everything in one file
Interesting Things
When you specify a gem from a custom source, and it has dependencies on a separate source, you need to list both sources in geminstaller.yml.
This comes up when you are installing a gem from github and that gem depends on other gems from rubyforge. You can specify multiple sources by adding more --source attributes.
Interesting Things
When using standard rails partials you always have a local variable named _counter. In previous versions of rails, the partial_counter variable was set to 0 when you passed an object, and set to 1 for the first item in a collection. Now it appears to start at 0 whether you pass an object or a collection.
Brian Takita has begun work on chaining doubles in RR







