"script/plugin install -x" doesn't work on Windows when Subversion working copies use _svn instead of .svn for admin directory names. This patch changes the behavior of "script/plugin install -x" to match that of Subversion.
See http://svn.collab.net/repos/svn/trunk/notes/asp-dot-net-hack.txt for full details.
NOTE: The line
ommands::Plugin.parse!
at the end of railties/lib/commands/plugin.rb caused any require of the file to execute the parse. Since this behavior prevented bringing under test any of the classes in the file, I moved virtually all of railties/lib/commands/plugin.rb to railties/lib/commands/lib/plugin.rb. Although it's a large change, it's worth it to foster testability.
As the railties unit tests on edge are quite broken at the moment, I ran the tests that I added like so:
vader:~/work/rails/railties craig$ ruby test/commands/lib/plugin_install_test.rb
vader:~/work/rails/railties craig$ ruby test/subversion_helper_test.rb