Modifications found, Get latest, file not updated?

Topics: Developer Forum
Mar 5, 2009 at 8:31 PM
Hi, I have a simple ccbuild project that updates the ccnet.config file when it gets changed, set up like so:

    <project name="cc-config">
        <webURL>http://integrationserver/ccnet/</webURL>
        <triggers>
            <intervalTrigger name="config-continuous" seconds="30" initialSeconds="30" />
        </triggers>
        <sourcecontrol type="vsts" autoGetSource="true">
            <server>http://tfsservername:8080/</server>
            <project>$/ccnet/config</project>
            <workingDirectory>C:\Program Files\CruiseControl.NET\server\config</workingDirectory>
            <cleanCopy>true</cleanCopy>
            <username>user</username>
            <password>secret</password>
            <domain>domain</domain>
        </sourcecontrol>
    </project>

The only thing in the VSTS project referenced is the ccnet.config file. I'm noticing that the file is only sporadically getting updated, and my ccnet server is in a different timezone (it's in central, I'm in eastern). I'm not sure if this is a problem with the plug in, or with TFS itself, or if the timezone change is related at all :)

For example, right now I have these modifications showing in TFS's history for ccnet.config:
36242    edit    laadams    3/5/2009 2:37:27 PM    
36241    edit    laadams    3/5/2009 2:30:15 PM    
36240    edit    laadams    3/5/2009 2:27:43 PM    

Which would make the last modification date for the file at 1:37PM central time (the timezone the cc.net server is in). This is in the ccnet log file:
2009-03-05 13:37:35,785 [cc-config:INFO] Project: 'cc-config' is added to queue: 'cc-config' in position 0.
2009-03-05 13:37:35,894 [cc-config:INFO] Project: 'cc-config' is first in queue: 'cc-config' and shall start integration.
2009-03-05 13:37:35,894 [cc-config:DEBUG] Checking Team Foundation Server for Modifications
2009-03-05 13:37:35,894 [cc-config:DEBUG] From: 3/5/2009 11:04:04 AM - To: 3/5/2009 1:37:35 PM
2009-03-05 13:37:36,082 [cc-config:DEBUG] Found 1 modifications
2009-03-05 13:37:36,082 [cc-config:INFO] 1 modification detected.
2009-03-05 13:37:36,082 [cc-config:INFO] Building: config-continuous triggered a build (IfModificationExists)
2009-03-05 13:37:36,222 [cc-config:DEBUG] Existing workspace detected - reusing
2009-03-05 13:37:36,363 [cc-config:DEBUG] Getting $/CMS/branch/ccnet/config to C:\Program Files\CruiseControl.NET\server\config
2009-03-05 13:37:36,363 [cc-config:DEBUG] Performing a Get Latest
2009-03-05 13:37:36,082 [cc-config:DEBUG] Found 1 modifications
2009-03-05 13:37:36,082 [cc-config:INFO] 1 modification detected.
2009-03-05 13:37:36,082 [cc-config:INFO] Building: config-continuous triggered a build (IfModificationExists)
2009-03-05 13:37:36,222 [cc-config:DEBUG] Existing workspace detected - reusing
2009-03-05 13:37:36,363 [cc-config:DEBUG] Getting $/CMS/branch/ccnet/config to C:\Program Files\CruiseControl.NET\server\config
2009-03-05 13:37:36,363 [cc-config:DEBUG] Performing a Get Latest
2009-03-05 13:37:36,800 [cc-config:INFO] Integration complete: Success - 3/5/2009 1:37:36 PM

When I check the configured working directory, the ccnet.config file has a modification timestamp of 11:04AM, so I'm missing not just the 1:37PM update that it says it found above, but the 1:27PM and 1:30PM updates too. It's then effectively impossible for me to force the retreival:

2009-03-05 13:37:39,267 [4104:INFO] Dashboard forced Build for project: cc-config
2009-03-05 13:37:39,267 [4104:INFO] Project: 'cc-config' is added to queue: 'cc-config' in position 0.
2009-03-05 13:37:39,314 [cc-config:INFO] Project: 'cc-config' is first in queue: 'cc-config' and shall start integration.
2009-03-05 13:37:39,314 [cc-config:DEBUG] Checking Team Foundation Server for Modifications
2009-03-05 13:37:39,314 [cc-config:DEBUG] From: 3/5/2009 1:37:35 PM - To: 3/5/2009 1:37:39 PM
2009-03-05 13:37:39,642 [cc-config:DEBUG] Found 0 modifications
2009-03-05 13:37:39,642 [cc-config:INFO] No modifications detected.

I've experienced this issue with other files in other TFS projects as well. I can sometimes fix force changes to magically show up by continually updating the file in TFS, and then forcing builds, usually things straighten out after the server's local time becomes greater than the check-in timestamp of the file in TFS.

Help?