如何使用CruiseControl从SVN获取特定的代码构建?

时间:2012-09-17 10:36:17

标签: .net svn

我正在使用巡航控制.net从SVN获取应用程序的代码。我想在更改集的基础上获取它,下面是场景。

如果一个团队正在构建构建1,而第二个团队正在构建构建2,并且他们正在定期在SVN上提交代码。

我想只获取构建1的代码,而不是构建2的代码。如何使用巡航控件.net获取它?一个例子将非常感激

1 个答案:

答案 0 :(得分:2)

每次提交SVN都有一个唯一的修订号。例如,要将工作版本更新为特定版本,请使用:

svn update -r REV

其中REV是构建1或构建2的修订号。有关svn update的更多信息,请参阅SVNBook。

或者,如果团队已对其构建进行分支,请使用svn switch。例如:

svn switch URL

其中URL是分支的URL。如果您不知道用于构建的修订版号,请使用svn log查看更改历史记录以及构建完成时哪个版本是HEAD。

  

如果更改集是源代码管理的功能,请告诉我吗?

“更改集”对于不同的源控制系统可能意味着不同的事情。我假设您在询问源控制系统(1)是否唯一地标识了一组进行更改的文件,以及(2)该更改是否是原子的。是的,SVN都做到了。每个提交(更改)都由修订号唯一标识。

  

我们如何使用巡航控制和nant实现它?

查看NantContrib svnsvn-checkoutsvn-update Nant任务。例如,要将myproject的代码放入c:\ src,其中c:\ src不是工作集,请使用:

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

并将HEAD替换为所需的修订号。