簡體   English   中英

計算兩個版本之間的代碼行

[英]count lines of code between two versions

有什么方法可以比較兩個Clearcase版本之間的代碼行,或者無論哪種版本控制器,我想比較兩個不同的版本,比如說比較主分支和開發分支。 我正在為Java尋找此主題

如果需要比較+查看+編輯行,則VonC對WinMerge的建議非常好, 但是如果需要比較行數(計數),則最好使用像ProjectCodeMeterCLOC這樣的sloc diff工具。

雖然您可以使用任何差異/合並工具(例如Windows上的WinMerge )對所有文件進行比較,但我建議使用:

  • 兩個具有正確配置的ClearCase視圖以選擇正確的版本
  • 兩個動態視圖以快速獲取所有相關版本(快照視圖加載太長)

有很多合並/差異工具。 我使用具有出色的可視化和文件和目錄比較處理能力的融合

如果您唯一想做的就是計數行數,而您正在使用svn,建議您運行

svn blame -r N:M | wc -l

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

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

您可以像VonC建議的那樣使用兩種不同的觀點。 另外,如果您確切知道要查找的內容,則可以使用file@@version語法直接訪問兩個版本。 如果要自動執行某些操作(在Java中實現某些操作會提示我),則兩個視圖可能是最佳選擇。

當您說“比較兩個clearcase版本之間的代碼行”時,我假設您正在尋找除標准cleartool diff之外的其他東西(順便說一句, KDiff3是一個出色的diff實用程序,具有clearcase集成,我強烈推薦它),並假設它是您正在尋找“行數計數”方向的更多信息。

但是,僅對行之間的差異進行計數將僅提供有限的信息,通常還很有趣的是,了解構成差異的行是否主要是添加還是刪除。 要提供此類信息,您可以使用diffstat (請參見此答案以獲取示例輸出)。

在上一份工作中,我寫了一個Java gui來運行

diff -u file@@/main/branch1/LABEL1 file@@/main/branch2/LABEL2 | diffstat

給定兩個標簽,遍歷幾個文件,但是然后我依賴cygwin的bash,diff和diffstat,因此我不知道這里有任何純Java替代方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM