It's because an entire deploy actually consists of several non-atomic  
operations, and if you just use HEAD there exists a race condition  
such that one operation could be against one revision and the next  
operation against some newly pushed revision. Thus, if you give HEAD  
as the revision you want, Capistrano (by default) will dereference  
that to a specific revision so that all operations reference the same  
one.

Mislav's suggestion is the recommended way to bypass this default.

- Jamis

On May 13, 2008, at 7:33 AM, David Smalley wrote:

>
> On May 13, 2:22 pm, "Mislav Marohnić" <[EMAIL PROTECTED]>
> wrote:
>> 2008/5/13 David Smalley <[EMAIL PROTECTED]>:
>> Oh. Well, that explains it.
>>
>> Try this:
>>
>>   cap -S real_revision=HEAD deploy
>>
>> Should do the trick.
>
> Yep - that works fine. Thanks very much.
>
> I was curious as to why the whole query_revision process needs to
> happen if "HEAD" will suffice as a revision? I noticed that
> query_revision in 2.3.0 goes to the trouble of converting HEAD into an
> actual SHA revision, any special reason why it does this and not just
> leave it as HEAD if that works?
>
>        def query_revision(revision)
>          return revision if revision =~ /^[0-9a-f]{40}$/
>          .....
>
> Thanks
> >


--~--~---------~--~----~------------~-------~--~----~
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