I have a project with two build configurations.
When the first one runs, it checks out the source and builds.
When the second one runs, copies the source directory "Dir.OLD", then deletes the source code (very slowly) then re-checks out the source code (also very slowly)
This adds like an hour onto a build that should take 3 minutes total.
The directory in question has externals, I think this is related to the externals support.
This is critical and is going to keep us from rolling TeamCity out in any official capacity as an extra hour for each build configuration slows our builds to a crawl.
Issue wasclosed
Server side checkout process cannot do real svn update because there are no source code. If externals property changes it just deletes al sources and gets them anew. We supposed changing externals is not very frequent operation.
BTW, you can use agent side check out, it performs actual svn update.
Allen,
directory cleaning after changing externals' revision seems to be svnkit library issue. I hope it will be fixed soon and you will be able to update it in your TeamCity installation.
Can you confirm that changing externals property is the only reason of cleaning the sources or there might be some other cases?
Allen,
the issue is fixed in the latest build of SVNkit library. (Can be obtained from
https://teamcity.svnkit.com/repository/download/bt6/324:id/deploy/org.tmatesoft.svn_1.1.2.3145.standalone.zip )
If you wish, you can update your TeamCity installation with new libraries.
to do that:
- stop TeamCity
overwrite the files:
<TeamCity home>\webapps\ROOT\WEB-INF\lib\svnkit.jar
<TeamCity home>\webapps\ROOT\update\plugins\svnAgent.zip\svnAgent\lib\svnkit.jar (note, this is inside zip archive)
with the one attached.
- start TeamCity: agents should upgrade to the new version of the library automatically.
I have applied this patch and now instead of only deleting the directory when I change externals it seems to be forcing a clean every time even though "clean files" is not checked. This happens with all directories now regardless of whether or not they have svn:externals defined
[13:01:24]: Clearing F:\BuildAgent\work\Agent\Test\build
[13:01:24]: Checking F:\BuildAgent\work\Agent\Test\build out from svn
[13:01:27]: Clearing F:\BuildAgent\work\Agent\Test\Tools
[13:01:27]: Checking F:\BuildAgent\work\Agent\Test\Tools out from svn
[13:12:06]: Clearing F:\BuildAgent\work\Agent\Test\Test
[13:12:06]: Checking F:\BuildAgent\work\Agent\Test\Testout from svn
| Old | New | |
| Allen Cook (acook) - 14 months ago (28 Jun 2007 15:23) | ||
Allen Cook (acook)
14 months ago (07 Jun 2007 00:57)The source code control is Subversion and it checks out the changes on the agent.