Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么svn commit不更改未受影响文件的版本号?_Svn - Fatal编程技术网

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

为什么svn commit不更改未受影响文件的版本号?,svn,Svn,假设我的repo中有两个文件,A.txt和B.txt,它们当前都处于修订版X。如果我修改A.txt,然后svn提交,那么文件A.txt将在我的工作副本中处于修订版X+1,而B.txt仍处于修订版X 因为修订号应该是目录树的快照,所以在我看来,B.txt也应该是修订版X+1。事实上,如果我随后进行svn更新,那么我的工作副本中B.txt的修订号将是X+1。那么,如果我们知道,只要存在混合修订,在未更改的文件中,修订X和X+1之间就没有差异,那么在svn的工作副本中允许混合修订号的原因是什么呢?当我

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


因为修订号应该是目录树的快照,所以在我看来,
B.txt
也应该是修订版X+1。事实上,如果我随后进行
svn更新
,那么我的工作副本中
B.txt
的修订号将是X+1。那么,如果我们知道,只要存在混合修订,在未更改的文件中,修订X和X+1之间就没有差异,那么在
svn
的工作副本中允许混合修订号的原因是什么呢?

当我正要提交这个问题时,我想到了答案。假设我签出了修订版X,并对
A.txt
进行了更改。假设同时,另一个用户进行更改,并将其作为修订版X+1提交给回购协议。如果其他用户更改了
A.txt
,则在不更新工作版本的情况下,我将无法提交;但是,如果另一个用户更改了
B.txt
,但没有对其进行更改而只留下
A.txt
,则我可以提交更改而不进行更新

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