Как удалить большие файлы из истории в mercurial? - программирование
Подтвердить что ты не робот

Как удалить большие файлы из истории в mercurial?

Я только что создал ртутный репо, созданный из гетерогенных экосистем других репозиториев. Прежде чем я опубликую его моим сотрудникам, я хочу как можно больше их очистить. С этой целью я хотел бы полностью удалить несколько больших старых файлов из истории (притвориться, что они никогда не существовали), поэтому репо будет меньше.

Возможно ли это с помощью меркуриального?

4b9b3361

Ответ 1

Проверьте расширение convert, особенно опцию --filemap.

Включить, добавив следующее в mercurial.ini:

[extensions]
convert =

Создайте карту файлов для исключения:

exclude path/to/file1
exclude path/to/file2

Затем преобразуйте репо:

hg convert srcrepo destrepo --filemap <map>

Обратите внимание, что в Mercurial 2.1.1 имеется ошибка, вызывающая ошибку с указанной командой:

initializing destination destrepo repository
abort: invalid mode ('r') or filename

Просто добавьте параметр --splicemap <nonexistent file>, чтобы устранить проблему.