2011-12-15 86 views
0

我在这里很精神。如何从svn签出特定文件?

我在为我的博士写代码。项目(S)。我有一个特定的.cpp文件的两个版本,我想使用它们两者(在它们之间交替)。我想保留其他文件的最新版本。

我试过使用svn copy,但它不会运行在现有文件上。我试图删除该文件,但svn copy只会说,即使它们在目标文件夹中丢失,它也不会覆盖存储库中存在的文件。除了将整个版本检出到单独的目录并将文件手动复制到所需的文件夹之外,如何将本地文件夹中的单个文件还原为以前的版本?

我不想更新整个树,只是本地副本。

另外,有没有其他版本控制系统,可以通过SSH工作,并会给我这个功能?

感谢

+1

尝试:SVN更新-r { revision_number} {path_to_file} – 4ndrew 2011-12-15 16:35:07

回答

-1

前言

在手动:svn help update + svn help cat + svn help diff可以成为你最好的朋友。阅读命令的解释,-r选项的意义,目标URL或路径的格式

面对

如果你想文件的两个版本,并之间切换做并行不使用,就可以使用单WorkingCopy并只更改其中所需文件的版本。

方法文档:

  • 提交提交提交。还记得第一file.cpp所需版本的修订(让他们为N和M,回购我们将其命名为HEAD的最后版本N <中号< HEAD)
  • 里面的工作拷贝(完全更新到HEAD) - 返回到版本N为单个文件file.cpp:svn up -r N file.cpp,切换到M:svn up -r M file.cpp,获得最新的,HEAD:如果你只想看不同版本的文件,不使用svn up file.cpp
  • ,你可以cat文件的任何修订(与WC中的修订无关)或单个文件的两个版本之间(可能留下WC通过这些命令不变)

样品:

从我的WC,短up例如

>svn up -r 1687 dcmode.htm 
Updating 'dcmode.htm': 
U dcmode.htm 
Updated to revision 1687. 

>svn up dcmode.htm 
Updating 'dcmode.htm': 
U dcmode.htm 
Updated to revision 8734.