[Anthill-pro] Understanding WorkspaceDate.get()
Steve Boone
sbb at urbancode.com
Tue Jul 31 20:14:10 CDT 2007
Nir,
The script you are referring to comes from the build request. For best
explanation of what it does, lets look at a simple example of a project,
with a quiet period. When you click the "Build" button, there is a ton of
activity that is happening behind the scenes.
First, Anthill performs a quiet period check. This is Anthill's way of
checking to make sure that there has not been anymore commits made to the
repository before it performs the build. For this example, lets say that
the quiet period is configured to span the last three minutes so search for
changes.
When you click "Build" anthill looks at the last three minutes prior to when
you clicked the Build button to see if there are any other changes it should
include in the build. When you first click build, lets consider that to be
the "starting time."
The user clicks build, Anthill checks to see if there are any changes. If
it finds a change, it waits another three minutes. After those three
minutes, it checks again, if it finds another change, it waits another three
minutes.
For this example, lets say that there were 2 different commits that were
made to the repository, after the user clicked build. Those times would be
considered "Starting time + 3" and "Starting time + 6" (Three minutes the
quiet period waited for each new commit).
Finally, Anthill does another check, and the server notices no new changes,
and the build is ready to take place.
If Anthill does a naive checkout at this point, it could accidentally catch
a commit that happened at "Starting time + 6.001"
Therefore, Anthill performs the checkout based on a date. Which date does
it choose? Anthill needs to choose a date between "Starting time + 3" and
"Starting time + 6"
In this particular situation, Anthill would choose "Starting time + 4.5"
because that way it can be sure that only the changes submitted within the
quiet period are being built.
That date is distinct from the date it was requested. Anthill is going to
use that date for the checkout, the changelogs, and if we need to go back
and apply a label it will be used there too.
I hope this sheds some light on exactly what this script does. It's a
pretty important feature on AnthillPro. If it is still unclear let me know
and I will try to explain any unclear areas.
>From the information you provided, it looks like you may have a time zone /
daylight savings time error, configured between your two servers. Can you
double check that everything is correct?
Regards,
Steve Boone
On 7/31/07, Silgi, Nir <nsilgi at shopping.com> wrote:
>
> Hi,
>
>
>
> In my Perforce populate workspace step it has the date string script
> ${bsh:WorkspaceDate.get()}. I would like to understand what exactly
> WorkspaceDate is. The actual time I see in the log is neither the Anthill
> Server date nor the Agent machine date (it is off by one hour). It's worth
> mentioning that there is 10 hours difference between the AH Agent and
> Server. I suspect it causes wrong files to be synced. For now I removed it
> and wrote 'head' instead which is redundant since it doesn't show in the log
> but at least it doesn't pass a date value.
>
>
>
> Thanks,
>
> NirS
>
>
>
>
>
> <http://775146.sigclick.mailinfo.com/sigclick/0E060200/06044D06/0E094B02/19171221.jpg>
>
> _______________________________________________
> Anthill-pro mailing list
> Anthill-pro at lists.urbancode.com
> http://lists.urbancode.com/mailman/listinfo/anthill-pro
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.urbancode.com/pipermail/anthill-pro/attachments/20070731/b0d3241c/attachment.htm
More information about the Anthill-pro
mailing list