zer*_*kms 13 mercurial mercurial-server
根据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)
Run Code Online (Sandbox Code Playgroud)
我们可以看到,要创建我们需要传递特定init命令.
此命令按预期工作:
"TortoisePlink.exe" -ssh -2 hg@mercurial "hg init tst"
Run Code Online (Sandbox Code Playgroud)
但我希望这是一个更优雅的命令.
那么,它是文档中的"错误"还是我做错了什么?
更新:
我的问题只是关于使用远程创建存储库mercurial-server.
更新2:
这是我的误解,因为我不清楚应该已经创建了本地存储库,它将被远程克隆.
Chr*_*ler 15
我发现使用Mercurial-server创建一个新的repo非常简单.假设您拥有权限并且服务器上已存在路径"/ dir1/dir2 /",则只需(使用命令行):
mkdir new
cd new
hg init
hg clone . ssh://hg@server/dir1/dir2/new
Run Code Online (Sandbox Code Playgroud)
干杯,
克里斯托夫.