【问题标题】:Cloning a mercurial repository via SSH通过 SSH 克隆一个 mercurial 存储库
【发布时间】:2012-04-04 01:29:55
【问题描述】:

我的主目录在一台服务器上,而 Mercurial 存储库在另一台服务器上。我想将存储库克隆到我的主目录。我们通过 ssh 连接到另一台服务器。如何克隆 mercurial 存储库?

我的本​​地存储库应该在:/home/my_user/my_project

Hg 存储库(在另一台服务器上)位于:/opt/Application/hg/the_project

最好的问候

【问题讨论】:

    标签: mercurial ssh repository clone


    【解决方案1】:

    根据hg help urls

    - path is relative to the remote user's home directory by default. Use an
      extra slash at the start of a path to specify an absolute path:
    
        ssh://example.com//tmp/repository
    

    因此,要从您的远程位置下载,您必须这样做:

    hg clone ssh://<ip-address>//opt/Application/hg/the_project
    

    (注意IP地址后面的双/!)

    【讨论】:

    • 谢谢 - 显然(使用 hg 版本 1.4.3)三斜杠也可以!例如,hg clone ssh://user@host///home/user/repo
    【解决方案2】:

    我尝试了以下方法:

    hg clone ssh://(other server name):/opt/Application/hg/the_project
    

    但它只会转到我的主目录。但是,如果您要在主目录中创建到存储库目录的符号链接 (ln -s),它将很好地克隆它(如果您设置了密钥,则效果最好,这样您就不必在每次连接)

    【讨论】:

    • 我将输入另一台机器的 IP 地址。我需要写hg clone ssh://11.11.11.111:/opt/Application/hg/the_project 吗?
    • 您可以阅读我的答案,原因是克隆被“限制”到您的主目录。根本不需要创建符号链接。
    • 酷 - 我不知道双斜线。