1

对不起,如果这不是一个有效的问题(我希望我是对的)。

我正在使用 SVN 进行的项目由两个“分支”组成。主干是完成大部分开发的地方,还有“发布”分支,这是发布最终版本的地方。

这个想法是,当我对主干进行更改并对其进行测试时,这些更改仅在我确信已找到大多数/所有错误时才合并到分支中并发布。但是,分支永远不会与主干完全相同。这是因为它使用不同的连接字符串、不同的图标等。

结果,每次我将主干中的新修订合并到分支中时,svn:mergeinfo 属性都会变得越来越大。现在它的值是“/trunk:2216-2225,2231-2234,2239,2246-2247,2253,2255,2259-2268,2271”。随着项目的继续,合并后的修订号将继续添加到其中。

注意:这是唯一存在的 svn:merginfo 属性,并且位于分支的根目录。

所以我的问题是我是否需要这个(最终是巨大的)价值留在那里,或者我是否可以删除它。

编辑澄清:分支永远不会合并回主干。只会进行主干到分支的合并。分支存在的原因是最新发布的版本始终可用,但由于来自主干的必要更改,标签无法完成这项工作。

我看到过类似的问题,但它们似乎都是关于在最新合并时更新的分支与主干相同或存在多个 svn:merginfo 属性的项目,所以我不确定相同的答案是否适用这里。

谢谢你。

4

1 回答 1

0

合并信息在那里,所以 SVN 可以记住哪些修订已经被合并。因此,如果您合并主干-> 分支而没有明确指定要合并的任何修订,它将合并所有尚未合并的修订。

如果您总是明确地“挑选”要合并的修订,那么这对您没有任何用处,您可以删除合并信息(尽管我通常通过将其更改为“1-2271”来手动删除它如果您确实需要合并信息,请减少它需要做的解析。

不过,一般来说,您最好保留它,拥有它并没有什么坏处。

PS 在 SVN 用语中,“标签”是一个分支,只是以不同的名称来表示其用途。分支被称为短暂的开发,将合并到主干。标签是长期存在的,但在幕后,它们是一回事。

于 2014-05-07T11:58:59.567 回答