【发布时间】:2009-05-06 19:36:31
【问题描述】:
什么是SVN命令来查找硬盘上两个文件(两者都不在存储库中)之间的差异?
如果其中一个文件在特定版本的 SVN 中,用什么命令查找文件?
您使用 SVN 命令做了哪些很酷的事情?
【问题讨论】:
什么是SVN命令来查找硬盘上两个文件(两者都不在存储库中)之间的差异?
如果其中一个文件在特定版本的 SVN 中,用什么命令查找文件?
您使用 SVN 命令做了哪些很酷的事情?
【问题讨论】:
svn diff --old foo.c --new bar.c
【讨论】:
在 TortoiseSVN 中,您可以区分两个任意文件。 只需选择它们,然后在 tortoiseSVN 的上下文菜单中选择 diff。但是,它们必须在同一目录中,否则 TSVN 将不会显示 diff 命令。在这种情况下,您可以使用辅助工具 TortoiseIDiff.exe 和 TortoiseMerge.exe,它们是 TortoiseSVN 的一部分,位于 TSVN_installation/bin 文件夹中
【讨论】:
答案:
没有,SVN 可以比较目标的存储库版本(即特定文件的第 1 版和第 3 版)或工作副本版本和上次签出的版本,或工作副本和存储库版本之间的比较
取决于你的意思。如果文件已添加,您可以检查给定版本的文件的日志,如下所示:
svn 日志文件名@revnumber
例如,查看修订版 2 中的 TestFile.txt 的日志:
svn log TestFile.txt@2
如果它输出一个日志,那么在修订版 2 中有一个同名的文件,否则它不是。
但是,这不会告诉您当前工作副本中的文件是否与您检查日志的文件相同(即,如果您在较早的版本中删除了该文件,然后添加了一个同名的新文件,它不是同一个文件,生命周期,但它是一个同名的文件在同一个位置)。
关于第三个问题,能不能说的更具体一点?
【讨论】:
只是对@Richard Kirby 回答的补充,因为我无法评论低声誉。
"svn diff --old foo.c --new bar.c"
这个命令可以完美地在两个本地文件之间产生差异。 除此之外,它还可以用于比较使用 SVN 颠覆 URL 指定的两个文件之间的差异。 它会是这样的: svn diff --old https://repository/file1 --new https://repository/file2
【讨论】: