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