从svn存储库中的先前版本复制文件

Tan*_*anz 6 svn

我试图将已删除的文件从以前的版本从svn存储库复制到我的工作目录.

我知道该文件存在于修订版r xxx中,因为我svn log -v可以看到与该文件关联的旧版本号.

我也svn info找到了存储库名称,在我的情况下是表单的名称svn+ssh://repository

然后我做 svn copy -r xxx svn+ssh://repository name/filename ./filename

但它抱怨说 svn: File not found

Sim*_*onJ 9

默认情况下,当您指定存储库中文件的URL时,SVN假定您在HEAD中引用了一个对象.所以你的命令实际意味着:

  1. 在HEAD中找到'filename'
  2. 跟踪该文件的历史记录回到修订版 xxx
  3. 将文件看起来复制到当前目录中

当然,由于HEAD中不再存在该文件,因此在第一步失败.你需要明确引用的对象使用被称为filename在修订版本xxx,使用了所谓的"peg修订版本":

svn copy -r xxx svn+ssh://repository/filename@xxx ./filename
Run Code Online (Sandbox Code Playgroud)

如果你感到勇敢,SVN书籍对钉子修订有更深入的解释 ......