SVN外部和修订协会

SVN外部和修订协会,svn,svn-externals,Svn,Svn Externals,我想使用SVN外部在不同的项目之间共享代码文件。我需要问你一个关于该功能的问题,但让我们通过解释情况来回答 我在SVN上创建了两个项目(目录):'A'和'B' “A”包含要在其他项目之间共享的文件,其中一个文件名为“shared.txt” “shared.txt”链接到“B”(使用“B”的svn:externals属性) 除此之外,“B”还包含其他源代码文件(完整项目) 现在是问题。我查看了一些较旧版本的“B”,以了解我将使用哪个版本的“shared.txt”不幸的是,无论我从测试库下载的是“B

我想使用SVN外部在不同的项目之间共享代码文件。我需要问你一个关于该功能的问题,但让我们通过解释情况来回答

  • 我在SVN上创建了两个项目(目录):'A'和'B'
  • “A”包含要在其他项目之间共享的文件,其中一个文件名为“shared.txt”
  • “shared.txt”链接到“B”(使用“B”的svn:externals属性)
  • 除此之外,“B”还包含其他源代码文件(完整项目)
  • 现在是问题。我查看了一些较旧版本的“B”,以了解我将使用哪个版本的“shared.txt”不幸的是,无论我从测试库下载的是“B”的哪一个历史版本,我总是会得到最新版本的“shared.txt”。

    让我们想象一下,我想在几个月前下载“B”项目。在这几个月里,“shared.txt”经历了许多变化。但我想下载一个完整的项目,就像几个月前一样,还有当时的外部环境

    如果不手动查找每个外部文件的适当版本,这是否可能?我知道我可以将外部文件的特定版本与我的测试项目“B”关联,但这不是解决方案。我想如果我这样做,我将永远无法访问最新的外部文件,即使我查看了最新版本的“B”。我是对还是错


    谢谢你的帮助(很抱歉,如果我的问题已经被问到了,但我找不到任何类似的问题)。

    是的,这种形式的问题是很久以前在这里提出的(smth.比如“当SuperRepoURL中的svn up-r{DATE}时,使用这个日期进行外部更新,如果它们是头部链接的话”),仍然没有很好的答案

    发现的anwser是“为了获得同步状态,您必须
    cd
    进入所有外部WC/目录externals/和
    svn up-r{DATE}
    ”。我还没有对文件回购负责

    替代解决方案

    开发过程中采取的行动越多,回溯时间的行动就越少

    • 始终使用PEG revision定义外部
    • Monitor将(因此-更改顶部修订)提交到外部
    • 外部提交后,使用其他提交执行外部定义的更改(可能可以在repo external的post commit hook中编写脚本)

    FR for ASF“主repo中{DATE}操作的子repo递归处理”将非常有用

    我还需要解决此问题,并开始讨论svn用户邮件列表,导致以下功能请求。