我们有一个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?
感谢。
答案 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
这里有一些可行的解决方法:
可能的解决方法:
- 使用固定修订版外部代替"最新版本"
- 关闭TeamCity VCS root中的外部支持,使用代理端签出并在第一次执行外部检查 在自定义脚本中构建构建步骤。
- 在TeamCity 8.0.4中,我们添加了内部属性 teamcity.svn.ignore.dated.revision.errors ,设置此属性时 为了真实,TeamCity允许使用SVN外部服务器端检出 指向GitHub。
更新:
我可以通过teamcity.svn.ignore.dated.revision.errors确认解决方法似乎有效,我们可以从Github获取HEAD修订版:)