I am still having problems getting delayed commit to operate.
This is a follow-up to issue:
I am running the version 3.1 EAP to address the resolved bug:
This seems to be solved.
Our current setup:
Within each eclipse workspace, we checkout multiple SVN directories as separate projects.
The remote runs properly, but the commit fails with the error:
Error: svn: Can't open file: 'c:\projects\V3_R1\.svn\entries':The system cannot find the path specified.
'V3_R1' happens to be the name of the eclipse workspace and does not have an .svn\entries.
For each SVN root I specify the following checkout rules:
Any help would be appreciated.
I have been doing some further testing.
The Delayed commit step works when I have an Eclipse workspace containing a single project.
Does the TC plugin support multiple projects?
Is anyone else using multiple projects in a single workspace?
We do have multiple projects in eclipse as well - but we have special buildfiles, that are able to checkout dependent projects. I suppose there is no way to tell teamcity which other projects it should checkout for one build.
Anyway - things get more complicated, if your 'master'-project is dependent on specific versions of the other projects. We use team-project-set (*.psf) files to track these dependencies. Since they are xml-files we convert them via XSLT to an ant script, that has the code for checkout.
If that again would work with TC delayed commits ? Don't know :-D ... I didn't dare to try it ...
Suppose maven would be the only alternative.
Thanks for the reply,
It sounds like you are not making use of delayed commit, but do you use the remote run feature?
In our case we have a project root that contains sub-projects where only some are part of the build. When we create a new workspace, we multi-select several directories and choose "checkout as projects". This is quick and easy. So far it seems that TC does not prefer this arrangement. I hope I am wrong.
Am I out in left field on this one?
I would love hear experiences from others.
I apologize for delay with the answer. Teamcity plugin performs commit using Eclipse Subversion plugin, in particular Subclipse.
In general native Subversion client is not able to commit from different working copies in a single transaction - and in your case each project represent a separate working copy that are not connected with each other (i.e. their common parent directory has no .svn directory with Subversion administrative information).
Good thing is that Subclipse is able to make cross-wc commit, but only when it uses SVNKit (pure Java) "adapter". I think that enabling it in Subclipse preference will resolve the problem (see Window->Preferences->Team-SVN preferences page).
Another option is to check out parent directory of those projects outside of Eclipse and then import projects into Eclipse. In that case all projects will reside in a single working copy and cross-project commit should work.
Thank you so much.
We had arrived at the same conclusion about the parent directory option. This would mean that our developers would have to reconfigure their workspaces in different manner.
I am glad to hear about the Java SVNKit option as well.
Thanks again for the tip SVNKit.
This solved the commit from multiple projects issue that I have been having.
My concern at the time, was that when we start testing TC with our developers, I would have had to ask each of them to redo their eclipse workspaces in order to use delayed commit. I am glad that I do not have to now