通过SSH克隆Mercurial存储库

时间:2010-12-13 17:58:20

标签: mercurial ssh webfaction

我在使用ssh克隆我的mercurial存储库时遇到了一些困难。

以下是我的尝试:

hg clone ssh://username@username.webfactional.com/path/to/projectname projectname

它给了我这个错误:

remote: bash: hg: command not found
abort: no suitable response from remote hg!
但是,

hg已安装在服务器上。

我试图按照this website上的说明进行操作。

6 个答案:

答案 0 :(得分:93)

你需要一个双重//后主机名,即:。

hg clone ssh://username@username.webfactional.com//path/to/projectname projectname

答案 1 :(得分:35)

hg之类的声音不在您的路上。 Mercurial常见问题解答提到了此问题的可能修复:FAQ/CommonProblems

通过在客户端计算机上打开remotecmd(或Windows上为~/.hgrc)并添加以下内容,将Mercurial.ini值添加到Mercurial配置中:

[ui]
remotecmd = /path/to/hg

其中/path/to/hg是远程服务器上hg命令的路径。

如果您的Mercurial配置出现问题,可以使用hg showconfig --debug命令获取Mercurial设置的完整列表,以及定义每个配置值的配置文件的路径和行号。

答案 2 :(得分:4)

看起来mercurial不在远程服务器上的用户PATH中。

答案 3 :(得分:2)

在webfactional上我不得不添加:

export PATH=$PATH:/home/<user>/bin

到.bashrc让它工作。 (也遵循上面的remotecmd建议)

答案 4 :(得分:0)

在服务器上,键入:nano ~/.bashrc通过添加:

结束编辑文件
# User specific aliases and functions
export PATH=$PATH:$HOME/packages/mercurial

假设~/packages是安装mercurial的文件夹。 编辑完成后,使用source ~/.bashrc完成,然后重试。

对我来说非常有帮助的是以下精心设计的guide to install mercurial on a Bluehost hosting server.

答案 5 :(得分:0)

您可以使用来自终端的Sourcetree,TortoiseHg,Mercurial或您喜欢的任何客户端来克隆Mercurial存储库。这些说明向您展示了如何使用终端中的Mercurial克隆存储库。

  1. 在存储库中,单击全局侧栏中的+,然后选择克隆 这个存储库在Get to work。
  2. 复制克隆命令(SSH格式或HTTPS)。 如果您使用的是SSH协议,请确保您的公钥位于Bitbucket中并加载到您要克隆的本地系统上。
  3. 在终端窗口中,切换到要克隆存储库的本地目录。
  4. 粘贴从Bitbucket复制的命令,例如:
    通过HTTPS克隆
    $ hg clone https://username@bitbucket.org/teamsinspace/hg-documentation-tests
    通过SSH克隆
    $ hg clone ssh://hg@bitbucket.org/teamsinspace/hg-documentation-tests
    如果克隆成功,则会在本地驱动器上显示新的子目录 此目录与您克隆的Bitbucket存储库同名 该克隆包含Mercurial维护对源文件所做更改所需的文件和元数据。