我无法通过http:
克隆我的存储库abort:'http://MYREPO'似乎不是hg存储库!
首先,我通过 hg init MYREPO 创建了一个新的回购,然后添加了一些文件并提交。
我的repo的目录受密码保护,但没有任何问题,因为它,我尝试了两种克隆方法: (在我的本地机器上)
hg clone http://MYREPO my_repo
和
hg clone http://user:password@MYREPO my_repo
回购目录的权限是:drwxrwxr-x
我可以在我的远程计算机上克隆这个非常存储库(同一个存储库已经打开),没有任何问题。
可能出现什么问题?
答案 0 :(得分:10)
更新:
看起来你在存储库和主机名之间感到困惑
如果运行“hg serve”,“hg clone http://USER@HOST:8000”,其中host可以是机器的IP或主机名(在linux上键入“hostname”或尝试“ping localhost”)。您可以通过将--port ####传递给hg serve来从8000更改默认端口。
如果你想通过ssh,“hg clone ssh:// USER @ HOST // PATH / TO / YOUR / REPOSITORY”。假设您在主目录中创建了一个名为MYREPO的存储库,那么您可以这样做:“hg clone ssh:// USER @ HOST /〜/ MYREPO”
你只能通过http克隆你的repo是什么东西通过http服务该repo。 Mercurial为您提供内置的http服务器。在repo内部运行“hg serve”,然后尝试从其他位置(或其他命令shell)克隆它。如果您只想要一个本地克隆,则不需要使用http(“hg clone”)。
另外,请尝试“hg help clone”和“hg help serve”了解详细信息。
答案 1 :(得分:3)
这适用于在端口43211上运行ssh的主机上
hg clone ssh://example.com:43211//repos/myRepo ./myRepo
端口号工作后的双斜杠,但是单斜杠会导致“.hg not found”错误
答案 2 :(得分:2)
besszero是对的,但如果你要使用用户名和密码,为什么不用SSH克隆呢?
hg clone ssh:// machine_ip // your / repo / location your_repo
如果您不想为mercurial的http服务器打开另一个端口并且您不需要hgweb功能,那么它也更加安全,流量也是加密的。唯一的问题是您必须登录结帐,但HTTP不能用于推迟更改,至少不符合我的经验。
答案 3 :(得分:0)
唉......需要注意.htaccess配置。在我的情况下,我需要将'hgwebdir.cgi'添加到克隆的路径...感谢您的答案!
SSH似乎是合乎逻辑的,但不知怎的,我无法将其用于本地以外的用户:
hg clone ssh:// MY_REMOTE_USER @ MYREPO remote:abort:这里没有Mercurial存储库(找不到.hg)!