Многопользовательские репозитории Mercurial через SSH? - PullRequest
6 голосов
/ 28 июля 2010

У меня есть централизованный репозиторий Mercurial, доступ к которому я хочу предоставить через SSH.

Я сделал chown root: репозиторий developers -R в каталоге репозитория, поэтому все пользователи в группе 'developers' должны иметьaccess.

Итак, я клонирую, добавляю свои исходные файлы в хранилище как пользователь A, фиксирую, толкаю, готово.Теперь я захожу как пользователь B, клонирую, добавляю файл, фиксирую и нажимаю.Но затем, когда я выполняю вытягивание, обновление и изменяю этот файл как пользователь А, а затем пытаюсь нажать, я получаю

pushing to /var/hg/repository
searching for changes
1 changesets found
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: Permission denied: /var/hg/repository/.hg/store/data/test.i

Я пропустил этап настройки?Разве я не должен использовать SSH?

EDIT Я обнаружил, что использование залипающего бита решает проблему: Как установить разрешения, чтобы два пользователя могли работать в одном репозитории hg? .Это плохое решение?

Ответы [ 3 ]

3 голосов
/ 28 июля 2010

Бит Sticky Group - правильный способ сделать это.Кроме того, раньше было так, что пользовательские маски должны были быть установлены так, чтобы групповое чтение / запись было включено для новых файлов, которые они добавляют, но в течение последнего года или двух ртутных копий разрешения (а не владельца) каталога .hgв самом репо на вновь создаваемые файлы, поэтому umask не так важен.

2 голосов
/ 29 июля 2010

Возможно вас заинтересует mercurial-сервер: http://www.lshift.net/mercurial-server.html

mercurial-server полезен, если вы не хотите предоставлять оболочку разработчикам на сервере, размещающем центральное хранилище mercurial.

2 голосов
/ 28 июля 2010

Документация Mercurial говорит, что использование флага setgid в порядке.

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