2010-12-01 51 views
1

是否有任何方式比較兩個明確版本之間的代碼行,或者無論版本控制器如何,我想比較兩個不同版本比較主分支與開發分支。我正在爲Java尋找此主題兩個版本之間的代碼行數

+1

你在哪個平臺上?聽起來你正在使用VCS,哪一個?你在使用Eclipse嗎?在那裏有很多很多文件差異查看器,假設你使用了一個eclipse插件,你的VCS中可能會有一個。 – Falmarri 2010-12-01 20:05:05

+0

您可以使用版本控制系統來比較分支。我不知道如何在另一個工具中完成,但`cvs`,`svn`支持。此外,對於Unix,Linux,Mac OS X,windows的``fc``` diff`是用於比較文件和目錄的實用程序。 – khachik 2010-12-01 20:17:28

回答

2

,如果你需要比較+觀點+編輯線然後的WinMerge的VonC的建議是優秀的,如果你需要比較的行數代碼(計數)。然後一個SLOC比較工具像ProjectCodeMeterCLOC會會更好。

0

有大量合併/差異工具。 我使用meld它具有很大的可視化和處理文件和目錄比較的

0

如果你想要做的唯一一件事就是計算行和您正在使用SVN,我建議你運行

svn blame -r N:M | wc -l 

我不能檢查此命令行是否正在運行,但想法是在2個有趣的修訂版本(N和M)之間使用svn blame,然後運行wc -l(行數)。

我相信每個源代碼控件都有類似於svn blame的命令。

1

雖然你可以使用任何的差異/合併工具(如WinMerge在Windows上),以獲得全組文件的比較,我會建議使用:

  • 2 ClearCase視圖與正確的配置選擇正確的版本
  • ,以快速獲得所有相關的版本2個動態視圖(快照視圖將載入時間太長)
0

可以作爲VonC建議使用兩個DIF不同意見。或者,如果您確切知道要查找的內容,則可以使用[email protected]@version語法直接訪問這兩個版本。如果你要自動化一些東西(在java中實現某些東西給我看),兩個視圖可能是最好的選擇。當你說「比較兩個清晰版本之間的代碼行」時,我假設你正在尋找除標準cleartool diff以外的其他東西(btw,KDiff3是一個優秀的差異實用程序,它具有明確的集成,我高度推薦它),以及假設它更多地處於你正在尋找的「計數行數」方向。

但是,只計算行中的差異只會給出有限的信息,通常知道構成差異的行是否大部分被添加或刪除也很有趣。爲了提供這種信息,您可以使用diffstat(輸出示例見this answer)。

在我的最後一份工作我寫了一個Java圖形用戶界面運行

diff -u [email protected]@/main/branch1/LABEL1 [email protected]@/main/branch2/LABEL2 | diffstat 

給出了兩個標籤,遍歷多個文件,但後來我在bash中,從Cygwin的diff和diffstat依賴,我不知道有任何純Java的替代品在這裏。

相關問題