哎呀,我需要一些来自我不久前删除的文件的信息。在 CVS 中,我只会去 ATTIC 找到它,我如何在 SVN 中找到文件而不必回到它存在的修订版(特别烦人,因为我不知道我什么时候删除了 - 一周前,两周前……)
Kris Erickson
问问题
3339 次
3 回答
6
浏览它所在目录的SVN日志,找到你删除它的修订版。在底部窗格中,右键单击该文件,然后选择“将修订版本保存到..”选项。
为了帮助您找到删除它的修订版本,请在显示日志的操作列中查找左下角带有 X 的文档图标。
于 2008-10-02T18:03:06.923 回答
3
CVS 中的“阁楼”更多的是实现细节。该文件无法从存储库中完全删除,因为文件历史记录在 " ,v
" 文件本身中,因此 CVS 将其移到一边。
Subversion 使用更复杂的存储库存储机制,其中不需要以这种方式将文件移到一边。我不认为有一种简单的方法可以查询文件存在的最新版本,但是您应该能够使用“svn ls -r rev ”轻松找到它。在这种情况下, rev可以是 Subversion 接受的任何一个表示修订的东西——一个数字、一个日期等。只要回到历史直到找到它,然后向前走,直到找到它存在的最后一个修订。
更新:@AviewAnew 对检查文件所在目录的日志有一个好主意。由于文件删除实际上是对包含它的目录的更改,因此应该很容易找到文件以这种方式消失的位置。
于 2008-10-02T18:05:59.430 回答
2
svn log --verbose
将显示您删除的内容。然后你可以做一个
svn copy --revision <last_revision_with_deleted_file>
获取已删除文件的工作副本。这应该不会比从 CVS 中获取已删除文件更难。
于 2008-10-02T18:10:36.190 回答