Use a more modular approach to working with SCM's. Git is especially under-represented which is silly due to it's popularity.
Would also like to represent a cached copy of the remote repo locally and copy from there. This is similar to a typical Capistrano repo. Currently it clones a fresh copy for a normal deploy, for each release, which can be painfully slow.