Home arrow Documentation arrow Packages Documentation arrow Subversion

Blogs

CI Factory is in Windows Developer Power Tools

Subversion PDF Print

Dependencies

Subversion command line client must be installed and in the PATH.

Install

For installation during execution of the CI Factory install script add

<string value="Subversion"/>

to "Packages.InstallList". Set these properties in the arguments file or the packages properties file:

SVN.URI.Root - This is root or the path that will contain the folder named after your project.

SVN.URI.ProjectName - This can be the same value as SVN.URI.Root or ${SVN.URI.Root}/${ProjectName}, it depends on if this is a shared or dedicated repo for this project.

SVN.URI.ProjectCodeLine - This is the path to the codeline in the repo.  It is generally ${SVN.URI.ProjectName}/${ProjectCodeLineName}

CCNet.SVN.URI.ProjectName - This needs to evaluate to the same value as SVN.URI.ProjectName.  It should use different technology to variablize the string: dtd entities.  So if SVN.URI.ProjectName is ${SVN.URI.Root}/${ProjectName} then CCNet.SVN.URI.ProjectName should be ${SVN.URI.Root}/&ProjectName;.

CCNet.SVN.URI.ProjectCodeLine - This is generally ${CCNet.SVN.URI.ProjectName}/&ProjectCodeLineName;.

CCNet.SVN.WebRepoUrl - Depending on how you access your repo this may be the same value as SVN.URI.Root.  This is the http view into your repo.

SVN.WebVisible - Boolean, do you have a web view into your repo?

SVN.Credentials.SafeStorage - Boolean, set to true if you do not want the build users credentials stored in the repository for ?anyone? to see.

SVN.Username - The user name the build will use to access the repo,  this account needs read/right access!

SVN.Password - The password for the account the build uses to access the repo.

SvnBinPath - This is the path of the directory containing the svn.exe.  It defaults to Program Files\Subversion\bin, where ever Program Files is.  If you need to change this note the funky value: ${'$'}{environment::get-variable('ProgramFiles')}\Subversion\bin.  It is ${'$'}{...} as apposed to the normal ${...}, it is your best interest to maintain the funk.

 

Targets

SourceControl.CleanGetOfThirdPartyDirectory

This target will try to figure out what is not a versioned file in the repo and delete any unversioned files.  If it can not figure this out it will delete the folder and update it from the repo.

 

SourceControl.CleanGetOfProductDirectory

This target will try to figure out what is not a versioned file in the repo and delete any unversioned files.  If it can not figure this out it will delete the folder and update it from the repo.

 

SourceControl.GetOfThirdPartyDirectory

This target simply performs an update.

 

SourceControl.GetOfProductDirectory

This target simply performs an update.

 

SourceControl.CheckOut

Makes use of the properties: SourceControl.CheckOut.File, SVN.Username, and SVN.Password. Will update the file specified, update not checkout. The name CheckOut is related to Visual Source Safe. Be aware that polymorphism is at play here. Callers of this script do not know if the source control provider is Source Safe, Subversion, or something else.

 

SourceControl.CheckIn

Makes use of the properties: SourceControl.CheckIn.File, SVN.Username, and SVN.Password. Will perform an update then a commit on the file specified.

Reports

None.

Trouble Shooting

 
< Prev   Next >