The only reason I can think of that you would care about how capistrano effects 
its deploys is if you are trying to commit from the production server back to 
the repo; which you shouldn't be doing. 

The way the recipes deploy and create a local deploy branch isn't relevant to 
your workflow of how you develop or use version control. It's simply an 
implementation detail of how capistrano gets the job done elegantly and 
reliably. 

As a matter of fact if you remove that ability then you give yourself fewer 
options in which to recover when there is a difficulty. I'll give you a real 
world example. 

We only deploy master to our servers; we had two feature branches; each were 
slated to be released on a different timetable. A Dev mistakenly merged one 
into the other and then merged the whole thing into master. 

To revert and unravel the timelines would have been brutal, and the commits 
were good, we just didn't want to deploy them yet. We were in a state where 
master was blocked and we had critical hotfixes that needed to go in and get 
deployed. 

What we decided to do is create a branch master2 from a sha before the merge; 
use master2 for the deploy; and then in a couple of days when the time came 
that it was ok to release the second feature we merged master2 back into 
master; then deployed master.  Everything was kosher from there on out. 

There was never an issue with how capistrano deployed, and didn't even enter 
into the equation. However It would have been a much larger obstacle if the 
only possible resolution was to revert master.

The moral of the story is that even if you choose to deploy only one branch 
it's nice to be able to deploy a different one when it's called for. 

On Aug 3, 2011, at 5:17 AM, Zeedy <[email protected]> wrote:

> I'm trying to follow the strategy outlined by Eric Sink in his book on
> distributed source control: 
> http://www.ericsink.com/vcbe/html/web_development.html
> 
> Basically, a web application need only ever deploy from the same
> release branch, i.e. we don't need to create a new branch for every
> deployment.
> 
> 
> On Aug 2, 5:01 pm, Lee Hambley <[email protected]> wrote:
>> What problem are you trying to solve by not checking out the branch? Cap
>> does this to ensure some measure of cleanliness, and make sure that your
>> deploys are always atomic.
> 
> -- 
> * 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