Upgrading to the latest stable Rails 2.3

If you're running into this issue you may want to upgrade to the edge version of Rails 2.3. As of 7/23 a new stable release hasn't been come out yet with the fix for this issue, so freezing your app to the 2-3-stable branch is the best way to resolve it. If you're using Git as an SCM, here's how to upgrade:

First, we'll need to add the Rails repository as a remote.

git remote add rails git://github.com/rails/rails.git

If you have not vendored rails (your vendor/rails directory does not exist), run:

git fetch rails refs/heads/2-3-stable
git merge --squash -s ours --no-commit FETCH_HEAD
git read-tree --prefix=vendor/rails -u FETCH_HEAD

If you've vendored rails, run:

git fetch rails refs/heads/2-3-stable
git merge --squash -s subtree --no-commit FETCH_HEAD

At this point, you may run into some merge errors that you'll need to resolve. The most common one seems to be a problem with updating a symlink, which can be resolved like so:

mv vendor/rails/actionpack/test/fixtures/layout_tests/layouts/symlinked~rails_2-3-stable vendor/rails/actionpack/test/fixtures/layout_tests/layouts/symlinked

Once git status isn't showing any merge conflicts, add the revision in and commit as normal, and you're upgraded!

touch "vendor/rails/REVISION_$(git rev-parse FETCH_HEAD)"
git add vendor/rails/REVISION_*
git commit -m "Upgraded to 2-3-stable"