Могу ли я клонировать только последние наборы изменений хранилища вместо всей истории?
Мне приходится работать с репозиторием hg, содержащим миллионы строк кода и сотни тысяч наборов изменений. Как вы можете себе представить, это действительно замедляет Mercurial и TortoiseHg.
Могу ли я создать локальный репозиторий, который имеет только последние несколько тысяч наборов изменений?
Мы надеемся, что это не только сделает работу быстрее, но и сэкономит мне место на жестком диске.
3 ответа
Нет, вы не можете, но вы можете оптимизировать свой локальный клон. Посмотрите мой ответ на /questions/1999584/mogu-li-ya-optimizirovat-klon-mercurial/1999593#1999593.
Была проведена некоторая работа над мелкими клонами, но она все еще в значительной степени находится в стадии разработки (и, похоже, не было большого прогресса):
Похоже, что Facebook выпустил расширение, которое должно решить эту проблему.
Нет, ты не можешь. Это называется "мелкий клон" и не поддерживается / не поддерживается. Миллионы строк кода и тысячи наборов изменений не особенно велики, и как только вы клонировали его, один раз почти каждое действие должно быть почти мгновенным.
Кроме того, сжатые двоичные дельты в каталоге.hg обычно меньше, чем весь несжатый код в рабочем каталоге, поэтому экономия пространства также не должна быть существенной.
Как только вы клонировали репо один раз, убедитесь, что вы выполняете дальнейшие клоны на той же машине с вашего локального клона, и вам никогда не придется ждать повторного клонирования всего репо.