使用 CruiseControl .NET 和 Subversion 时处理 svn 锁/清理

发布于 2024-07-11 06:25:25 字数 410 浏览 7 评论 0原文

我使用 CruiseControl .NET 和 Subversion 源代码控制插件来自动构建我们的项目。

一些项目会自动检查修改,但有时检查会失败,CruiseControl .NET 会用“异常”标记该项目:

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: Working copy 'xxFilename' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

此后,我必须手动登录服务器并在项目构建之前对文件夹执行 svn 清理再次。 有解决方法吗?

I am using CruiseControl .NET with the Subversion source control plugin to automatically build our project.

Some of the projects are automatically checking for modifications, but occasionally the check fails and CruiseControl .NET marks the project with an "Exception":

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: Working copy 'xxFilename' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

After this I must manually log into the server and do a svn cleanup on the folder before the project will build again. Is there a workaround for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

执手闯天涯 2024-07-18 06:25:25

新的 Cruise Control.Net 1.4.4 服务器在 Subversion 源控制块上有两个附加属性。

参阅 CCNET 文档 - Subversion 源代码控制块

请 并恢复属性做你想要的。

The new Cruise Control.Net 1.4.4 server has two additional properties on the Subversion Source Control Block.

See CCNET Documentation - Subversion Source Control Block

The cleanUp and revert properties does what you want.

终弃我 2024-07-18 06:25:25

有点拼凑,但是你能创建一个按需运行并进行 svn 清理的项目吗?

我知道您可以在 CruiseControl 的 Java 版本中执行此操作,因此我假设您可以使用 CC.NET 执行相同的操作。

Kinda of a kludge but could you create a project that runs on demand and does an svn cleanup?

I know you can in the Java version of CruiseControl so I assume you can do the same w/CC.NET.

谁的年少不轻狂 2024-07-18 06:25:25

您应该能够在项目配置中使用发布者任务。

项目配置块有每次构建后都会执行的发布者任务。

使用可执行任务,您可以将当前集成状态作为环境变量传递,这将允许您使用简单的脚本或命令来决定是否执行 svn 清理。

例如,您所需要的只是:
if %CCNetIntegrationStatus% == "Exception" svn cleanup

免责声明:我只真正使用过 CC,这是来自文档,而不是经验。

You should be able to use a publisher task in the project configuration.

The Project Configuration Block has a publishers task that will execute after every build.

Using an executable task, you can pass in the current integration status as an environment variable, and that will allow you to use a simple script or command to decide whether or not to execute the svn cleanup.

For eg, all you need would be:
if %CCNetIntegrationStatus% == "Exception" svn cleanup

Disclaimer: I've only really played around with CC, and this is from the docs, not experience.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文