Hi Billy, Cap 2 did a pre-flight check, locally from your local checked out copy to check the SCM tool's current reference of HEAD (i.e svn info), that is then repeated on the server, to make sure that the server, and the client issuing the deploy command agree on what version is getting deployed.
This is a little bit funky, but it does prevent (in Git, at least) where a commit has been made, and not deployed, and then deploy without the pre-flight check would deploy the *pushed* (I know this terminology doesn't exist in svn) version, not the latest version (because it would take the version that both your workstation, and the SCM server agreed on) In Cap3 we threw this away, for a couple of reasons, but primarily, because it's unexpected, and there's also a lot of cases where the workstations, and deploy servers of a lot of companies need to use different URLs to acces the SCM server. This lead, in v2 to a situation where we had `repository` and `local_repository` variables. (i.e one used by the workstation, one used by the server) That didn't make a lot of sense, and a better way to fix that is to do your own pre-flight check in v3, such as a simple `before` task which checks if you have uncommitted/pushed changes, and warns you, if that is a mistake you are prone to. Hope that clears it up, as I mentioned - we threw it away precisely because it wasn't very clear why it was being done. Lee Hambley -- http://lee.hambley.name/ +49 (0) 170 298 5667 On 16 October 2013 11:23, Billy Davies <[email protected]>wrote: > Hi, > > First up many thanks for creating Capistrano, you've saved me a load of > development time and made my life immeasurably better. You probably don't > get thanked as often as you should for this. > > Secondly, I'm writing a tutorial on using Capistrano (version 2 > unfortunately, a version 3 update will follow) and just wanted to clarify > one thing: > > > - When running a 'cap deploy' I would have expected all commands to be > run from the user account defined by the ':user' setting in the deploy.rb > file. However when I call 'cap deploy' it appears that the initial 'svn > info' call is being run from the local machine under the logged in user's > account (i.e the user invoking the 'cap deploy'). Is it possible to make > this call run using the user account set using ':user' in the deploy.rb > file? > > > As per board guidelines my info is as follows: > > *Ruby version:* ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] > *Cap version:* Capistrano v2.15.5 > *deploy.rb: *http://pastie.org/8405947 (server locations have been > changed to example.com from real values but everything else is as is) > *Capfile:* http://pastie.org/8405962 > > Any advice gratefully received, > > Billy Davies > > -- > -- > * 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 unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- -- * 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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
