Удалять файлы в истории, чтобы сохранить некоторое пространство в меркуриальных

ok, когда я был молод, я помещал в свои Mercurial repos большие массивные файлы (например, файл ресурсов, dll и т.д.). и я обнаружил, что размер его настолько велик, что я не могу легко вставить его в битбакет,

любой способ удалить историю файлов ЛЕГКО?

Я помещаю все эти файлы в путь /res и/dll.

изменить:

это решение, но оно удалит часть истории, поэтому, возможно, есть лучшее решение. Mercurial Удалить историю

Ответы

Ответ 1

Лучше всего использовать расширение конвертации, но предупреждение у вас будет совсем другое репо. Каждый хэш будет другим, и каждый клонированный человек должен будет удалить свой клон и повторить клонирование.

Итак, вот что вы делаете:

Создайте файл filemap с именем filemap.txt, содержащий:

exclude res
exclude dll

а затем выполните следующую команду:

hg convert --filemap filemap.txt your-source-repository your-destination-repository

Например:

hg convert --filemap filemap.txt /home/you/repos/bloatedrepo /home/you/repos/slenderrepo

Это дает вам совершенно новое репо, в котором есть вся ваша история, кроме истории любых файлов в /res и/dll, но опять же это будет новое, не связанное репо в отношении меркурийных (и битбакет).