Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/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 颠覆:为什么;混合修订“;什么时候修订号是连续的?_Svn - Fatal编程技术网

Svn 颠覆:为什么;混合修订“;什么时候修订号是连续的?

Svn 颠覆:为什么;混合修订“;什么时候修订号是连续的?,svn,Svn,例如:假设在svn更新后我在第10版。如果我现在添加一个文件并执行提交,svnversion将报告我处于混合修订状态;也就是10:11。但由于这些数字是按顺序排列的,很明显,在这两者之间没有任何其他的承诺。subversion不能从中扣除我的版本是最新的(=HEAD),这样我就不需要运行另一个svn更新来删除此混合修订状态吗 我意识到这没什么大不了的;我只是想知道,如果上述推理可能不正确,我是否遗漏了一些特殊情况。对于Subversion声称您修改的文件是版本11,我实际上有点惊讶,因为它们可能

例如:假设在
svn更新后
我在第10版。如果我现在添加一个文件并执行提交,svnversion将报告我处于混合修订状态;也就是10:11。但由于这些数字是按顺序排列的,很明显,在这两者之间没有任何其他的承诺。subversion不能从中扣除我的版本是最新的(=HEAD),这样我就不需要运行另一个svn更新来删除此混合修订状态吗


我意识到这没什么大不了的;我只是想知道,如果上述推理可能不正确,我是否遗漏了一些特殊情况。

对于Subversion声称您修改的文件是版本11,我实际上有点惊讶,因为它们可能不是。如果其他人在您之前提交版本11,那么您的文件最终将是版本12或更高


我想原因是您的本地subversion不能声称您添加了文件的版本完全是版本11,因为它还不能确定。

如果我正确理解了您的问题,我可以告诉您,您的工作副本几乎总是有混合版本。这是因为不同的文件已提交到不同的修订版中,并已更改。您是否注意到一些文件(例如)显示版本10,而其他文件显示版本25,但您仍然处于头部版本中。这是因为您的工作区包含文件和修订的附加元数据


一般来说,这不应该是一个问题,在我看来,这是SVN工作流程的一部分。我记得SVN文档中已经解释了这一点,但我现在似乎找不到它。如果我这样做,我将相应地编辑我的答案。

我从来没有仅仅通过提交新文件意外地创建“混合修订”状态。然后我再次使用TortoiseSVN,通常对项目根执行提交操作。也许这样就可以看出整个事情都是最新的。我试图在上面描述的场景是,没有人在我的“更新”和以后的“提交”之间提交版本,而subversion应该能够推断出这一点,因为版本号是按顺序排列的。当然,如果有人在我之前提交了某些内容,那么我将获得版本12(或更高版本),并且“混合修订”状态是合理的。但是您的本地Subversion不知道没有其他人提交了任何内容,而没有与服务器进行通信。您是说我的本地Subversion在我进行提交时没有与服务器进行通信吗?对不起,我一定是误读了你说的话。(要么是这样,要么是我使用Git太久了。)当然你是对的,客户端在执行提交时确实会与服务器进行通信。但是我想,如果不进行
svn更新
,它不一定知道其余文件的状态。确切地说:)我的观点是,在这个特殊的情况下,Subversion现在确实知道其余文件的状态;它只是没有利用它。