У меня есть файл исправления, содержащий результат от git diff
. Я хочу получить сводку всех файлов, которые в соответствии с файлом исправления были добавлены или изменены. Какую команду я могу использовать для достижения этой цели?Как вы получаете список файлов, включенных в diff?
3
A
ответ
12
patchutils
содержит полезную утилиту lsdiff
.
2
grep '+++' mydiff.patch
, похоже, делает трюк.
Я также могу использовать git diff --names-only
, что, вероятно, лучший подход.
1
grep '+++' mydiff.patch|perl -pe 's/\+\+\+ //g'
Детали:
мерзавец дифф производит вывод в формате
+++ b/file
Так что, если вы используете Grep Натан предложил
grep '+++' mydiff.patch
Вы будете иметь список затрагиваемых файлов, добавленных «+++» (3 символа плюс пробел).
Мне часто нужно обрабатывать файлы и находить удобным одно имя файла в строке без каких-либо других. Это может быть достигнуто с помощью следующей команды, в которой perl/regex удаляет эти плюсовые знаки и пробел.
grep '+++' mydiff.patch|perl -pe 's/\+\+\+ //g'
Для патч-файлов, созданных с дифф -Naur, файл mydiff.patch содержит записи с именем файла и дату (это указывает на табулятора пробелам)
+++ b/file<tab>2013-07-03 13:58:45.000000000 +0200
Чтобы извлечь имена файлов для этого используется
grep '+++' mydiff.patch|perl -pe 's/\+\+\+ (.*)\t.*/\1/g'
Смежные вопросы
- 1. Использование Node.JS, как вы получаете список файлов в хронологическом порядке?
- 2. Как вы получаете плоский список всех файлов в IsolStorage?
- 3. Git: Diff список файлов
- 4. Как вы получаете список всех установленных шрифтов?
- 5. Как вы получаете список за пределами цикла?
- 6. Mercurial: список файлов «hg diff»
- 7. Уменьшить количество включенных файлов
- 8. Использование включенных файлов в проектах на C++
- 9. Как вы получаете список целей в make-файле?
- 10. Как вы получаете список существующих маркеров в плагине videojs-markers?
- 11. Как вы получаете список обновленных столбцов в триггере SQL-сервера?
- 12. График включенных файлов
- 13. Как получить файл с содержимым всех включенных файлов, явно включенных?
- 14. список всех файлов заголовков, включенных в файл C
- 15. Как вы получаете корневой сайт?
- 16. Как вы получаете длину строки?
- 17. Как вы получаете временные пути?
- 18. Как вы получаете «это» функции?
- 19. Как вы получаете Наблюдаемое событие?
- 20. Как вы получаете список типов данных MS Access?
- 21. Как вы получаете список флажков из кода asp.net?
- 22. Как вы получаете список наблюдаемых ключевых путей для KVO?
- 23. Как вы программно получаете список всех общих параметров?
- 24. Как вы получаете значение «embed»?
- 25. Как вы получаете дочерние узлы?
- 26. Как перенаправить на маршрут из включенных файлов
- 27. Оптимизация включенных файлов и использование в Delphi
- 28. Получить список файлов, скомпилированных и включенных проектом make
- 29. Как вы получаете Finder «Добрый» для файла?
- 30. сохранить кодировку для включенных файлов
Слишком плохо, что это не часть стандартного пакета патчей или diff. – Saustrup