TeamCity:Subversion VCS root with GitHub externals

时间:2013-02-15 12:05:19

标签: svn github teamcity

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

感谢。

2 个答案:

答案 0 :(得分:4)

当我在Subversion本身使用外部时,似乎遇到了类似的问题。

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

基本上就像这样

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

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

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

希望它有效但不太确定!

答案 1 :(得分:0)

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

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

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

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

script elements

  

可能的解决方法:

     
      
  • 使用固定修订版外部代替"最新版本"
  •   
  • 关闭TeamCity VCS root中的外部支持,使用代理端签出并在第一次执行外部检查   在自定义脚本中构建构建步骤。
  •   
  • 在TeamCity 8.0.4中,我们添加了内部属性 teamcity.svn.ignore.dated.revision.errors ,设置此属性时   为了真实,TeamCity允许使用SVN外部服务器端检出   指向GitHub。
  •   

更新:

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