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

发布于 2024-09-01 14:12:51 字数 533 浏览 7 评论 0原文

我有一台本地计算机(“笔记本电脑”)和另一台计算机(“服务器”)上的共享 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?我在文档中找不到任何内容,请问你们是如何做到的?

I have a local machine ("laptop") and a shared Mercurial repository on another machine ("server").

The shared repository is set up as a multi-repository as described in the Mercurial documentation using Apache, the hgwebdir.cgi script and Mercurial 1.4.

The setup works in the sense that I can browse the projects (repositories) in the web browser, I can clone and pull from the server, and I can push from the laptop when the project/repository already exists on the server.

But I cannot create a new project on the laptop (hg init, do stuff, hg commit) and push it to the shared multi-repository (hg push http://server/hg/my-new-project-name) - I get "abort: HTTP Error 404: Not Found", presumably because the directory/project repository does not exist yet.

How can I push a new project/directory structure to a Mercurial running elsewhere? I couldn't find anything in the documentation, how do you guys do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉墨 2024-09-08 14:12:51

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

  1. 使用 ssh 克隆创建:`ssh clone local-repo ssh://you@remote//path/to/repo'
  2. 登录到远程存储库并执行 < code>hg init 您想要存储库的位置。之后,您可以推送到新的空存储库
  3. 使用俗气的 http-creation CGI,就像我在这里写的那样: http://ry4an.org/unblog/UnBlog/2009-09-17

You cannot create new remote repositories over http with the built-in functionality. Your options are to either:

  1. create with a ssh clone: `ssh clone local-repo ssh://you@remote//path/to/repo'
  2. log in to the remote repo and do a hg init where you want the repo. After that you can push to the new empty repo
  3. Use a cheesy http-creation CGI like the one I wrote here: http://ry4an.org/unblog/UnBlog/2009-09-17
把梦留给海 2024-09-08 14:12:51

更新

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

原始答案如下,保留上下文。

/update

我发现了另一个选项:完全跳过 http 和 ssh 以及 使用 Dropbox 共享存储库

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

这是有关黑客新闻的讨论

Update

I tried using Dropbox as described below, but couldn't make it sufficiently reliable, so I'm not recommending that option.

Original answer below, kept for context.

/update

I found one more option: Skipping both http and ssh altogether and using Dropbox for shared repos.

For the one-person-multiple-computers scenario, it looks like the simplest option of the lot, and you get backups as a nice side effect.

Here is a discussion on Hacker News

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文