Достаточно ли общесистемной установки Mercurial в общей среде? - PullRequest
0 голосов
/ 26 сентября 2011

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

Для нашей команды в качестве хранилища используется серверный компьютер. У каждого члена команды также есть свой собственный Linux RedHat установленный компьютер. Однако мы ничего не делаем на наших локальных терминалах и делаем все на сервере. У каждого участника есть каталог пользователя на сервере, такой как / home / Cassie, / home / john, ... и мы сохраняем весь наш код и работаем там. Когда мы включаем локальные терминалы, система GNOME показывает наши личные файлы на сервере, а не на локальной машине. Всякий раз, когда все нажимают на приложение терминала на рабочем столе, оно подключается к своему домашнему каталогу. Таким образом, нам не нужно использовать команду SSH для подключения к серверу. Это как школьная многопользовательская система. У каждого есть учетная запись пользователя, и она входит в свою учетную запись, чтобы сделать свою собственную работу. Я надеюсь, что смогу установить общий репозиторий на этом сервере, и каждый сможет выполнять команды push, pull и т. Д. Всех видов.

1) Поскольку мы используем общую среду, означает ли это, что мне нужно установить Mercurial только на сервер, и этого достаточно для того, чтобы все выполняли команды "commit", "push", "pull" и т. Д.?

2) При установке только общесистемного Mercurial устраняет ли он возможность локальной фиксации? Если бы я хотел, чтобы у всех по-прежнему была способность «локальная фиксация», как мне это сделать?

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

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

1 Ответ

3 голосов
/ 26 сентября 2011

1) Поскольку мы используем общую среду, означает ли это, что мне просто нужно установить Mercurial на сервер, и этого достаточно для всех, чтобы выполнить «commit», «push», «pull» ..команды etc?

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

2) При установке только общесистемного Mercurial устраняет ли он возможность локальной фиксации?Если я хочу, чтобы у всех по-прежнему была возможность «локальная фиксация», как мне это сделать?

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

3) Я искал в Интернете.Некоторые люди упоминали, что для общего сетевого сервера невозможно иметь блокировки для любых двух пользователей, если они пытаются получить доступ к одному и тому же файлу одновременно.Это подразумевает мою ситуацию?

Пока ваши пользователи работают с собственными локальными копиями репо, они не будут мешать друг другу.Единственный раз, когда может возникнуть конфликт, - это фиксация обратно в общий корневой репозиторий - в этом случае пользователю потребуется объединить свои изменения и разрешить любые конфликты.

Я бы рекомендовал внимательно прочитать превосходное замечание Джоэла Спольски1019 * Hg Init учебник для лучшего понимания того, как Mercurial обрабатывает «центральные» и «локальные» копии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...