一个例子:假设svn update
我在修订版本 10 之后。如果我现在添加一个文件并执行提交,svnversion 将报告我处于混合修订状态;即10:11。但由于这些数字是按顺序排列的,显然在这两者之间没有任何其他提交。不能 subversion 从中推断出我的版本是最新的 (=HEAD) 所以我不需要运行另一个 svn update 来删除这个混合修订状态?
我意识到这没什么大不了的。我只是想知道我是否遗漏了一些特殊情况,上述推理可能不正确。
一个例子:假设svn update
我在修订版本 10 之后。如果我现在添加一个文件并执行提交,svnversion 将报告我处于混合修订状态;即10:11。但由于这些数字是按顺序排列的,显然在这两者之间没有任何其他提交。不能 subversion 从中推断出我的版本是最新的 (=HEAD) 所以我不需要运行另一个 svn update 来删除这个混合修订状态?
我意识到这没什么大不了的。我只是想知道我是否遗漏了一些特殊情况,上述推理可能不正确。
如果我正确理解了您的问题,我可以告诉您,您的工作副本几乎总是会有混合修订。这是因为不同的文件已在不同的修订版中提交并在那时发生了更改。您是否注意到某些文件(例如)显示修订版 10 和其他 25,但您仍处于 HEAD 修订版中。这是因为您的工作区包含文件和修订的附加元数据。
一般来说,这根本不应该是一个问题,就我而言,它是 SVN 工作流程的一部分。我记得这在 SVN 文档的某处有解释,但我现在似乎找不到它。如果我这样做,我会相应地编辑我的答案。
Subversion 声称您修改的文件是版本 11,实际上我有点惊讶,因为它们可能不是。如果其他人在您之前提交了版本 11,那么您的文件最终将是版本 12 或更高版本。
我猜原因是您的本地颠覆不能声称您的添加文件的版本是完整的版本 11,因为它还不确定。