Инструмент для создания текстового списка измененных файлов из исходного дерева?

Я ищу инструмент, который может сравнивать два исходных дерева и выводить список измененных файлов с их путями, как показано ниже. Сегодня у меня есть Araxis Merge, и я использую его для сравнения и объединения изменений с другими разработчиками, но когда мы проверяем программное обеспечение в нашем инструменте репозитория, нам нужен список файлов для индивидуальной регистрации. Инструмент репозитория не интегрируется с нашим IDE, поэтому это ручной процесс. Мне просто нужен инструмент для создания списка файлов, которые необходимо зарегистрировать в репозитории. Я проверю их вручную и добавлю причины изменения, но хотел бы, чтобы список измененных/добавленных/удаленных файлов создавался автоматически, если это возможно.

В основном я должен ввести в инструмент.

  1. Исходное дерево №1(C:\sourcedir - rev1)
  2. Исходное дерево №2(C:\sourcedir_rev - rev2)

И выводит список, как показано ниже....

C:\sourcedir\Include\myheader2.h

C:\sourcedir\Source\mysource2.c

C:\sourcedir\Configuration\myconfig2.ini

C:\sourcedir\Include\myheader1.h

C:\sourcedir\Source\mysource4.c

C:\sourcedir\Source\mysource5.c

Спасибо!

Ответы (2)

Дальний менеджер

Far Manager — один из самых мощных инструментов управления файлами в Windows. Он имеет широкий набор функций. Наиболее релевантными для вашего вопроса являются:

  • Сравнение файлов в двух каталогах
  • Запись макросов, чтобы действия можно было повторить с помощью одной комбинации клавиш

Ниже приведены инструкции по созданию списка измененных файлов:

  1. Перейдите к обеим папкам, используя две панели в Far Manager.
  2. Сравните папки, используя последовательность F9- C-C
    • Это выделит измененные файлы на правой панели.
  3. Скопируйте выделенные имена файлов, используя Ctrl+ Alt+Insert
  4. Вставьте их в текстовый файл (или напишите с помощью echo Ctrl+v > diff.txt

Это было много нажатий клавиш, поэтому имеет смысл создать для них ярлык. Вот как это сделать:

  1. Используйте Ctrl+ ., чтобы начать запись макроса
  2. Введите вышеуказанные шаги
  3. Используйте Ctrl+ ., чтобы сохранить макрос в пользовательской комбинации клавиш. Я использовал Ctrl+ Shift+ , F1например.

Вы можете нажать Ctrl+ .+ ., чтобы удалить или изменить макрос. Это должно выглядеть так:

Keys("F9 c c CtrlAltIns e c h o Space CtrlV Space > Space d i f f . t x t Enter")

Используя назначенную комбинацию клавиш, вы должны получить файл с именем diff.txt, который содержит список имен измененных файлов на правой панели.


Через подключаемый модуль Advanced Compare доступны дополнительные параметры расширенного сравнения, в том числе указание, следует ли проверять подпапки, а также основывать ли результаты на размере, содержимом или на том и другом:

Также существуют другие подключаемые модули для сравнения файлов и каталогов, а именно Deep Compare и Visual Compare.

Примечание: Far Manager лучше всего работает вместе с ConEmu , который предлагает несколько вкладок и другие расширенные функции.

Инструмент командной строки diffможет сделать это. См. https://stackoverflow.com/questions/6217628/diff-to-output-only-the-file-names

diff -qr dir1 dir2

Должен делать то, что вам нужно.

В окнах вы можете использовать что-то вроде cygwinэтого.