当我在主干下提交某些文件时,为什么 svn 中该主干内的所有文件的修订号都不相同
When I Commit certain files under trunk, why revision number is not same for all the files inside that trunk in svn
当我在 trunk 下提交某些文件时,为什么 svn 中该 trunk 内的所有文件的修订号都不相同。根据 SVN,修订号应用于整个主干而不是单个文件。
以下是 SVN 书中关于修订的内容
全球修订号
与大多数版本控制系统不同,Subversion 的修订号适用于整个存储库树,而不是单个文件。
每个修订号都会选择一棵完整的树,即某些已提交更改后存储库的特定状态。另一种方法
考虑一下,版本 N 代表第 N 次提交后存储库文件系统的状态。当 Subversion 用户
谈论“foo.c 的第 5 次修订”,他们的真正意思是“第 5 次修订中出现的 foo.c”。请注意,一般来说,修订版 N
和一个文件的M不一定不同!
您正在查看存储库浏览器中的文件吗?如果是这样,为每个文件给出的修订版就是该文件最后更新的修订版。
当您提交文件时,您现在有一个 mixed-revision working copy。基本上,尽管您在提交更改时 did 创建了一个包含 all 文件的新修订版,但 SVN 不会自动为您检索该修订版中的所有文件当你提交。它仅在您更新时执行此操作。因此,要使您的工作副本与实际修订同步,您必须简单地 svn update
.
事实上,最好的做法是总是 svn update
在 svn commit
之前。否则,在您自己的工作副本中构建和 运行 正常的更改可能与对项目其余部分所做的更改不兼容。
当我在 trunk 下提交某些文件时,为什么 svn 中该 trunk 内的所有文件的修订号都不相同。根据 SVN,修订号应用于整个主干而不是单个文件。
以下是 SVN 书中关于修订的内容
全球修订号 与大多数版本控制系统不同,Subversion 的修订号适用于整个存储库树,而不是单个文件。 每个修订号都会选择一棵完整的树,即某些已提交更改后存储库的特定状态。另一种方法 考虑一下,版本 N 代表第 N 次提交后存储库文件系统的状态。当 Subversion 用户 谈论“foo.c 的第 5 次修订”,他们的真正意思是“第 5 次修订中出现的 foo.c”。请注意,一般来说,修订版 N 和一个文件的M不一定不同!
您正在查看存储库浏览器中的文件吗?如果是这样,为每个文件给出的修订版就是该文件最后更新的修订版。
当您提交文件时,您现在有一个 mixed-revision working copy。基本上,尽管您在提交更改时 did 创建了一个包含 all 文件的新修订版,但 SVN 不会自动为您检索该修订版中的所有文件当你提交。它仅在您更新时执行此操作。因此,要使您的工作副本与实际修订同步,您必须简单地 svn update
.
事实上,最好的做法是总是 svn update
在 svn commit
之前。否则,在您自己的工作副本中构建和 运行 正常的更改可能与对项目其余部分所做的更改不兼容。