首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我手工编辑mergeinfo的方式安全吗?

我手工编辑mergeinfo的方式安全吗?
EN

Stack Overflow用户
提问于 2012-11-02 18:37:41
回答 1查看 4.6K关注 0票数 2

我对为什么子目录合并是坏的做了一些研究,最近在我们的存储库中发现了一个包含mergeinfo的子目录。

我正在尝试手动删除这个合并信息,并想看看我是否正确地理解了mergeinfo并正确地执行了它。

ROOTDIR mergeinfo

/分支机构/分会53:18065-18126

/分支/分会54:18150-18204,18210-18231

/branches/Iteration55:18341,18348,18353-18355,18357,18364-18365 <=====这一行是不同的

/分支/gdsRework:17329-17457

/trunk:17869,18085

SUBDIR mergeinfo

/支部/Iteration53/kiwi-web:18065-18126

/branches/Iteration54/kiwi-web:18150-18204,18210-18231

/分支/iteration55/kiwi:18336-18428 <=====这一行是不同的

/分支/gdsRework/kiwi-web:17329-17457

/主干/猕猴桃网站:17869 18085

两者之间只有一条不同的行。我还注意到,中的范围18336-18428包括ROOTDIR合并信息中同一行的所有修订。

因此,我的计划是将ROOTDIR中的这一行替换为SUBDIR中的行,并将SUBDIR合并信息全部删除:

新品种merginfo

/分支机构/分会53:18065-18126

/分支/分会54:18150-18204,18210-18231

/分支/Iteration55:18336-18428 <=====现在与SUBDIR相同

/分支/gdsRework:17329-17457

/trunk:17869,18085

SUBDIR合并信息被删除.

这安全吗?陷阱会在哪里呢?提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-02 22:34:41

不建议手动编辑mergeinfo。尽管在过去,我做了您所描述的事情,即使根和子did之间的差异更复杂,这样的编辑是非常容易出错的,因此需要非常小心和准确。正如我后来了解到的,SVN非常强大,可以很容易地解决这种情况;所以最好不要养成手工合并信息编辑的习惯。

简单的情况是,subdirectory中记录的“额外”修订只影响该子目录。在这种情况下,您只需要在ROOTDIR级别对修订18336到18428进行记录合并。仅记录的合并将更新ROOTDIR的mergeinfo,而不触及任何文件,而且由于SUBDIR合并信息将与ROOTDIR完全相同,因此它将删除这一过度。

  • 如果直接使用SVN命令,只需将--record-only选项添加到用于实际合并的svn merge命令中即可。
  • 如果您使用GUI客户端,请在其合并对话框中查找“只记录”或类似命名的选项。

请注意mergeinfo中的范围(包括它的结束和两者之间的所有内容)和-r选项中的范围之间的区别(它指定了两个要进行diff的修订);例如,在命令行中,您需要指定-r 18335:18428,即接受diff的起始修订比要合并的第一个修改少一个。

更复杂的情况是,如果这些修订合并到SUBDIR,而不是ROOTDIR,也会更改SUBDIR之外的文件。很可能这些变化还没有被合并。如果忽略这些更改是安全的,那么您也可以进行只记录的合并。相反,如果这些更改碰巧被遗漏,您可能希望对ROOTDIR级别上的修订进行常规合并,并修复合并冲突(如果有的话)。

完成合并(只记录或常规合并)后,检查mergeinfo是否为目录正确更改,并提交结果。

我在这里学到了一篇很好的文章,介绍了mergeinfo以及如何被SVN命令操作(包括只记录的合并、合并信息省略等),这里是:Subversion 1.5 Mergeinfo -了解内部结构。我建议您在尝试修复存储库中的mergeinfo之前先阅读它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13201153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档