我一直在使用Clear Case,我开始使用Subversion。
如果分支机构的修订号从0开始,我很困惑 或者如果它 从后备箱的HEAD修订号开始。
另一个问题, 在我提交Trunk之后,如果最新版本的分支与Trunk的HEAD版本相同,我会感到困惑。
提前致谢。
答案 0 :(得分:4)
Subversion存储库中的修订号是全局的,即它们适用于整个存储库,包括trunk
,tags
和branches
。
本书“Subversion版本控制”的这一部分可能对您有用:
答案 1 :(得分:1)
在考虑Subversion中的版本控制,分支和合并时,您不应该应用任何ClearCase经验(除了系统变更管理的概念)。它完全不同。
subversion中的中继和分支是对称的独立文件夹。当一个人分支另一个时,它实际上是一个轻量级的写时复制。
Revision是存储库的全局状态,而不是单个元素的状态,这就是为什么你看到“分支的最新版本与主干头版本相同”。
答案 2 :(得分:1)
在Subversion中,每个新存储库在创建时都将从修订版1开始。
无论您是否提交主干,分支或创建标记,所有修订都是每个存储库的唯一和增量版本。
所以你会得到这样的修订号:
Commit to Trunk - rev 1
Commit to Trunk - rev 2
Commit to Branch - rev 3
Commit to Trunk - rev 4
答案 3 :(得分:1)
Subversion版本号严格单调。如果您的提交获得修订号 n ,那么下一次提交将是修订版 n +1,无论repo中的哪些内容都被提交。它甚至可能是同一个仓库中的另一个项目。