gpt4 book ai didi

svn - 从SVN的两个不相关分支合并一个文件的正确方法

转载 作者:行者123 更新时间:2023-12-04 22:18:48 42 4
gpt4 key购买 nike

我有两个密切相关的 C 项目已 checkin SVN(但不是共同祖先的分支)。我们称它们为 Foo 和 Bar。它们各自包含一个文件“user_param.h”

我想将 Foo 项目中的文件“user_param.h”合并到 Bar 项目的“user_param.h”中。我想手动进行文本合并,但我想记录合并信息,以便我对其他分支有一定的可追溯性。

我知道如何进行从主干到分支或返回的正常合并,但不确定该怎么做。

进行这种合并的正确方法是什么?

最佳答案

如果两个分支没有共同的祖先,Subversion 将拒绝合并,你会得到这样的东西:

$ svn merge ^/path/to/other/user_param.h
svn: E195016: 'file:///.../path/to/other/user_param.h@19' must be ancestrally related to 'file:///.../path/to/this/user_param.h@18'

所以,这真的不可能。我认为您别无选择,只能手动复制文件。

如果你想要某种可追溯性,也许你可以记录一个 Subversion 属性,例如:

svn pset fake:mergeinfo /path/to/other/user_param.h:18-19 user_param.h

这模仿了 Subversion 在合并工作时在相关分支之间设置的 svn:mergeinfo 属性。正如您所要求的,此属性只是具有某种可追溯性,除此之外它没有任何功能,也不会以任何方式影响 Subversion 操作。

作为@BenReser在评论中指出:

You can use --ignore-ancestry to merge unrelated files but you won't get merge tracking

关于svn - 从SVN的两个不相关分支合并一个文件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028368/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com