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

use*_*357 3 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.

因此,如果我检查SVN目录的版本-r失败,但如果我使用url@REV它工作 - 我会认为这两个是相同的,不幸的是SVN文档似乎没有解释差异.

alr*_*roc 5

-r X对Subversion说:"转到今天的URL,并告诉我你对修订版X的了解"(假设你没有指定@版本)

url@X 对Subversion说"转到修订版X并找到此URL"

@语法被称为peg修订版本.这-r X是操作修订.

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

因此,如果您https://svnserv2.acme.com/stx/project1/trunk/gui/Mammoth/WebContent/css在修订版6003中删除了它,那么它现在无法查看该HEAD修订版6004(或任何更新版本)的URL,因为它不存在.