This is what I do for something similar.  You can just change the
reference to tags to branches.  No hard-coding of branches is
necessary as you will be prompted.

desc "Specify tag to pull - defaults to Head revision if no tag is
specified"
task :before_update_code do
  set :svn_tag, Proc.new{Capistrano::CLI.ui.ask('Tag to deploy - press
enter to default to head:')}
  if "#{svn_tag}".strip.empty?
    set :repository, Proc.new{"--no-auth-cache --username
#{svn_username} " + "https://path/to/repo/trunk/projects/IDS"}
  else
    set :repository, Proc.new{"--no-auth-cache --username
#{svn_username} " + "https://path/to/repo/tags/#{svn_tag}"}
  end
end

On Jul 1, 9:47 am, "Jonathan Share" <[EMAIL PROTECTED]> wrote:
> On 7/1/08, Jonathan Weiss <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> >  Jonathan Share wrote:
> >  > On 6/25/08, rko618 <[EMAIL PROTECTED]> wrote:
> >  >>  I'm not sure what SCM you are using but I know with Git you can use
> >  >>  this option in deploy.rb to specify the branch
>
> >  >>  set :branch, "master"
>
> >  > Are there any pre-baked solutions for this in other SCM's (subversion,
> >  > for example)?
>
> > Just have a seperate branch that you deploy:
>
> >  # in prod
> >  set :repository, "https://www.example.com/svn/branches/stable";
>
> >  # in staging
> >  set :repository, "https://www.example.com/svn/branches/stable";
>
> >  # in testing
> >  set :repository, "https://www.example.com/svn/trunk";
>
> Maybe I just do things differently to everyone else. My general
> release workflow is
>
> 1) During general development, work on trunk, regular deployments from
> trunk to the test server for QA testing.
> 2) At some point of maturity create a "frozen" branch
> branches/releases-<releasename> deployments to test are now done from
> this branch and devs can go wild on trunk
> 3) When QA has approved the frozen branch release from that branch to
> production (tagging afterwards).
> 4) We revert to deploying trunk on the test server but keep the frozen
> branch around until the next release is complete just in case we need
> to get an emergency fix out quickly.
>
> Due to the branch name changing name for every new release static
> branch names don't work.
>
> I'll play around a bit more with the other code and see if I can get
> it to do what I want.
--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to