【问题标题】:How to enable svn merge to consider externals for changes?如何启用 svn merge 以考虑外部更改?
【发布时间】:2012-01-19 21:40:03
【问题描述】:

假设从 svn 自动复制的 svn:externals 文件中签出,即 /granddad/folderExternaled/myComputedFile.txt。此结帐来自旧分支,因此其外部与主干中的不同。然后我从主干合并到分支。

结果是,在 SVN 1.6.* 中;

  1. /granddad/folderExternaled/ 的外部没有改变,但它的合并信息
  2. /granddad/folderExternaled/myComputedFile.txt 的 mergeinfo 已更改,因此它注册为 CONFLICT。

结果是,在 TortoiseSVN 1.7.4.22459 中,只有第 1 项;第 2 项正确地未发生任何冲突。

我希望,最好在 TortoiseSVN 中,但如果不是在 SVN 中,我可以有一个“复选框”/选项来忽略或考虑外部文件夹,显然它们被部分忽略(不接受功能更改)和部分考虑(合并信息已更新)。

更新:

我的问题可能不清楚。

我想找出一种解决方法,但我不确定是否有任何可用的方法。也许什么都没有,因为我没有得到答复。或者也许我不够清楚。这是最后一段,就在这上面说明了问题。

【问题讨论】:

    标签: svn merge tortoisesvn


    【解决方案1】:

    外部人员不应该考虑修改,因为更改它们不是一个好习惯,即使它们是您可以修改的存储库的一部分,并且即使用户有兴趣知道哪些修改将应用于合并.这就是为什么 1.7 版的行为更有意义:SVN 应该只监视存储库中的属性条目,而不是在 Externals 文件夹中插入 mergeinfo

    如果您确实需要检查这些修改,我建议您Checkout您的 Externals 中的两个版本,并将它们手动覆盖最旧的文件与最新的文件进行比较。

    【讨论】:

    • 您好 Cigano,非常感谢您的回复!我想你是对的。总之; 1. 使用 SVN 1.7+,mergeinfo 不再是外部的可怕问题。 2. 对我来说,今后修改外部并能够轻松跟踪它的想法似乎不受支持。 3.我希望写一个小的svn例子,记录发生了什么: SVN add externals to A;从A创建分支B;更改 B 的外部,例如要使用的文件的修订版从 1 更改为 2;将 B 合并到 A。
    猜你喜欢
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多