当我在trunk下提交某些文件时,为什么svn中trunk内的所有文件的修订号都不相同

当我在trunk下提交某些文件时,为什么svn中trunk内的所有文件的修订号都不相同,svn,Svn,当我在trunk下提交某些文件时,为什么svn中trunk内的所有文件的修订号都不相同。根据SVN,修订号应用于整个主干,而不是单个文件 以下是SVN书中关于修订的内容 全球修订号 与大多数版本控制系统不同,Subversion的修订号适用于整个存储库树,而不是单个文件。 每个修订号选择一个完整的树,即某个提交的更改后存储库的特定状态。另一种方法 试想一下,修订版N表示第N次提交后存储库文件系统的状态。当Subversion用户 谈到“foo.c的修订版5”,他们的真正意思是“foo.c,正如修

当我在trunk下提交某些文件时,为什么svn中trunk内的所有文件的修订号都不相同。根据SVN,修订号应用于整个主干,而不是单个文件

以下是SVN书中关于修订的内容

全球修订号 与大多数版本控制系统不同,Subversion的修订号适用于整个存储库树,而不是单个文件。 每个修订号选择一个完整的树,即某个提交的更改后存储库的特定状态。另一种方法 试想一下,修订版N表示第N次提交后存储库文件系统的状态。当Subversion用户 谈到“foo.c的修订版5”,他们的真正意思是“foo.c,正如修订版5中所显示的那样”
和一个文件的M不一定不同

您正在查看repo浏览器中的文件吗?如果是这样,则为每个文件指定的修订版本都是该文件上次更新的修订版本。

提交文件时,您现在有了一个。基本上,尽管在提交更改时确实创建了一个包含所有文件的新修订版,但在提交更改时SVN不会自动从该修订版中检索所有文件。它仅在更新时执行此操作。因此,要使您的工作副本与实际版本同步,您只需
svn update


事实上,最好的做法是在
svn提交之前总是
svn更新
。否则,在您自己的工作副本中生成并运行良好的更改可能与对项目其余部分所做的更改不兼容。

是的,我知道这一点,但我的问题不同,当我提交存储库中的几个文件时,然后,未更改的其他文件的修订版也应随提交的文件一起增加。无论您在何处看到单个文件的修订版,都是该文件更改的修订版。未提交文件的修订号不会更改,因为未在该修订中编辑这些文件。您不希望看到FileA上次在修订版5中编辑时有修订版12。您无法知道FileA是何时真正被编辑的。FileA(第5版)作为一个整体仍然是第12版的一部分。是的,即使这是我的理解,但当我在SVN书中阅读我上述问题中发布的关于“全球修订号”的详细信息时,它与我们的理解相矛盾,这是否意味着SVN书的描述是错误的?,我真的没有弄清楚。这不是关于混合修订工作副本,我的工作副本中有最新版本,然后我在几次文件更改后向SVN提交,然后修订号只更改为提交的文件,而不是其他文件,所以如果我看到SVN书,他们会说“全局修订号”Subversion的修订号适用于整个存储库树,而不是单个文件。所以,如果你能帮助我理解这一点,那将是巨大的帮助。感谢当您将更改提交到一个或多个文件时,您会自动创建一个混合修订工作副本。这正是你所看到的。全球修订已经向前推进。您的工作副本尚未具有该全局修订版。进行一次更新,您将获得该全局修订。