如何查看旧版本的 SVN 文件?
Posted
技术标签:
【中文标题】如何查看旧版本的 SVN 文件?【英文标题】:How do I view an older version of an SVN file? 【发布时间】:2011-05-12 06:09:49 【问题描述】:我有一个 SVN 文件,它现在缺少一些逻辑,所以我需要返回大约 40 次修订到它具有我需要的逻辑的时间。除了尝试在命令行中查看文件的差异(很难阅读),还有什么方法可以让我获得该文件的副本以进行查看,以便我可以研究它以恢复部分?
【问题讨论】:
【参考方案1】:直接回答如何“获取该文件的副本”的问题:
svn cat -r 666 file > file_r666
然后您可以使用任何查看器或比较程序查看新创建的file_r666
,例如
kompare file_r666 file
很好地展示了差异。
我发布答案是因为接受的答案的命令实际上并没有提供文件的副本,并且因为 svn cat -r 666 file | vim
不适用于我的系统 (Vim: Error reading input, exiting...
)
【讨论】:
【参考方案2】:使用最新版本的Subclipse,您实际上可以在不使用cmd提示符的情况下查看它们。在文件上,只需右键单击 => 团队 => 切换到另一个分支/标签/修订版。除了修订字段,您单击选择,您将看到该文件的所有版本。
【讨论】:
【参考方案3】:将当前工作版本的文件与另一个版本的相同文件进行比较也很有趣。
你可以这样做:
$ svn diff -r34 file
【讨论】:
【参考方案4】:我相信查看修订的最佳方式是使用方便您的程序/应用。我喜欢使用 trac :http://trac.edgewall.org/wiki/TracSubversion
它提供了一个很棒的 svn 浏览器,并且可以很容易地回顾你的修改。
为您要检查的一个特定版本进行设置可能有点矫枉过正,但如果您将来要经常这样做,它可能会很有用。
【讨论】:
【参考方案5】:更新到特定版本:
svn up -r1234 file
【讨论】:
【参考方案6】:您可以更新到旧版本:
svn update -r 666 file
或者你可以直接查看文件:
svn cat -r 666 file | less
【讨论】:
svn cat -r 666 file | less
非常完美,所以我可以用 vim 阅读它!
@sillyMunky 试试svn cat | vim -
。如果 vim 的语法高亮没有自动启动,请执行 :set syntax=java
(或任何一种语言)。
非常感谢 John,实际上我在 debian 上,我发现有一个不错的小语法高亮包,叫做“source-highlight”,所以 less 可以自动拾取语法高亮(实际上我现在将其别名为 lesss区别)。
svn cat -r 666 file > file_666.js 如果你想查看整个文件:p
或者如果你正在使用 bash vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
以上是关于如何查看旧版本的 SVN 文件?的主要内容,如果未能解决你的问题,请参考以下文章
SVN如何查看修改的文件记录] 来源:Linux社区 作者:frogoscar
如何使用 git 扩展从其历史记录中查看旧版本的 Excel 文件
Eclipse 的svn 插件如何查看所有的已提交历史版本?