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

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

Это возможно с ртутью?

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> возможность исправить проблему.

Другие вопросы по тегам