如何设置mercurial的本地回购

时间:2011-04-28 20:49:33

标签: mercurial

这是完整的情景:

  1. 主存储库:http://10.0.1.8:8000/ptest
  2. 我在主机10.1.0.115,文件夹/LOCAL-REPO
  3. 中克隆它
  4. 然后,使用hg serve -p 9900 -d --webdir-conf hgwebconfig命令发布它,hgwebconfig文件

    [paths]
    ptest = /LOCAL_REPO/ptest
    [web]
    style = gitweb
    
  5. 现在,在同一主机10.0.1.115上,我创建了一个单独的文件夹/QA并执行:

    hg clone http://10.0.1.115:9900/ptest
    

    并获取所有文件,现在我想进行更改并推送到repo on http://10.0.1.115:9900/ptest使用命令

    hg push ssh://10.0.1.115//??/ptest
    

    我不知道??的正确值是什么。所以问题是:

    1. 如何设置用户/密码以在10.0.1.115上推送对此回购的更改?
    2. 这种情况下的核心语法是什么?
    3. 当我尝试推送更改时,我收到错误:

      hg push ssh://user@10.0.1.115/ptest
      user@10.0.1.115's password: 
      remote: abort: There is no Mercurial repository here (.hg not found)!
      abort: no suitable response from remote hg!
      

1 个答案:

答案 0 :(得分:3)

当您通过http://?

拉出时,是否真的需要通过ssh://进行推送

hg clone http://10.0.1.115:9900/ptest克隆之后你也可以通过http推送它,比如hg push http://10.0.1.115:9900/ptest

但如果您真的需要通过ssh推送,那么:您必须在本地帐户下访问您的存储库,例如如果用户是hg并且它的homedir是/home/hg,并且您将在/home/hg/repository目录中拥有您的仓库,那么您将能够通过命令访问它:

hg push ssh://hg@10.0.1.115/repository/

用户/密码与ssh到用户hg相同。