首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mercurial-server创建新存储库

使用mercurial-server创建新存储库
EN

Stack Overflow用户
提问于 2011-05-04 02:50:53
回答 2查看 13.6K关注 0票数 13

根据http://dev.lshift.net/paul/mercurial-server/docbook.html的“创建存储库”,我们需要做的就是创建新的存储库-- clone不存在存储库。

但在1.1中,我不工作。如果我们看一下密码:

代码语言:javascript
复制
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命令。

此命令如预期的那样工作:

代码语言:javascript
复制
"TortoisePlink.exe" -ssh -2 hg@mercurial "hg init tst"

但我希望这是一个更优雅的命令。

是文档中的"bug“还是我做错了什么?

更新

我的问题只是关于使用mercurial-server远程创建存储库。

更新2

这是我的误解,因为我不清楚是否应该已经创建了本地存储库,这将被远程克隆。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-05 12:13:41

我发现使用Mercurial服务器创建一个新的回购非常简单。假设您拥有这个权限,并且路径“/dir1/dir1 2/”已经存在于服务器上,那么简单地(使用命令行):

代码语言:javascript
复制
mkdir new
cd new
hg init
hg clone . ssh://hg@server/dir1/dir2/new

干杯,

克里斯多夫。

票数 15
EN

Stack Overflow用户

发布于 2011-05-04 12:38:30

您所引用的页面用于共享现有存储库,而不是专门用于创建新的空存储库。您给出的命令hg init tst对于初始化一个新的空存储库是正确的。我认为它唯一的‘不雅’之处在于您正在远程执行它,因此需要给出附加的ssh命令。存储库创建命令本身hg init非常简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5877959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档