假设我的仓库中有两个文件,A.txt
和B.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之间没有差异?
答案 0 :(得分:0)
当我准备提交这个问题时,我想到了答案。假设我已检出修订版X,并对A.txt
进行了更改。假设在同一时间,另一个用户进行更改并将它们作为修订版X + 1提交给repo。如果其他用户更改了A.txt
,那么如果不更新我的工作版本,我将无法提交;但是,如果其他用户更改B.txt
但单独留下A.txt
而未更改,则我 能够提交我的更改而不进行更新。
当我svn commit
时,我的文件A.txt
将处于修订版X + 2,但我工作版本中的B.txt
仍处于修订版X,因为我从未更新它以接收其他版本用户的更改。