如何将新项目推送到共享的Mercurial多存储库?

时间:2010-05-11 11:40:03

标签: mercurial project-structure

我有一台本地机器(“笔记本电脑”)和另一台机器(“服务器”)上的共享Mercurial存储库。

使用Apache,hgwebdir.cgi脚本和Mercurial 1.4将共享存储库设置为in the Mercurial documentation所述的多存储库。

设置工作的意义是我可以在Web浏览器中浏览项目(存储库),我可以从服务器克隆和拉出,并且当项目/存储库已经存在于服务器上时,我可以从笔记本电脑推送。

但我无法在笔记本电脑上创建一个新项目(hg init,做东西,hg commit)并将其推送到共享多存储库(hg push http://server/hg/my-new-project-name) - 我得到“abort:HTTP Error 404 :Not Found“,可能是因为目录/项目存储库尚不存在。

如何将新项目/目录结构推送到其他地方运行的Mercurial?我在文档中找不到任何内容,你们是怎么做到的?

2 个答案:

答案 0 :(得分:9)

您无法使用内置功能通过http创建新的远程存储库。您可以选择

  1. 使用ssh clone创建:`ssh clone local-repo ssh:// you @ remote // path / to / repo'
  2. 登录远程仓库并在需要回购的地方执行hg init。之后,您可以推送到新的空仓库
  3. 使用像我在这里写的那样俗气的http创建CGI:http://ry4an.org/unblog/UnBlog/2009-09-17

答案 1 :(得分:2)

<强>更新

我尝试使用Dropbox,如下所述,但无法使其足够可靠,所以我不推荐这个选项。

下面的原始答案,保留了上下文。

<强> /更新

我找到了另一个选项:完全跳过http和ssh以及using Dropbox for shared repos

对于单人多计算机方案,它看起来像是该批次中最简单的选项,并且您将备份视为一个很好的副作用。

这是a discussion on Hacker News