CruiseControl.net和Subversion

时间:2009-12-16 18:43:02

标签: svn cruisecontrol.net

我的项目没有注意到subversion何时更新。我在另一台服务器上使用完全相同的设置。这是一个虚拟服务器。

这是我提交后的日志文件。似乎ccnet可以看到有一个更新,但它只是说没有检测到任何修改。

2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:INFO] Project: 'MyProjectName Continuous Integration' is first in queue: 'MyProjectName Continuous Integration' and shall start integration.
2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:DEBUG] Checking if C:\Program Files\CruiseControl.NET\server\MyProjectName Continuous Integration\WorkingDirectory is a svn working folder
2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:DEBUG] Starting process [svn] in working directory [C:\Program Files\CruiseControl.NET\server\MyProjectName Continuous Integration\WorkingDirectory] with arguments [log svn://myserver.com/trunk -r "{2009-12-16T21:19:48Z}:{2009-12-17T17:34:47Z}" --verbose --xml --username myusername --password mypassword --non-interactive --no-auth-cache]
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <?xml version="1.0"?>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <log>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <logentry
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn]    revision="1427">
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <author>myusername</author>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <date>2009-12-16T18:34:50.148524Z</date>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <paths>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <path
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn]    kind=""
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn]    action="M">/trunk/MyProject/MyFile.cs</path>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </paths>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <msg></msg>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </logentry>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </log>
2009-12-17 10:34:47,312 [MyProjectName Continuous Integration:INFO] No modifications detected.

3 个答案:

答案 0 :(得分:3)

我能够通过更新到最新的ccnet来解决这个问题。他们使用修订而不是日期来更新触发器。之后,一切正常。

答案 1 :(得分:2)

你没有任何修改,你只是认为你做了。这是Subversion的一个经典问题,许多CC.NET用户都成了这个问题。仔细查看日志,您会看到:

  • SVN命令正在2009-12-17 10:34:47执行(可能是你在GMT-7时区)
  • 检查的修改范围是格林尼治标准时间2009-12-16 21:19:48到2009-12-17 17:34:47 GMT - ie ,在过去20小时内,或多或少
  • 唯一报道的修订版是2009-12-16 18:34:50.148524 GMT - 之前范围的开始。

简而言之,svn log谎言,或至少是一点点,因为始终报告至少一次更改,即使它超过指定范围。如果您需要详细信息,请参阅SVN bug #1642。可能性永远无法修复 - 最后的评论来自2004年。

这在CC.NET doc中有所介绍:

  

CruiseControl.NET没有看到我的   变化

     

Subversion接口取决于   CruiseControl.Net的时钟   和Subversion服务器正在设置   在一个小的差异。由于一个   长期存在的Subversion错误(Bugzilla   #1642)似乎不太可能被修复,CruiseControl.Net必须   过滤修改列表   由Subversion返回,寻找   只有特定范围内的那些   时间范围。当时钟的两个   服务器有很大的不同,   过滤器可能会忽略修改   这不应该被忽视。阻止   这个问题,保持时钟的   两台服务器紧密配合在一起   可能的。

答案 2 :(得分:0)

您的虚拟服务器是否在未来运行?也许你应该尝试一些时间同步。