SVN似乎从命令行更改了副本上的目标

时间:2011-12-20 10:33:47

标签: svn

我遇到了奇怪的行为。 我的构建系统应该将名为delivery.xml的文件的副本存储到中心位置。有多个存储库在使用,并与外部相关联。

构建系统将delivery.xml复制到具有唯一文件名的其他位置。 在这种情况下,在构建时动态生成的自动命令:

svn copy https://REPO_DOMAIN.com/svn/repos/productive_zzzbuild/branches/Vancouver_delivery/zzzBuild/release-docs/current/Int_AU210_SOP8/delivery.xml https://REPO_DOMAIN/svn/repos/productive_zzzbuild/tags/___delivery_xml/AU210_SOP8_11510P.xml -m "20.12.2011: delivery.xml from ReleaseLabel: 11510P"

导致:

svn: Failure opening '/tags/___delivery_xml/AU210_SOP8_11510P.xml/delivery.xml'

如您所见,故障安全无法安全;)

相反,它将/delivery.xml附加到目标,这是没有意义的。 当我手动输入命令时,我得到相同的输出。 外部还可以。

svn list https://REPO_DOMAIN.com/svn/repos/productive_zzzbuild/branches/Vancouver_delivery/zzzBuild/release-docs/current/Int_AU210_SOP8/delivery.xml

svn list https://REPO_DOMAIN/svn/repos/productive_zzzbuild/tags/___delivery_xml/AU210_SOP8_11510P.xml

工作正常,因此路径有效。 由于某些测试运行,AU210_SOP8_11510P.xml确实已经存在,但它没有解释这种行为。 这个命令已经工作了好几周,直到昨天。

我正在运行所有类型的方案来破坏构建作业,以确保系统尽可能简单,但也尽可能地防范。

我同时运行了2个工作,因此他们在一个流离失所的时间线上提交到同一个来源 - 当然 - 在某个时间因资源不同步而导致失败而告终。 只有重新获取外部修订并将其应用于属性 svn:externals 才能修复它。 但现在将AU210_SOP8_11510P.xml作为目录而不是文件处理。

https://REPO_DOMAIN/svn/repos/productive_zzzbuild/tags/___delivery_xml/AU210_SOP8_11510P.xml不是外部的一部分,也没有在财产中提及。

svn copy https://REPO_DOMAIN.com/svn/repos/productive_zzzbuild/branches/Vancouver_delivery/zzzBuild/release-docs/current/Int_AU210_SOP8/delivery.xml https://REPO_DOMAIN.com/svn/repos/productive_zzzbuild/ tags / ___ delivery_xml -m“20.12.2011:ReleaseLabel:11510P的delivery.xml”按预期工作。

  • 我可以解决方法,首先将delivery.xml复制到该位置 之后重命名但这创造了我想要的一些工作 避免。
  • 我必须运行自动检查,即deliver.xml和重命名的版本都不存在,如果他们提供了一些 进一步行动如何处理情况以避免失败的工作
  • 每个区域和每个软件包都存在delivery.xml,因此我必须根据不同的条件对~20 delivery.xml进行更改。

为什么会发生这种情况?

更新:

  • 复制然后重命名不起作用:(同样的错误就好像我直接用uniqe名称一样复制它......
  • 删除已存在的文件确实解决了问题。
  • 行为是可重复的。如果文件名为present,则该命令假定提供的文件名是目录。这不是预期的回应。恕我直言应该响应:文件现有提交失败。我想知道我是怎么破坏的。必须修复此问题,因为如果开发人员尝试添加存储库中已存在的文件并误导它们,则会遇到问题。

干杯 扬

0 个答案:

没有答案