Согласно «Создание репозиториев» на http://dev.lshift.net/paul/mercurial-server/docbook.html все, что нам нужно сделать, чтобы создать новый репозиторий - это clone
несуществующий.
Но в 1.1 я не работаю. И если мы посмотрим на код:
if cmd is None:
fail("direct logins on the hg account prohibited")
elif cmd.startswith('hg -R ') and cmd.endswith(' serve --stdio'):
repo = getrepo("read", cmd[6:-14])
if not os.path.isdir(repo + "/.hg"):
fail("no such repository %s" % repo)
dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
elif cmd.startswith('hg init '):
repo = getrepo("init", cmd[8:])
if os.path.exists(repo):
fail("%s exists" % repo)
d = os.path.dirname(repo)
if d != "" and not os.path.isdir(d):
os.makedirs(d)
dispatch.dispatch(['init', repo])
else:
fail("illegal command %r" % cmd)
мы видим, что для создания нам нужно передать конкретно init
команду.
Эта команда работает должным образом:
"TortoisePlink.exe" -ssh -2 hg@mercurial "hg init tst"
но я надеюсь, что это более элегантная команда для этого.
Ну, это "ошибка" в документации или я что-то не так делаю?
UPDATE
У меня вопрос только о удаленном создании репозиториев с использованием mercurial-server
.
ОБНОВЛЕНИЕ 2 :
Это было мое недоразумение, так как мне было не ясно, должен ли быть уже создан локальный репозиторий, который будет клонирован удаленно.