如何查看 SVN 文件的旧版本?

我有一个 SVN 文件,现在缺少一些逻辑,所以我需要回去约40修订的时候,它有我需要的逻辑。除了尝试在命令行(很难读懂)中查看文件的差异之外,有没有其他方法可以让我得到该文件的一个副本来检查,以便我可以研究它来恢复部分?

138525 次浏览

你可以更新到旧版本:

svn update -r 666 file

或者你可以直接查看文件:

svn cat -r 666 file | less

特定修订的更新:

svn up -r1234 file

我相信查看修订版最好的方法是使用一个程序/应用程序,使它对你来说很容易。我喜欢使用 trac: http://trac.edgewall.org/wiki/TracSubversion

它提供了一个非常棒的 svn 浏览器,使得回顾修订版本非常容易。

为您想要检查的某个特定修订设置这个参数可能有点夸张,但是如果您将来经常这样做,那么它可能会很有用。

使用 Subclise的最新版本,您实际上可以在不使用 cmd 提示符的情况下查看它们。在该文件上,只需右键单击 = > Team = > Switch to another Branch/tag/version。除了修订字段之外,单击 select,您将看到该文件的所有版本。

将当前工作修订版的文件与另一个修订版的同一文件进行比较也很有意思。

你可以这样做:

$ svn diff -r34 file

直接回答如何“获得该文件的副本”的问题:

svn cat -r 666 file > file_r666

然后你可以用任何查看器或比较程序查看新创建的 file_r666,例如。

kompare file_r666 file

很好地展示了两者的区别。

我发布了答案,因为接受的答案的命令实际上不会提供文件的副本,而且因为 svn cat -r 666 file | vim不能与我的系统(Vim: Error reading input, exiting...)一起工作