capistrano: Do not load SCM tasks unless an SCM is defined
Related to #718 and a handful of other issues which relate to deploying without an SCM, unloading the SCM, deploying via copy, tar ball, BitTorrent or quantum entanglement.
I propose, based on the work done in #718 to only load the flow, that without set(:scm, “something”) we should not load an SCM at all.
I propose that we could solve this by doing runtime class resolution, and autoloading of files incase a class is undefined, which may mandate changes to the structure of the SCM code. In that case we would still load the git namespace from git.rake (and others) - but avoid, if possible inserting the tools, which we could do in an include or similar hook in git.rb
About this issue
- Original URL
- State: closed
- Created 10 years ago
- Comments: 32 (22 by maintainers)
Commits related to this issue
- Prevent tasks from being loaded twice We want to set the `:scm` to `:rsync` to prevent loading the default SCM deploy tasks. Capistrano will auto-load the SCM in 'capistrano/setup'. By setting the `... — committed to torjusb/capistrano-rsync by torjusb 10 years ago
- Prevent tasks from being loaded twice We want to set the `:scm` to `:rsync` to prevent loading the default SCM deploy tasks. Capistrano will auto-load the SCM in 'capistrano/setup'. By setting the `... — committed to donbobka/capistrano-rsync by torjusb 10 years ago
- Prevent tasks from being loaded twice We want to set the `:scm` to `:rsync` to prevent loading the default SCM deploy tasks. Capistrano will auto-load the SCM in 'capistrano/setup'. By setting the `... — committed to donbobka/capistrano-rsync by torjusb 10 years ago
Capistrano 3.7.0.beta1 has been released! 🎉
This version brings a new SCM plugin system, and notably for observers of this thread, it adds
set :scm, nilto disable SCM behavior completely. You can read more about the new behavior here:After almost 3 years, I can now say that the feature is complete and I am closing this issue. Please test the beta and send us feedback!