SVN中-r和url @ rev的区别是什么?

时间:2013-03-19 16:13:53

标签: svn svn-client

有人可以解释在以下两个SVN命令中使用-r REVURL@REV语法之间的区别:

  • svn co -r6002 https://svnserv2.acme.com/stx/project1/trunk/gui/Mammoth/WebContent/css

    svn:无法在修订版6002中找到“https://svnserv2.acme.com/stx/project1/trunk/gui/Mammoth/WebContent/css”的存储库位置

  • svn co https://svnserv2.acme.com/stx/project1/trunk/gui/Mammoth/WebContent/css@6002

    检出修订版6002.

因此,如果我用-r检出SVN目录的版本,它会失败,但是如果我使用url@REV它就可以了 - 我会认为这两个是等价的,不幸的是SVN文档看起来不像解释差异。

1 个答案:

答案 0 :(得分:5)

-r X对Subversion说“请转到今天的网址,并告诉我您对修订版X的了解”(假设您未指定@修订版)

url@X对Subversion说“转到修订版X并找到此网址”

@语法称为Peg Revision-r X是操作修订版。

这是一个非常微妙的差异,但非常重要。当您使用-r X时,您经常会使用@X

因此,如果您在修订版6003中删除了https://svnserv2.acme.com/stx/project1/trunk/gui/Mammoth/WebContent/css,则现在HEAD是修订版6004(或其他任何内容)时,它无法查看该网址,因为它不存在。