Subversion checkout is missing the .svn directories

I would like to confirm that the repository check out is really a checkout (contains the .svn directory) and not a copy of a branch.
Pre-build event calls for Subversion SubWCRev.exe to update the AssemblyInfo.cs

Unfortunatelly, the tool requires SVN checkout folder(s) which should contain the hidden .svn directory:
SubWCRev : E155007: ‘F:\ContinuaAgentWS\Ws\18\Source’ is not a working copy

How can I command the repository to really checkout the SVN repository so it is acceptable to the Subversion tools and is commitable?

PS. How can I get the raw output of MSBuild action/stage?

Hi JPollack,

Continua CI checks out repositories to the server repository cache then syncs the files to the agent workspace. So there is no working copy on the agent.  

We recommend that you use the AssemblyInfo Updater action to make changes to the AssemblyInfo.cs. You can use expressions such as $Source.YourRepoName.BuiltChangeset.Id$ to get the relevant changeset revision.

Continua CI does not currently allow you to commit changes to the repository. If you need to do this, then you will have to use an additional tool such as FinalBuilder, batch file or PowerShell script to check out the working copy on the agent and commit changes. Ensure that you remove the repository from the Repository Rules for each stage so that the files are not copied twice. 

Regarding the MSBuild output: this is included in the build log which you can download as text using the link at the top on the Log tab on the Build view.

You can generate an additional MSBuild log file by adding command line parameters to the Extra Parameters field for the MSBuild action as follows:

/fl /flp:logfile=$Workspace$\MSBuild.log;verbosity=diagnostic 

See Obtaining Build Logs with MSBuild for further details.


Thank you Dave for the suggestions.

I have added the following actions to the stages:
1) AssemblyInfo Updated - Update the AssemblyInfo.template.cs at the source
* AssemblyInfoFiles: $Source.MyRepository$\Src\MyProject\Properties\AssemblyInfo.template.cs
* Properties to Update: AssemblyVersion:2.3.5.$Source.MyRepository.BuiltChangeset.Id$
* Result: [assembly: AssemblyVersion(“2.3.5.$WCREV$”)] --> [assembly: AssemblyVersion(“2.3.5.1234”)]

The problem with this is that the Major.Minor.Build values are hard coded to the “Properties to Update”. It would be perfect if I could update only the repository ($WCREV$) part of the property. That will allow to commit changes to the Major, Minor or Build number in the AssemblyInfo.template.cs at developers checkout. Otherwise the AssemblyInfo Updater action must be changed at the build server, which is not comfortable to say the least.

2) The MSBuild task still fails as it is not able to execute the Pre-Build assembly version update task successfully. Is there a way to skip the Pre-Build in the build server but keep it in for the developer’s build?

The current situation is that even if I get the Continua CI to build the project, this will break the developers build routine. Maybe there is some more clever ways to accomplish this seemingly trivial task as update software version number PS. I had an idea to use different solution build configuration for developer and build server but AFAIK it is not possible as the MSBuild Pre-Build event is the same for all…

Hi JPollack,

The AssemblyInfo Updater action in Continua CI does not allow you to update a part of a property value. We may add this ability in the future, but for now you can achieve this using FinalBuilder actions - see the attached FinalBuilder 8 project as an example.  

It is possible to make build events conditional on the configuration, either by editing the csproj file, e.g.

<PropertyGroup Condition=" ‘$(Configuration)’ == ‘Debug’ ">
    <PostBuildEvent>xcopy something somewherePreBuildEvent>
PropertyGroup>

or by adding an if statement to your pre-build event command line, e.g. 

if “$(ConfigurationName)” == “Debug”
(  xcopy something somewhere )
else
(  echo “doing nothing” )

__40190__0__assemblyInfo.fbp8 (2.464 KB)