В целях проверки кода после изменения существующего исходного файла мы просматриваем только те строки кода, которые были изменены в этих исходных файлах.
После того, как я внесу изменения в исходные файлы в репозитории, я должен сообщить строки кода, которые изменились в исходном файле, прежде чем мы сделаем нашу рецензию кода.
Я могу видеть визуальные различия, используя WinMerge, и я доволен тем, что он делает для меня, но единственное требование к моим коллегам - просто знать имя файла и номера строк, которые необходимо просмотреть. ,
Есть ли способ получить только номера строк измененного файла? Типы файлов - это исходные текстовые файлы, такие как Javascript, Java, XML, XSL и т. Д.
Файлы примеров -
foo (новая версия):
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, подойдет мне. Было бы предпочтительным, если программное обеспечение с открытым исходным кодом или бесплатное.
EDIT:
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. Есть ли разные ниндзя, которые знают о различных вариантах, позволяющих это сделать?
Я всегда буду сравнивать новый, недавно измененный файл со старым. Мне нужны только те вещи, которые нужно просмотреть в новом файле.