SVN使用巡航控制提交

时间:2010-03-26 06:53:03

标签: svn cruisecontrol.net cruisecontrol

我正在使用巡航控制来自动执行svn提交过程。但执行svn commit命令会恢复从工作副本中删除的文件。

我的方式是。

1. delete some files in my working copy.( no. of files in my WC is less than no. of files in repository)
2. execute svn command using cruise control.

<exec executable="svn.exe">         
        <buildArgs>ci -m "test msg" --no-auth-cache --non-interactive</buildArgs>
        <buildTimeoutSeconds>1000</buildTimeoutSeconds>
      </exec>

result: the deleted files are restored in my WC...

有人可以帮我弄清楚我哪里出错了......或者我是否需要做一些更改/配置......

谢谢大家。

问候。 乌代

2 个答案:

答案 0 :(得分:4)

您需要告诉SVN应该从存储库中删除这些文件。 SVN认为文件应该仍然在那里,所以它正在添加它们。

首先删除:

svn delete myfile

当您调用svn delete时,这基本上会调度要删除的文件(或目录)。你仍然需要提交svn以实现更改。

答案 1 :(得分:1)

正如Kevin所说,这将需要几个步骤,我假设您正在寻找有关如何制作CCNet项目文件的一些信息:

首先使用svn删除文件

<exec executable="svn.exe">         
    <buildArgs>delete 'filename'</buildArgs>
</exec>

[不确定您是否可以在此处传递要删除的所有文件的列表,或者您是否必须一次删除一个文件)

正如凯文所说,这只会标记要从存储库中删除的文件 - 但实际上不会删除它。

标记完所有文件后,执行提交:

<exec executable="svn.exe">         
    <buildArgs>commit 'root project path'</buildArgs>
</exec>

[添加您需要的任何消息参数]

基本上就是这样。