синхронизация репозитория битбакет

Я работаю над проектом, репозиторий которого размещен в битбакете. Недавно один из соавторов выпустил фиксацию, которая изменила много файлов в репозитории, у меня очень медленное соединение (256 КБ/с и общее), и с этого момента я не мог загрузить изменения в репо. Ситуация настолько критическая, что верстак Tortoise hg не смог даже закончить проверку поступающих изменений. Я пытался клонировать репо с самого начала и ничего. Одна вещь, которую я добился (с большими усилиями), заключалась в том, чтобы загрузить репозиторий в виде zip-архива с сайта bitbucket. Теперь у меня есть все файлы репозитория локально, но если я создам новый репозиторий с этими файлами и синхронизирую его с репозиторием bitbucket, ситуация ухудшится, потому что с точки зрения hg это разные репозитории. Как я могу сказать hg, чтобы синхронизировать онлайн-репозиторий с тем, что у меня есть локально, и заставить его понять, что то, что у меня есть, является частью исходного репо? Это возможно?

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


person Armando Baños Pascual    schedule 22.12.2015    source источник
comment
Вам нужно будет перейти на более низкий уровень, чем черепаха hg. Вам, вероятно, понадобится использовать инструменты командной строки mercurial, чтобы справиться с этим. По крайней мере, это мое предположение.   -  person eestrada    schedule 22.12.2015
comment
У меня была очень похожая проблема с использованием Wi-Fi в отеле. Мое абсолютно ужасное, но функциональное решение заключалось в том, чтобы сделать себе экземпляр amazon aws micro, подключиться к нему по ssh, выполнить оттуда клонирование hg, затем загрузить клонированное репо и скопировать его на свой ноутбук, а затем удалить микро.   -  person frymaster    schedule 03.01.2016


Ответы (2)


Если проблема связана с одним набором изменений, вы мало что можете сделать.

Однако, если это несколько наборов изменений, вы можете загрузить их один за другим. Используйте веб-интерфейс, чтобы найти коммиты после последнего, и выполняйте hg pull -r changeset-id, используя последовательные идентификаторы наборов изменений, пока не получите весь новый код.

person Stephen Rasku    schedule 22.12.2015

Я не закрыл этот давний вопрос, но дело в том, что я новичок в stackoverflow и не знал, как здесь обойти.

В любом случае, решение этой проблемы, которое я нашел в те дни (более 4 месяцев назад), заключалось в том, чтобы подключиться к битбакету, используя ssh вместо https, а затем подождать много времени, пока изменения загрузятся, но в конце концов они это сделали.

Это решение не совсем то же самое, что предложил frymaster, но именно оно вдохновило меня на изучение ssh.

person Armando Baños Pascual    schedule 10.05.2016