Могу ли я клонировать только последние наборы изменений хранилища вместо всей истории?

Мне приходится работать с репозиторием hg, содержащим миллионы строк кода и сотни тысяч наборов изменений. Как вы можете себе представить, это действительно замедляет Mercurial и TortoiseHg.

Могу ли я создать локальный репозиторий, который имеет только последние несколько тысяч наборов изменений?

Мы надеемся, что это не только сделает работу быстрее, но и сэкономит мне место на жестком диске.

3 ответа

Решение

Нет, вы не можете, но вы можете оптимизировать свой локальный клон. Посмотрите мой ответ на /questions/1999584/mogu-li-ya-optimizirovat-klon-mercurial/1999593#1999593.

Была проведена некоторая работа над мелкими клонами, но она все еще в значительной степени находится в стадии разработки (и, похоже, не было большого прогресса):

https://www.mercurial-scm.org/wiki/ShallowClone

Похоже, что Facebook выпустил расширение, которое должно решить эту проблему.

Смотрите https://bitbucket.org/facebook/remotefilelog

Нет, ты не можешь. Это называется "мелкий клон" и не поддерживается / не поддерживается. Миллионы строк кода и тысячи наборов изменений не особенно велики, и как только вы клонировали его, один раз почти каждое действие должно быть почти мгновенным.

Кроме того, сжатые двоичные дельты в каталоге.hg обычно меньше, чем весь несжатый код в рабочем каталоге, поэтому экономия пространства также не должна быть существенной.

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

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