在顶级文件夹级别合并时如何使用子文件夹的合并信息? [英] How are the sub folder's mergeinfo used when merging at top folder level?

查看:33
本文介绍了在顶级文件夹级别合并时如何使用子文件夹的合并信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们知道,如果合并是在该文件夹级别执行的,TortoiseSVN 会创建 svn:mergeinfo 作为文件夹属性.这可能是顶级文件夹(例如 trunk)或某个子文件夹.我一直认为在子文件夹级别合并是可以的,因为在顶级文件夹级别合并时将使用子文件夹上的 svn:mergeinfo.我认为过去它对我来说通常也有效,直到今天我看到一个我无法解释的案例.

As we know, TortoiseSVN creates svn:mergeinfo as a folder property if the merge is performed at that folder level. This could be a top folder (such as trunk) or some sub folder. I always thought that it was OK to merge at sub folder level since the svn:mergeinfo on the sub folders would be used when merging at the top folder level. I think that it was generally working for me as well in the past, until today when I saw a case that I could not explain.

我在子文件夹级别看到了从 branchtrunk 的合并,我可以在该修订版上看到 svn:mergeinfo 属性trunk 中的子文件夹也是如此.

I saw a merge at sub folder level from a branch to trunk and I could see at that revision an svn:mergeinfo property on that sub folder at trunk as well.

但是,如果我尝试在顶级文件夹级别再次从 branch 合并到 trunk,分支上的合并修订不会变灰.如果我尝试合并,它只会合并顶部文件夹中的属性,而无需更改任何代码.如果我尝试从该子文件夹合并一个文件夹,则合并后的修订版本也不会变灰.

However if I try to merge from branch to trunk again at the top folder level, that merged revision at branch is not greyed out. If I try to merge, it would just merge the property at the top folder without really any code change. If I try to merge one folder up from that sub folder, that merged revision is not greyed out as well.

我无法解释我在这里看到的东西.任何人都可以对此有所了解吗?我使用的是最新的 TortoiseSVN 1.8.1.过去我使用的是 TortoiseSVN 1.7 及更低版本.最新版本的 TortoiseSVN 是否有意改变了这种行为,还是我在这里遗漏了什么?

I could not explain what I saw here. Could anyone shed some light on this? I am using the latest TortoiseSVN 1.8.1. In the past I was using TortoiseSVN 1.7 and below. Has the latest version of TortoiseSVN changed the behavior for this intentionally or am I missing something here?

推荐答案

  1. 不要使用你不完全理解的技巧
  2. 在不需要时不要使用技巧(子树合并是必须的在极少数情况下,仅在某些特殊情况下)
  3. SVN 书 轻轻地,慢慢地,不着急

现在,关于您的问题的注意事项:

And now, considerations regarding your question:

  • 当您在子树中合并一些修订时,对父级来说毫无意义 - 因为对于任何级别的父级来说,这些修订不会合并(即使它们没有任何子树外的对象)
  • 子树的合并信息仅用于避免在此子树中重复合并(不在此子树之上或之下),当相同的修订版稍后合并到某个父级(和移动到父的合并根,当这种合并与交叉修订(在子树和父合并中)完成时)
  • When you merge some revisions in subtree, in means nothing for parents - because for parents of any level these revisions are not merged (even if they haven't any objects outside subtree)
  • Mergeinfo of subtree used only for avoiding duplicated merge in this subtree (not above or below), when the same revision(s) merged later to some parent (and moved to merge-root of parent, when such merges with intersected revision (in subtree and parent merges) is done)

这篇关于在顶级文件夹级别合并时如何使用子文件夹的合并信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆