Как стать автором
Обновить

Комментарии 20

А можно такое же, но под винду и iis
К счастью, таким заниматься не приходилось.
Можешь попробовать мой сервер. Правда я apache вместо iis использую. И это http сервер, а не ssh, но можно подключить https протокол и настроить права на каждый репозиторий.
hg serve и разбирайтесь сами, как его подключить бэкендом к iis
А какой смысл устанавливать свежайшую версию пакета вместо стабильной?
Видимо, разработчики вашего дистрибутива так не считают, раз не включили в свой репозиторий.

Я к тому, что выбирать Убунту значит выбирать версии софта, утверждённые специально обученными канониклавцами. В мире Убунту софт обновляется сам, когда приходит время, а устанавливать что-то не из репозитория приходится только в крайнем случае. А вы пишете так, будто это само собой разумеющееся.
Mercurial 1.2 — это ооооочень старое…
Судя по всему, это сентябрь 2011 года. Не так уж и старо.
2009 — mercurial.selenic.com/wiki/WhatsNew/Archive#Version_1.2_-_2009-03-04
Её уже на странице What's new нету — она в архив перенесена. С тех пор было добавлено очень много важных фич. (Важных в том числе для сравнения с Git)
Насколько я понял, мы говорим о разных вещах.
Вы вообще про Mercurial, как систему, говорите, а я — за пакет mercurial-server.
Советую всем кому необходим сервер с git, mercurial или subversion посмотреть в сторону bitbucket.org/sdorra/scm-manager/wiki/Home
Очень простая установка и работает на Linux и Windows, поскольку java.
Не подскажите, как там дела с ssh и/или шифрованием?
Я сам не настраивал. Но там (https://bitbucket.org/sdorra/scm-manager/wiki/scm-server-ssl) пишут, что какой-то ssl можно настроить.
переменную repos я изменил соответствующим образом.
я предпочёл симлинк. при апгрейде не понадобится сливать конфиги. Элементарные, да, но тем не менее.
Остаётся один неудобный момент — при такой авторизации доступен shell. А его далеко не всегда хочется вот так просто давать всем подряд.
Если я пользуюсь просто репом — это не проблема. Но ведь никто не мешает написать и ssh name@host…
Опять же, когда я знаю, для чего это — это не проблема.
Но, предположим, у меня угнали рабочий ноутбук, в котором без пароля лежит закрытый ключ.

Поэтому, возможно, имеет смысл конкретно для коммитов завести отдельные ключи и ограничить их.
Например, вместо строчки с ключом в authorized_keys вида

ssh-rsa AAAAB3NzaC1…

дописать в начале ограничения, чтобы получилось:

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/usr/bin/hg-ssh /home/hg/repo1 /home/hg/repo2" ssh-rsa AAAAB3NzaC1…

В этом случае зайти просто через ssh и сделать какую-нибудь гадость уже не получится. А функционал сервера hg ничуть не пострадает.
а вы для начала посмотрите, какой именно шелл у юзера hg
Вы правы, ключ выглядит примерно так:
no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command="/usr/share/mercurial-server/hg-ssh root/aivus" ssh-rsa .....
Признаться, после знакомства с mercurial-server в 2009 меня тоже посещала мысль, как бы об этой прелести написать здесь, но так, чтобы топик не был пересказом элементарной документации. Так и не написал, в общем :)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.