Not sure if this helps, but in the custom strategy I referenced, I have this at the top of the file:
require 'capistrano/recipes/deploy/strategy/remote' You might be able to get away with including this in deploy.rb: require 'capistrano/recipes/deploy/strategy/copy' p. On Sep 2, 2010, at 3:09 PM, Aaron Starr wrote: > > Patrick, > > Thanks for your help, and point taken. > > My problem, probably stupid, is that I'm not sure where to put the > AaronsCopyStrategy definition. Not in the deploy.rb file, because that gives > the error about not knowing what a Capistrano::Deploy::Strategy::Copy is. > > Aaron > > > On Thu, Sep 2, 2010 at 1:33 PM, Patrick Reagan <[email protected]> wrote: > Hi Aaron - > > You may want to use a different approach rather than patching the existing > implementation. You could create your own strategy that inherits from the > Copy strategy and then implement your own command method. For example: > > module Capistrano > module Deploy > module Strategy > class AaronsCopyStrategy < Copy > > def command > ... > end > > end > end > end > end > > And in your deploy file you can set the strategy to user your custom strategy: > > set :deploy_via, :aarons_copy_strategy > > Check out this custom strategy that we developed for ideas: > > http://github.com/vigetlabs/capistrano_rsync_with_remote_cache > > I don't think (hope) the multiple nested directory structure is necessary if > you're just doing a one-off implementation for your project. > > p. > > On Sep 2, 2010, at 2:06 PM, Aaron Starr wrote: > > > Hey, all, > > > > I need to use the copy strategy for deployment, but I need to change how we > > get the latest copy of the code. I'm trying to > > override Capistrano::Deploy::Strategy::Copy.command by putting this in the > > deploy.rb file: > > > > module Capistrano > > module Deploy > > module Strategy > > class Copy < Base > > private > > def command > > @command ||= [...] > > end > > [...] > > > > Clearly, that's not very clever. The error I'm getting is this: > > > > ./config/deploy.rb:115:in `load': uninitialized constant > > #<Class:0x101757b80>::Capistrano::Deploy::Strategy::Base (NameError) > > > > So, is there some way to override that method? Or, some other way that I > > can't see to write my own repository-retrieval, but otherwise keep all the > > functionality of the copy strategy? > > > > Thanks, > > > > Aaron > > > > -- > > * You received this message because you are subscribed to the Google Groups > > "Capistrano" group. > > * To post to this group, send email to [email protected] > > * To unsubscribe from this group, send email to > > [email protected] For more options, visit this group > > at http://groups.google.com/group/capistrano?hl=en > > -- > Patrick Reagan <[email protected]> > > > > > > -- > * You received this message because you are subscribed to the Google Groups > "Capistrano" group. > * To post to this group, send email to [email protected] > * To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/capistrano?hl=en > > > -- > * You received this message because you are subscribed to the Google Groups > "Capistrano" group. > * To post to this group, send email to [email protected] > * To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/capistrano?hl=en -- Patrick Reagan <[email protected]> -- * You received this message because you are subscribed to the Google Groups "Capistrano" group. * To post to this group, send email to [email protected] * To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano?hl=en
