svn2git с --exclude, любой способ игнорировать пустые / пустые коммиты? - PullRequest
2 голосов
/ 15 августа 2011

Я конвертирую большой SVN-репозиторий в несколько git-репозиториев (по одному для каждого проекта).

Я запускаю svn2git для каждого репо со всеми нежелательными каталогами --exclude d это хорошо работает для сохранения тегов и ветвей (я удаляю все несвязанные теги и ветви после преобразования)

Единственная проблема в том, что у меня есть множество пустых коммитов (коммитов, связанных с исключенными каталогами).

Есть ли способ исключить эти пустые коммиты во время процесса svn2git?

Это решение является хорошим способом удалить их после свершившегося факта, но filter-branch влияет только на текущую ветвь, а не на все остальные ветви и теги.

1 Ответ

8 голосов
/ 17 августа 2011

Разобрался.

Насколько мне известно, эта команда переписывает историю, удаляя пустые коммиты, но сохраняя все остальное.

git filter-branch --tag-name-filter cat --prune-empty -- --all

Вы можете использовать эту команду для запроса количества коммитов до и после в качестве быстрого теста:

git log --pretty=format:'' | wc -l

...