svn copy -r [版本号] [url] [路径]

mat*_*mer 17 svn

所以,我之前已经这样做了,我似乎无法弄清楚这次发生了什么......

我正在尝试从SVN恢复文件.我去找了它被删除的修订版(或者至少是最后存在的版本.我使用svn list -r验证了)

这是我的命令:

svn copy -r 925 url/to/repo/foldername htdocs/foldername
Run Code Online (Sandbox Code Playgroud)

我一直收到错误:

svn: '/!svn/bc/973/.../htdocs/templates' path not found
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这意味着它在修订973(即HEAD)而不是925.

我在这里错过了什么?

Fli*_*mzy 33

我想你想要的是:

svn copy url/to/repo/foldername@925 htdocs/foldername
Run Code Online (Sandbox Code Playgroud)

来自svn help copy:

usage: copy SRC[@REV]... DST
Run Code Online (Sandbox Code Playgroud)

请参阅Peg和Operative Revisions.

使用-r REV without @REV意味着"当前文件的祖先(修订版REV)",而@REV不是-r rev"REV文件".这种语义差异很重要,因为svn跟踪拷贝(和重命名).

  • 我找到了一个解释:[Peg and Operative Revisions](http://svnbook.red-bean.com/en/1.6/svn.advanced.pegrevs.html).简短版本:使用`-r REV`而不使用`@REV`表示"当前文件的祖先(revsion REV)"而``REV`没有`-r rev`表示"REV处的文件".这种语义差异很重要,因为svn跟踪拷贝(和重命名). (6认同)