If the number of blank lines in a Subversion working copy is odd, Rails::Generator::Options::ClassMethods#add_general_options! will fail with the following backtrace:
$ ruby script\generate migration -tc AddGamesAndCategories1
odd number of arguments for Hash
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:130:in `[]'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:130:in `add_general_options!'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:130:in `call'
C:/ruby/lib/ruby/1.8/optparse.rb:1308:in `order!'
C:/ruby/lib/ruby/1.8/optparse.rb:1266:in `catch'
C:/ruby/lib/ruby/1.8/optparse.rb:1266:in `order!'
C:/ruby/lib/ruby/1.8/optparse.rb:1346:in `permute!'
C:/ruby/lib/ruby/1.8/optparse.rb:1373:in `parse!'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:89:in `parse!'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:85:in `initialize'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:85:in `new'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../options.rb:85:in `parse!'
./script/../config/../vendor/rails/railties/lib/rails_generator/scripts/../scripts.rb:19:in `run'
./script/../config/../vendor/rails/railties/lib/commands/generate.rb:6
C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__'
C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
script/generate:3
The solution is to do a compact before flattening the array.