Mercurial "сервер" - PullRequest
       33

Mercurial "сервер"

73 голосов
/ 11 апреля 2009

Я уже некоторое время пользуюсь Mercurial, но в основном для собственного использования. Теперь у меня есть проект, над которым я работаю, где двое из нас строят один и тот же проект, и мы, вероятно, будем изменять файлы друг друга.

Я бы хотел установить репозиторий Mercurial на сервере, сделать этот репозиторий «сервером», чтобы мои изменения и изменения в другом редакторе были перенесены на этот сервер (так что в основном Subversion / CVS модель); Мне нравится Mercurial, и я не хочу переключаться на что-то вроде Subversion.

Здесь, в моей собственной сети, все делается в Linux, и на моем "сервере" установлено OpenSSH . Поэтому перенести мои изменения (я работаю на нескольких компьютерах) с одного компьютера на сервер - это просто вопрос «hg push»; протокол используется SSH для передачи изменений.

Проблема в том, что я использую Linux, сервером будет Windows (значит, нет OpenSSH, верно?), А другой редактор тоже будет использовать Windows. Насколько я знаю, лучший способ работы в Mercurial в этих типах установок заключается в том, чтобы репозиторий извлекал изменения из источника, а не из источника, отправляющего «серверу». Я нахожусь за несколькими брандмауэрами (не полностью моей сетью), и мой компьютер не будет виден с сервера, и я предполагаю, что другой редактор будет также за брандмауэром (поэтому мы не можем просто запустить локальный Mercurial HTTP-сервер и получить "сервер" компьютер, чтобы вытащить из этого).

Какой лучший способ для обоих редакторов получить наши изменения в хранилище сервера? (Я должен добавить, что сервер - это сервер в Интернете, поэтому он так же виден, как и google.com. Это сервер Windows, размещенный на хосте, но, возможно, у меня будет разрешение на установку программного обеспечения, если это необходимо.)

Ответы [ 13 ]

2 голосов
/ 14 апреля 2011

Я сам этим не пользовался, но взгляну на Mercurial Server от LShift.

1 голос
/ 12 августа 2010

Предоставить общий доступ к папке Dropbox , содержащей ваш «серверный репозиторий».

0 голосов
/ 14 января 2011

Насколько я знаю, лучший способ работы в Mercurial в этих типах из настроек для репо, чтобы получить изменения из источника, а не источник пушит на "сервер".

Не существует "лучшего способа работы", о котором я знаю? Mercurial поддерживает множество возможных рабочих процессов, и даже перечисляют их в руководстве . Я на самом деле использую настройку "svn-ish", где я разрабатываю локальный репозиторий и имею несколько репозиториев на общем сервере. Если есть какие-либо изменения, я помещаю их в центральное хранилище. Я проталкиваю их через HTTPS, и у меня (естественно) ограниченные возможности проталкивания только для разработчиков. Это отличный способ работы.

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

Возможно, вы захотите пересмотреть свои мысли по этому вопросу, нажав v потянув?

...