有什么SVN命令可以找到两个本地文件的区别吗?

问题描述 投票:6回答:5

有什么SVN命令来查找硬盘上的两个文件(它们都不在版本库中)之间的差异?

用什么命令来查找其中一个文件是否在SVN的某个版本中?

使用SVN命令可以做哪些很酷的事情?

svn diff
5个回答
15
投票

你不能用SVN来比较不在版本库中的文件。如果你使用的是linux,那么使用这个命令。

diff file1 file2

如果你用的是Windows系统,那么可以试试类似于 融会贯通 比如

要想在版本库中找到一个文件的信息,那么就使用命令。

svn info file

如果你想了解更多关于SVN的信息,可以看看官方的 教程.


8
投票

svn diff --old foo.c --new bar.c


7
投票

在TortoiseSVN中,你可以对两个任意的文件进行diff,只需选中它们并选择 差异 的上下文菜单中。但是,它们必须在同一个目录下,否则 TSVN 将不会显示 diff 命令。在这种情况下,你可以使用辅助工具 TortoiseIDiff.exeTortoiseMerge.exe 是TortoiseSVN的一部分,在TSVN_installationbin文件夹内。


2
投票

答案:没有。

  1. 没有,SVN可以比较一个目标的版本库之间的版本(即某个文件的rev 1和rev 3),也可以比较工作副本版本和最后检查出来的版本,或者工作副本和版本库之间的版本。

  2. 要看你说的是什么意思。如果文件已经被添加,你可以检查给定版本的文件的日志,像这样。

    svn log filename@revnumber

例如,检查修订版 2 中 TestFile.txt 的日志。

svn log TestFile.txt@2

如果它输出了一个日志,那么就说明在版本2中有一个这个名字的文件,否则就没有。

但是,这并不能告诉你,你目前在工作副本中的文件是否和你检查日志的文件是同一个文件(也就是说,如果你在早期的修订版中删除了这个文件,然后又添加了一个同名的新文件,从寿命上来说,它并不是同一个文件,但它是同一个位置的同名文件)。

至于第三个问题,能不能说得更具体一点?


0
投票

只是对@Richard Kirby的回答做个补充,因为名声低下,我无法评论。

"svn diff --old foo.c --new bar.c"

这条命令可以完美地在两个本地文件之间进行diff.只是,它也可以用来比较两个用SVN subversion URL指定的文件之间的差异,它将是类似于:svn diff --old https:/repositoryfile1。 --新的 https:/repositoryfile2。

© www.soinside.com 2019 - 2024. All rights reserved.