Rup
Rup

Reputation: 539

How do I fetch specific build of code from SVN using CruiseControl?

I am using cruise control .net for fetching code from SVN for an application. I want to fetch it on the basis of changed sets, below is the scenario.

If one team is working on build 1 and second team is working on build 2 and they are committing their code on SVN regularly.

I want to fetch code only of build 1, not of build 2. How can I get it using cruise controls .net? an example will be much appreciated

Upvotes: 2

Views: 665

Answers (1)

akton
akton

Reputation: 14386

Each commit to SVN has a unique revision number. For example, to update the working version to a particular revision, use:

svn update -r REV

Where REV is the revision number of build 1 or build 2. See SVNBook for more information on svn update.

Alternatively, if the teams have branched their builds, use svn switch. For example:

svn switch URL

where URL is the URL to the branch. If you do not know the revision number used for a build, use svn log to see a history of changes and which revision was the HEAD when a build was done.

Can you please tell me if change-set is a feature of Source Control?

"Change set" can mean different things for different source control systems. I assume you are asking whether the source control system (1) uniquely identifies a set of files that makes a change and (2) whether the change is atomic. Yes, SVN does both. Each commit (change) is uniquely identified by a revision number.

How can we achieve it using cruise control and nant?

Look at the NantContrib svn, svn-checkout and svn-update Nant tasks. For example, to get the code for myproject into c:\src where c:\src is not a working set, use:

        <svn-checkout 
             destination="c:\src" 
             svnroot="http://server/svn/repos/projects/myproject" 
             revision="HEAD"
             username="user"
             password="password" 
              />

and replace HEAD with the desired revision number.

Upvotes: 2

Related Questions