Я работаю в студенческой группе с несколькими другими людьми. Мы хотели бы использовать Mercurial в качестве нашей системы контроля версий, но некоторые из наших файлов не могут быть размещены в Интернете на общедоступном хостинге, таком как Google Projects или Codeplex. Есть ли способ, которым мы можем разместить репозиторий на наших собственных машинах, передавая файлы/наборы изменений друг другу по мере необходимости, не создавая ужасно конфликтного беспорядка?
Я знаю, что у Mercurial есть команда bundle, которую можно использовать для упаковки репо. Если я сделаю это и отправлю пакет кому-то еще, и они захотят вернуть мне изменения, как лучше всего это сделать? Прислать мне пакет обратно?
У меня есть учетная запись общего хостинга на сервере. Есть ли шанс, что я смогу запустить Mercurial с этой коробки? Как бы мне это узнать?
Ответ 1 · рейтинг 1 · Arkady
Нет необходимости иметь центральное репо. Это одно из преимуществ распределенной системы контроля версий. У каждого разработчика есть собственный репозиторий на его машине, и вы обмениваетесь наборами изменений по электронной почте или подключаетесь к машинам друг друга, если это возможно.
Если одна из ваших машин доступна для всех остальных, она может служить "центральным" хранилищем, если вы считаете, что это облегчит логистику координации работы всех.
Ответ 2 · рейтинг 2 · Matthew Flaschen
Команда bundle упаковывает наборы изменений, не обязательно полный репозиторий. Опция --base позволяет вам указать самую раннюю версию, которая есть у других людей (это нормально, если вы упаковываете больше, чем нужно). Таким образом, вы можете отправлять пакеты туда и обратно, это должно работать практически так же, как если бы вы использовали сервер. В любом случае, если требуется слияние, он сообщит вам, когда вы попробуете hg update.
Вам нужно будет поговорить с вашим хостом, чтобы узнать, поддерживается ли он.