capistrano/capistrano — pull request #906 by arvenil (2014-01-23 22:49:29+00:00)
Title: Allow overwrite scm tasks

This patch is to allow overwrite scm tasks.

Thanks to this changes we can do something like that:
```ruby
Rake::Task["deploy:check:scm"].clear
Rake::Task["deploy:create_release"].clear
Rake::Task.define_task("deploy:create_release") do
# do something
end
```

Without those changes we can't overwrite scm tasks as they are loaded dynamically with `load "capistrano/#{fetch(:scm)}.rb"` https://github.com/capistrano/capistrano/blob/master/lib/capistrano/setup.rb#L16

so with something like that

```ruby
Rake::Task["#{scm}:check"].clear
Rake::Task["#{scm}:create_release"].clear
Rake::Task.define_task("#{scm}:create_release") do
# do something
end
```

We get error:

```sh
cap aborted!
Don't know how to build task 'git:check'
```