出於代碼審閱的目的,在修改現有源文件之後,我們只查看那些源文件中已更改的代碼行。
在對存儲庫中的源文件進行更改之後,我們必須在執行我們的同行代碼審查之前傳達源文件中已更改的代碼行。當在Windows中的兩個文件上執行差異時,獲取兩個文件中差異的行數
我能夠使用WinMerge看到視覺差異,我很滿意它爲我做了什麼,但我的同事的唯一要求是簡單地知道需要的文件名和行號審查。
有沒有辦法只得到一個更改文件的行號?該類型的文件是文本源文件,例如Javascript,Java和XML,XSL等等
樣品files--
富(新版本):
a
b
c
d
e
f
g
h
i
j
k
FOO(舊版本):
a
b
C
d
h
i
k
我在尋找的輸出:
foo: 3, 5-7, 10-11
OR
foo:
3
5-7
10-11
我敢肯定,一些程序允許這一點。我找不到一個。有什麼建議麼?我目前使用WinMerge,但任何在Windows上運行的程序都可以。如果軟件是開放源代碼或免費軟件,則會更好。
編輯: GNU DiffUtils接近我想要的,但不完全符合我的需求。查看命令行選項,我將「-q」(或「--brief」)看作簡化的diff,但它太簡單了。 輸出:
C:\Program Files\GnuWin32\bin>diff.exe -q foo1.txt foo2.txt
Files foo1.txt and foo2.txt differ
常規差異輸出:
C:\Program Files\GnuWin32\bin>diff.exe foo1.txt foo2.txt
3c3
< c
---
> C
5,7d4
< e
< f
< g
10,11c7
< j
< k
---
> k
\ No newline at end of file
的diff -u輸出:
C:\Program Files\GnuWin32\bin>diff.exe -u foo1.txt foo2.txt
--- foo1.txt 2010-11-09 15:47:12.447916000 -0600
+++ foo2.txt 2010-11-09 15:47:36.129954700 -0600
@@ -1,11 +1,7 @@
a
b
- c
+ C
d
- e
- f
- g
h
i
- j
- k
+ k
\ No newline at end of file
我正在尋找的東西比DIFF -q更多的信息,但比信息少diff -u和diff。任何差異ninjas誰知道不同的選擇,以允許這?
我會一直在比較一個新的,最近修改過的文件和一個較舊的文件。我只需要那些需要審查新文件的東西。
人們通常使用「統一」差異輸出diff -u。您還可以指定包含多少行上下文。此外,它看起來好像從正常輸出中過濾出非數字的行將非常接近你想要的。 – 2010-11-10 19:55:58