Mercurial: поделиться репозиторием, не размещая его на сервере?

Я работаю в студенческой группе с несколькими другими людьми. Мы хотели бы использовать Mercurial в качестве нашей системы контроля версий, но некоторые из наших файлов не могут быть размещены в Интернете на общедоступном хостинге, таком как Google Projects или Codeplex. Есть ли способ, которым мы можем разместить репозиторий на наших собственных машинах, передавая файлы/наборы изменений друг другу по мере необходимости, не создавая ужасно конфликтного беспорядка?

Я знаю, что у Mercurial есть команда bundle, которую можно использовать для упаковки репо. Если я сделаю это и отправлю пакет кому-то еще, и они захотят вернуть мне изменения, как лучше всего это сделать? Прислать мне пакет обратно?

У меня есть учетная запись общего хостинга на сервере. Есть ли шанс, что я смогу запустить Mercurial с этой коробки? Как бы мне это узнать?


person Nick Heiner    schedule 15.06.2010    source источник
comment
Если при использовании общедоступного хостинга проблема заключается в том, что код не должен передаваться людям за пределами вашей группы, бесплатные учетные записи bitbucket.org поддерживают один частный репозиторий, который вы сможете использовать для этого.   -  person Angelo Genovese    schedule 15.06.2010
comment
@Angelo Я не знал, что BitBucket предлагает частное репо. Я не могу поддержать вас достаточно для этого.   -  person Nick Heiner    schedule 16.06.2010


Ответы (2)


Нет необходимости иметь центральное репо. Это одно из преимуществ распределенной системы контроля версий. У каждого разработчика есть собственный репозиторий на его машине, и вы обмениваетесь наборами изменений по электронной почте или подключаетесь к машинам друг друга, если это возможно.

Если одна из ваших машин доступна для всех остальных, она может служить «центральным» хранилищем, если вы считаете, что это облегчит логистику координации работы всех.

person Arkady    schedule 15.06.2010

Команда bundle упаковывает наборы изменений, не обязательно полный репозиторий. Опция --base позволяет вам указать самую раннюю версию, которая есть у других людей (это нормально, если вы упаковываете больше, чем нужно). Таким образом, вы можете отправлять пакеты туда и обратно, это должно работать практически так же, как если бы вы использовали сервер. В любом случае, если требуется слияние, он сообщит вам, когда вы попробуете hg update.

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

person Matthew Flaschen    schedule 15.06.2010