Git не отслеживает каталоги как таковые. Он отслеживает только файлы, которые находятся в каком-то каталоге. (См. Как я могу добавить пустой каталог в репозиторий Git? )
Однако, если у меня есть определенная история коммитов, у меня также неявно есть история изменений в дереве каталогов.
Итак, как могу ли я ответить на такие вопросы, как:
Самое близкое, что я мог придумать, - это псевдокод:
loop over all commits (git rev-list --all)
start from repo root directory
do recursively on the directory tree rebuilt so far
call git ls-tree and grep the tree lines
rebuild next level of directory tree
end
end
Очевидно это может быть написано на вашем любимом языке сценариев.
Затем у меня есть все деревья каталогов, и мне все еще нужно найти в них разумный способ, чтобы ответить на вопросы типа 1–3. Опять же, выполнимо, но, вероятно, не через пару минут.
Вопросы следующие: