2011-02-24 86 views
6

我想从svn存储库中的先前版本中删除的文件复制到我的工作目录。从svn存储库中的以前版本复制文件

我知道文件存在于修订[RXXX,因为我做svn log -v,可以看到与文件相关联的旧版本号。

我也做svn info找到仓库名这在我的情况是形式的svn+ssh://repository

我那么做svn copy -r xxx svn+ssh://repository name/filename ./filename

但抱怨svn: File not found

回答

8

默认情况下,当您指定的网址SVN假定您指的是头部中的对象。所以,你的命令实际上意味着:

  1. 找到“文件名”中HEAD
  2. 跟踪该文件重新修订xxx
  3. 的历史记录中复制文件,因为它再抬头,到当前目录

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

svn copy -r xxx svn+ssh://repository/[email protected] ./filename 

svn书有a more in-depth explanation of peg revisions,如果你感觉勇敢。 ..

+0

我不认为你需要'-r xxx'在上面的命令。挂钩版本应该很好。 – Scribblemacher 2016-05-26 13:37:18

相关问题