【问题标题】:TeamCity: Subversion VCS root with GitHub externalsTeamCity:带有 GitHub 外部的 Subversion VCS 根
【发布时间】:2013-02-15 12:05:18
【问题描述】:

我们有一个 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?

谢谢。

【问题讨论】:

  • 詹金斯也有同样的问题。以下相同的解决方案效果很好(在我的情况下使用@HEAD)。

标签: svn github teamcity


【解决方案1】:

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

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

基本上是这样的

参考前:\gitserver\repository\folder external

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

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

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

【讨论】:

  • +1 @RinoTom - 这确实适用于 TeamCity,这也是我作为解决方法所做的。但是,我需要获得 HEAD 修订版,因为外部实际上只是我们 repo 的一个开源部分,因此正在不断地与 repo 的其余部分一起工作。最终的解决方案可能是将所有内容移至 GitHub。
  • 你试过给\gitserver\repository\folder@HEAD external。我的直觉是,它也应该对你有用。如果没有,我很抱歉。
【解决方案2】:

设置为特定修订版\gitserver\repository\folder@2013 external 有效,但设置为头修订版\gitserver\repository\folder@HEAD external 无效。

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

TW-2946 Eliminate necessity of synchronized clock between TeamCity server and VCS

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

TW-27269 TeamCity doesn't pick up changes from svn:externals produced by GitHub

可能的解决方法:

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

更新:

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

【讨论】:

    猜你喜欢
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2016-01-14
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    相关资源
    最近更新 更多