使用多个修订号码的Tortoise SVN结账

时间:2014-01-13 19:26:35

标签: svn tortoisesvn revision svn-checkout

在Revision部分下的SVN checkout向导中,可用的两个选项是HEAD / Revision number。

我的用例:开发人员A在版本1中检入了3个文件,开发人员B在版本2中检入了2个文件,开发人员C在版本3中检入了2个文件。总共有7个文件路径修订版,但实际上有4个文件在这些修订版中被修改。

我的问题:我想在一次结帐交易中仅查看这3个修订版。

问题:当我点击show log时,我看到版本3,2,1及其各自的文件路径更改。当我选择3,2,1版本更改并单击确定...修订框将版本显示为1而不是1,2,3。

是否真的可以选择在一次结账时结账多个版本?请帮忙

1 个答案:

答案 0 :(得分:4)

您误解了修订版在SVN中的工作原理。

当开发人员A检入第一个文件时,他们会获得修订版1(存储库本身也是如此)修订版1成为HEAD修订版。

开发人员B现在检入文件,整个存储库成为修订版2(第二次更改存储库),即使repo中的各个文件将其当前版本保留为最后更改的版本。现在,我们有以下内容:

DevAFile1     v1.0
DevAFile2     v1.0
DevAFile3     v1.0
DevBFile1     v2.0
DevBFile2     v2.0
HEAD          v2.0

开发人员C现在检入另外两个文件,这些文件(以及整个仓库)是版本3:

DevAFile1     v1.0
DevAFile2     v1.0
DevAFile3     v1.0
DevBFile1     v2.0
DevBFile2     v2.0
DevCFile1     v3.0
DevCFile2     v3.0
HEAD          v3.0

HEAD现在是版本3,它由Developer A的三个v1文件,Developer B的两个v2文件和Developer C的两个v3文件组成。所以检查{{1修订版可以从各个开发人员那里获得该文件的三个单独版本,所有这些版本都构成了HEAD版本。

这在第2.3.3节中的TortoiseSVN帮助文件中有所描述。修改

  

全球修订号

     

与许多其他版本控制系统不同,Subversion的修订版号适用于整个树,而不是单个文件。每个修订号都选择一个完整的树,一些提交的更改后的存储库的特定状态。另一种思考方式是修订版N表示第N次提交后存储库文件系统的状态。当Subversion用户谈论修订版5中出现的HEAD foo.c时。''请注意,一般来说,文件的修订版N和M不一定有所不同!

这可以通过在存储库中的单个文件上使用TortoiseSVN的revision 5 of foo.c'', they really mean来确认。例如,查看Show log会向您显示类似于:

的内容
DevFileA1