2009-05-06 69 views
4

什麼是SVN命令來查找硬盤上的兩個文件(兩者都不在存儲庫中)之間的區別?是否有SVN命令來查找兩個本地文件之間的區別?

如果其中一個文件在SVN的特定修訂版本中,那麼命令是什麼?

你用SVN命令做的一些很酷的事情是什麼?

+0

+1:很好的編輯。好,如果不是最佳提出的問題。我會對這些問題的答案感興趣。 – 2009-05-06 19:47:07

+1

如果有三個問題,而不是一個總括「SVN中有什麼酷?」,那將會很酷。 – runako 2009-05-06 19:49:57

回答

13

您不使用SVN來區分不在存儲庫中的文件。如果您使用的是Linux然後使用命令:

diff file1 file2 

如果您使用的是Windows然後嘗試像win merge例如

工具要查找有關在庫中的文件信息,然後使用命令:

svn info file 

如果您想了解有關SVN的更多信息,請查看官方tutorial

2

答案:(即版本1和特定文件的修訂版3)

  1. 沒有,SVN可以存儲庫版本之間的目標比較或工作拷貝的版本和最後之間簽出的版本,或工作副本和存儲庫版本

  2. 取決於您的意思。如果文件已經添加,您可以檢查日誌對於給定的修訂版本中,像這樣:

    SVN日誌文件名@ revnumber

例如,檢查TESTFILE.TXT的日誌修訂版2:

svn log [email protected] 

如果它輸出一個日誌,那麼在修訂版2中有一個按該名稱的文件,否則它不是。

但是,這並不會告訴您當前工作副本中的文件是否與檢查日誌文件相同(即,如果您在早期版本中刪除了該文件,並且然後添加一個具有相同名稱的新文件,它不是同一個文件,具有生命力,但是它是在同一位置具有相同名稱的文件)。

至於第三個問題,你能更具體嗎?

4

在TortoiseSVN中,您可以區分兩個任意文件。 只需選擇它們並在tortoiseSVN的上下文菜單中選擇diff。但是,它們必須位於相同的目錄中,否則TSVN將不會顯示diff命令。在這種情況下,你可以使用輔助工具TortoiseIDiff.exeTortoiseMerge.exe它們的TortoiseSVN的一部分,都在裏面TSVN_installation/bin文件夾

+1

Timesaver,Tortoise ... – 2009-05-07 07:15:58

4

SVN的diff --old foo.c的--New bar.c

+0

嗨,歡迎來到SO。你能否提供解釋你的答案? – GraphicsMuncher 2014-02-04 03:26:15

+1

真棒!很棒!應該是被接受的答案 – Denis 2017-06-06 19:46:20

+0

是的,我同意丹尼斯,這也是幫助我的答案。 – 2017-07-17 12:00:40

相關問題