6

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

共享存储库设置为多存储库,如Mercurial 文档中所述,使用 Apache、hgwebdir.cgi 脚本和 Mercurial 1.4。

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

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

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

4

2 回答 2

10

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

  1. 使用 ssh 克隆创建:`ssh clone local-repo ssh://you@remote//path/to/repo'
  2. 登录到远程仓库并hg init在你想要仓库的地方做一个。之后,您可以推送到新的空仓库
  3. 使用像我在这里写的那样俗气的 http-creation CGI:http ://ry4an.org/unblog/UnBlog/2009-09-17
于 2010-05-11T13:49:46.910 回答
2

更新

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

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

/更新

我发现了另一种选择:完全跳过 http 和 ssh 并使用 Dropbox 共享 repos

对于一个人多台计算机的场景,它看起来是最简单的选择,并且您可以获得备份作为一个很好的副作用。

这是关于黑客新闻的讨论

于 2010-05-12T12:51:04.973 回答