как личный проект, я хотел бы проверить различные библиотеки и проекты Python (будь то проприетарные или открытые) и проанализировать, как код менялся с течением времени в разных выпусках, чтобы собрать некоторую информацию о технических долгах (в основном через статический анализ кода). Я делаю это, используя библиотеку gitpython
. Однако я пытаюсь отфильтровать коммиты слияния в master
.
Я фильтрую коммиты слияния, используя git.log("--merges", "--first-parent", "master")
, откуда извлекаю хеши коммитов и фильтрую эти конкретные коммиты из всех коммитов репозитория.
В качестве второй части я хотел бы получить все измененные файлы в каждом коммите слияния. Я могу получить доступ к большим двоичным объектам через git tree, но я не знаю, как получить только измененные файлы.
Есть ли какой-нибудь эффективный способ сделать это? Спасибо!