Обычно должна быть возможность дать команду hg во время операции клонирования НЕ использовать определенный, более новый формат репо.
Для этого есть определенные параметры конфигурации, как показано в документации :
Параметр конфигурации: format
usegeneraldelta
Включить или отключить формат репозитория "generaldelta" ... Включен по умолчанию.
dotencode
Включить или отключить формат репозитория "dotencode" ... Включен по умолчанию.
usefncache
Включить или отключить формат репозитория "fncache" ... Включен по умолчанию.
usestore
Включить или отключить формат хранилища "store" ... Включен по умолчанию.
Однако по какой-то причине в списке нет опции, соответствующей новейшему формату репо, который, как отмечено ввопрос "sparse-revlog" ( задокументировано здесь ).
Может быть, это просто недосмотр документации, я не уверен.
Предполагая (надеясь), что это так, и основываясь на ответе на другой вопрос , выможет быть в состоянии повторно клонировать, используя команду, подобную этой:
hg clone --config format.usesparserevlog=0 <source> <dest>
Если опция usesparserevlog
существует и распознается, ей потребуется hg, чтобы НЕ использовать этот формат, что означает более старый предыдущий форматдолжно быть тем, что вы получаете, и будет совместимо с вашими локальными клиентами hg.
Я полагаю, вам придется сделать это, чтобы заменить каждый существующий клон, который был извлечен после того, как центральное хранилище было случайно обновлено.Я бы тщательно спланировал эту работу, чтобы убедиться, что локальные изменения не будут потеряны.Вы можете выполнить локальную загрузку, используя тот же параметр конфигурации, чтобы перенести коммиты из старых в новые репозитории.