SVN:为什么分支中未修改的文件有主干的修订?

标签 svn branch revision

据我所知,SVN 分支会创建所有文件的副本并为其分配修订号。

但是,当我切换到分支时,未修改文件的修订版号与主干中的修订版号相对应。

例如:

假设我的后备箱里有:

foo.txt  2  trunk

当我创建分支时:

foo.txt  100 branch  copy from trunk@2

但是当我检查分支时我看到:

foo.txt  2  trunk

为什么分支中 foo.txt 的修订版不是 100 ?

最佳答案

Subversion 没有按元素划分的修订号,而是针对整个文件树。如果您在 Subversion 中制作副本,这只是对作为副本基础的修订版的引用(Subversion 中所谓的廉价副本)。只要您不更改文件中的任何内容,该文件就会引用其上次更改,并且是在主干中完成的。

所以修订号有点误导,但是正确的。是的,它与其他一些版本控制系统(尤其是 CVS)不同。

关于SVN:为什么分支中未修改的文件有主干的修订?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8048445/

相关文章:

svn - VisualSVN 预提交规则

branch - Gitolite 限制对分支的访问

git - 旧源代码到新存储库

visual-studio - 如何使用 VisualSVN Server 将现有的 Visual Studio 解决方案置于源代码管理之下?

shell - Fish shell 中带花括号的 Subversion 命令

svn - 使 SVN Commit 也打印差异

使用通配符对特定修订版进行 Git check out

git - 为什么我应该使用标签而不是 release/beta 分支来进行版本控制?

Mercurial - 如何在提交时指定分支?

本地存储库的 Git checkout 修订版