You can make the :both task smarter. 

task :both do
  %w(p1 p2).each do  |stage|
     run_locally "cap #{ARGV.map{|a| a=='both' ? stage : a }.join(' ')}"
  end
  exit 0 #don't call any more tasks in this process
end

In answer to your second question there's no way to qualify how many things 
won't be re-evaluated by calling deploy.default in the same process multiple 
times; the more recipes you use the more chances you have for it to screw you. 

Off the top of my head I would think you would see this issue if you attempt to 
set a different deploy_to between stages. 

On Jun 12, 2012, at 1:50 AM, Shrinath M <[email protected]> wrote:

> 
> 
> On Tue, Jun 12, 2012 at 10:47 AM, Donovan Bray <[email protected]> wrote:
> with a clean ruby process. 
> That exactly is my problem - I am passing few custom variables - like "cap -S 
> config=myconf -S svn_repo=staging -S restart_bin=httpserver task_a" 
> Now, if I do as you say, I'll have to pass them all over again, which will 
> re-initiate the whole bootstrapping... Bad, isn't it? That requires lot more 
> re-structuring...
> 
> BTW, what might not work with the accepted approach - deploy.default? 
> 
> 
> 
> -- 
> Regards
> Shrinath M
> 
> -- 
> * 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

Reply via email to