2011-06-03 48 views
0

在所有msbuild任务成功完成后,我做了一个CCNET任务来提交安装项目中的更改。无法在ccnet中设置svn提交消息

<exec executable="svn.exe"> 
    <description>Commit changes in the setup project file to SVN</description> 
    <buildArgs>commit -m "Commmit project file after build %CCNetLabel%" -F Setup.vdproj --no-auth-cache --non-interactive --force-log</buildArgs> 
</exec> 

我试着在命令提示符下执行这个命令,它按照预期工作。但是,当我将执行任务放入CCNET时,SV​​N中记录的消息与我期望的完全不同。我不断收到类似

"DeployProject" 
{ 
"VSVersion" = "3:800" 
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" 
"IsWebType" = "8:FALSE" 
"SccLocalPath" = "8:Svn" 
"SccAuxPath" = "8:Svn" 
"SccProvider" = "8:SubversionScc" 
...... 

我已经不知道那里的SVN EXEC任务就是让这条消息。其他人之前遇到过这种情况?你如何设置正确的信息?请指教。

+2

作为一般规则,您不应将构建工件(即由构建生成的任何内容)提交到存储库。 – skolima 2011-06-03 10:53:43

+0

是的,但我们需要跟踪为安装项目(msi)生成的最新版本号:( – 2011-06-06 05:24:04

+0

标准CruiseControl.net解决方案将使用[tagOnSuccess](http://confluence.public.thoughtworks。 org/display/CCNET/Subversion + Source + Control + Block) – skolima 2011-06-06 06:52:29

回答

0
  • svn.exe在路径中吗?难道你是在一个服务模式下运行不同的用户环境?
  • 您是否正确设置了工作目录(您从哪里提交)?
+0

> svn.exe是否在路径中?难道你是在一个服务模式下运行不同的用户环境?是>您是否正确设置了工作目录(您从哪里提交)?我也试过,但得到了同样的结果。 – 2011-06-06 05:22:06

+0

>难道你是在一个服务模式下运行不同的用户环境?我正在运行Cruise Control服务,并使用我们的构建环境的管理员用户的凭据设置登录属性。这可能与这个问题有关吗? – 2011-06-06 05:28:23

+0

尝试从所需用户下的命令行运行ccnet,只是为了消除这种可能的原因。 – 2011-06-06 06:12:11

1

使用tagOnSuccess代替,这就是支持CruiseControl.Net解决方案来跟踪在SVN中已使用的版本生成的每个包。