为什么svn提交不会更改未受影响的文件的版本号?

时间:2014-11-26 21:26:42

标签: svn

假设我的仓库中有两个文件,A.txtB.txt,它们目前都在修订版X.如果我修改A.txt然后修改svn commit,那么文件A.txt将在我的工作副本中处于修订版X + 1,而B.txt仍将处于修订版X.

由于修订号应该是目录树的快照,因此我认为B.txt也应该是修订版X + 1。实际上,如果我要svn update,那么我工作副本中B.txt的修订号将为X + 1。那么,如果我们知道只要有混合版本,那么在svn的工作副本中允许混合版本号的原因是什么,在未修改的文件中修订版X和X + 1之间没有差异?

1 个答案:

答案 0 :(得分:0)

当我准备提交这个问题时,我想到了答案。假设我已检出修订版X,并对A.txt进行了更改。假设在同一时间,另一个用户进行更改并将它们作为修订版X + 1提交给repo。如果其他用户更改了A.txt,那么如果不更新我的工作版本,我将无法提交;但是,如果其他用户更改B.txt但单独留下A.txt而未更改,则我 能够提交我的更改而不进行更新。

当我svn commit时,我的文件A.txt将处于修订版X + 2,但我工作版本中的B.txt仍处于修订版X,因为我从未更新它以接收其他版本用户的更改。