【问题标题】:How can I peg an external to a specific revision using SVN command line如何使用 SVN 命令行将外部链接到特定版本
【发布时间】:2021-04-15 18:34:56
【问题描述】:

我在工作中使用 Torsoise SVN 作为版本控制。我们有一个模型,它附带了几个外部组件,每个外部组件通常都与某个版本挂钩。我需要有一个代码,在运行时检查指定位置的外部,确定它们当前是否已挂钩,然后如果有任何未挂钩的外部,将它们与当前 HEAD 的修订号挂钩。我已经想出了如何使用“propget”来确定外部是否被挂钩,如果是,那么修订号是多少。现在我很难弄清楚如何使用命令行将其他未绑定的外部链接到我选择的修订号。根据 SVN 命令行帮助,似乎有某种方法可以使用“propset”来执行此操作,但我显然无法正确使用语法,也不知道它有什么问题。为了帮助更清楚一点,这里是我正在尝试做的一个例子:

假设我的模型在本地位于“C:\Users\me\Documents\2021\Test\ProdBranches\1.3.x\Controller”,SVN URL 为“https://example.com/svn/Test/ ProdBranches/1.3.x/Controller”。

控制器有两个外部:CAN和Lib

它们的本地路径是:CAN - "C:\Users\me\Documents\2021\VCM_Library\trunk\CAN" & Lib - "C:\Users\me\Documents\2021\VCM_Library\trunk\Simulink"

他们的 SVN URL 是:CAN - “https://example.com/svn/VCM_Library/trunk/CAN” & Lib - “https://example.com/svn/VCM_Library/trunk/Simulink”

我可以运行命令“svn propget svn:externals -R C:\Users\me\Documents\2021\Test\ProdBranches\1.3.x\Controller”并得到响应“Documents\2021\Test\ProdBranches\1.3 .x\控制器 - https://example.com/svn/VCM_Library/trunk/CAN@504 CAN https://example.com/svn/VCM_Library/trunk/SimulinkLib"

所以我可以看到 CAN 与 504 挂钩。现在我想将 Lib 与 579 挂钩。我该怎么做?

这是我尝试 svn propset 时发生的情况。我做了 propdel 来删除外部组件,这就是我尝试在修订版 504 中添加 CAN 的方式:

C:\Users\me>svn ps svn:externals -r504 https://example.com/svn/VCM_Library/trunk/CAN@504 C:\Users\me\Documents\2021\Test\ProdBranches\1.3.x\Controller

svn: E205000: 尝试“svn help propset”获取更多信息 svn: E205000: 无法为设置版本化属性 'svn:externals' 指定修订版

【问题讨论】:

    标签: svn revision


    【解决方案1】:

    你有两种(稍微)不同的方式:

    1. 在一个命令中完成svn propedit(有关详细信息,请参阅SVN Book

    专业版:单个命令 魂斗罗:纯交互模式

    1. 使用对svn propdel + svn propset

    专业版:可以轻松实现自动化 相反:两个命令

    【讨论】:

    • 我试过了,propdel 工作了,但我仍然无法得到 propset。查看编辑后的帖子
    • @HunterLazenby - 您不得对已定义的版本化属性使用有效修订版(--revprop --rev N 仅用于修订版属性)
    • 我写的哪一部分使用的是有效修订版?我不确定要进行哪些更改
    • @HunterLazenby - svn ps,显然。只需写svn ps svn:externals https://example.com/svn/VCM_Library/trunk/CAN@504 C:\Users\me\Documents\2021\Test\ProdBranches\1.3.x\Controller,一切都会好起来的
    【解决方案2】:

    这引出了一个问题,为什么工具中实际上没有这个 --peg-externals 使用 HEAD 而不是当前版本很疯狂

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 2020-05-30
      • 2011-03-24
      相关资源
      最近更新 更多