2

我们有一个 SVN 存储库,其中一些外部托管在 GitHub 上。一切都在发展中;GutHub 非常支持被 SVN 客户端访问。

问题在于 TeamCity。它似乎是按日期而不是按修订来获取外部数据。我们收到以下错误:

   Failed to build patch for build #2.17.7081 {build id=12}, 
   VCS root: svn: https://xxx.xxx.xxx.xx/svn/iaw/trunk {instance id=2, parent id=1}, due to error: Cannot request SVN dated revision: 
   svn: E200007: Server does not support date-based operations
   svn: E200007: The requested report is unknown.
   svn: E175002: REPORT of '/cardeliverynetwork/csharp-apiclient.git/!svn/vcc/default': 501 Not Implemented (https://github.com)
   SVN server: https://github.com/cardeliverynetwork/csharp-apiclient.git/trunk/src/CarDeliveryNetwork.Types
   Used rev: Feb 15, 2013 11:03:24 AM
   Rev text:7081_2013/02/15 11:03:24 +0000

有谁知道如何强制 TeamCity 简单地在外部获得 HEAD?

谢谢。

4

2 回答 2

4

当我在 Subversion 本身中有一个外部时,我似乎遇到了类似的问题。

为了解决这个问题,我在我提到它的地方添加了外部的确切修订号。

基本上是这样的

参考之前:\gitserver\repository\folder external

参考之后:\gitserver\repository\folder@2013 external

请尝试在您所指的 Subversion 文件夹的属性中添加这样的修订。如果您在 Subversion 中转到文件夹的属性并在高级模式下进行属性编辑,则可以这样编辑。

希望它有效,虽然不太确定!

于 2013-02-20T17:12:17.270 回答
0

设置为特定修订版\gitserver\repository\folder@2013 external有效,但设置为头部修订版\gitserver\repository\folder@HEAD external不起作用。

这是 TeamCity 中的一个已知错误,如果外部服务器时区落后于 teamcity 时区,则无法获得头部修订。

TW-2946 消除 TeamCity 服务器和 VCS 之间同步时钟的必要性

这里有一些可能的解决方法:

TW-27269 TeamCity 不会从 GitHub 生成的 svn:externals 中获取更改

可能的解决方法:

  • 使用固定修订外部而不是“最新修订”
  • 关闭 TeamCity VCS 根中的外部支持,使用代理端签出并在自定义脚本中构建的第一个构建步骤中执行外部签出。
  • 在 TeamCity 8.0.4 中,我们添加了一个内部属性teamcity.svn.ignore.dated.revision.errors,当此属性设置为 true 时,TeamCity 允许使用指向 GitHub 的 SVN 外部的服务器端结账。

更新:

我可以用 teamcity.svn.ignore.dated.revision.errors 确认解决方法似乎有效,我们可以从 Github 获取 HEAD 修订版 :)

于 2015-09-04T08:09:44.107 回答