subversion(1.7)提交合并文件,包括mergeinfo但保留其他修改过的文件

时间:2013-03-06 09:58:40

标签: svn

将一些更改从一个分支合并到另一个分支后,我修改了以下文件

M      .
M      modifiedDueToMerge
M      modifiedByMe

我只想提交来自合并的内容,换言之,在我提交后仍应修改“modifiedByMe”。

我打算尝试使用更改列表,例如

svn changelist merged .
svn changelist merged modifiedDueToMerge

但它没有采取“。”当从更改列表中获取状态时,我只看到“modifiedByMe”文件。

如果不在目标分支中包含已修改的文件,建议进行合并+提交的方法是什么?

2 个答案:

答案 0 :(得分:1)

我建议检查你的分支的第二个干净的副本,在那里进行合并,然后提交。我不确定你有多小心,但你的合并可能会影响你首先修改的文件,现在包含合并以及你的更改。我会做一个完整的Check for modifications并在你的工作副本版本和每个受影响文件的基本版本之间做一个差异,只是为了确定。

您可以使用TortoiseSVN的日志确定合并修改哪些文件,然后选择修订范围,然后从结帐中提交这些特定文件。这不是100%准确,所以我仍然会做我上面建议的。

最后,我认为将svn:mergeinfo提交给除分支根目录之外的任何内容都是一个坏主意。我已经被文件和子文件夹上的mergeinfo计算了多次,所以我写了一个工具,在提交合并之前从它们中剥离svn:mergeinfo。有关详细信息,请查看SO上的this answer

答案 1 :(得分:0)

关注Commit only property changes on root of repo, not files我发现以下是诀窍:

svn commit --depth empty -m "comment about the commit" . modifiedDueToMerge