有什么SVN命令来查找硬盘上的两个文件(它们都不在版本库中)之间的差异?
用什么命令来查找其中一个文件是否在SVN的某个版本中?
使用SVN命令可以做哪些很酷的事情?
svn diff --old foo.c --new bar.c
在TortoiseSVN中,你可以对两个任意的文件进行diff,只需选中它们并选择 差异 的上下文菜单中。但是,它们必须在同一个目录下,否则 TSVN 将不会显示 diff 命令。在这种情况下,你可以使用辅助工具 TortoiseIDiff.exe 和 TortoiseMerge.exe 是TortoiseSVN的一部分,在TSVN_installationbin文件夹内。
答案:没有。
没有,SVN可以比较一个目标的版本库之间的版本(即某个文件的rev 1和rev 3),也可以比较工作副本版本和最后检查出来的版本,或者工作副本和版本库之间的版本。
要看你说的是什么意思。如果文件已经被添加,你可以检查给定版本的文件的日志,像这样。
svn log filename@revnumber
例如,检查修订版 2 中 TestFile.txt 的日志。
svn log TestFile.txt@2
如果它输出了一个日志,那么就说明在版本2中有一个这个名字的文件,否则就没有。
但是,这并不能告诉你,你目前在工作副本中的文件是否和你检查日志的文件是同一个文件(也就是说,如果你在早期的修订版中删除了这个文件,然后又添加了一个同名的新文件,从寿命上来说,它并不是同一个文件,但它是同一个位置的同名文件)。
至于第三个问题,能不能说得更具体一点?
只是对@Richard Kirby的回答做个补充,因为名声低下,我无法评论。
"svn diff --old foo.c --new bar.c"
这条命令可以完美地在两个本地文件之间进行diff.只是,它也可以用来比较两个用SVN subversion URL指定的文件之间的差异,它将是类似于:svn diff --old https:/repositoryfile1。 --新的 https:/repositoryfile2。