python - 如何在共享中央服务器上轻松发布新的 Mercurial 存储库或子存储库? (推一个克隆)

标签 python mercurial cgi hgweb

Mercurial 的浩瀚 publishing options包括 HgWeb(以及以前的 HgWebDir),它几乎可以完美满足我的需求。 HgWeb 1.6 支持多个存储库,包括集合。

所以 hgweb.config 可能包含这样的东西:

[collections]
/home/user/collection1 = /home/user/collection1
/home/user/collection2 = /home/user/collection2

因此,上述文件夹(collection1、collection2)可能在上述位置分别包含大约 10-20 个存储库作为子文件夹。

我的问题是,是否有任何 hg 扩展或配置技术允许我将克隆推送到 hgweb 服务的集合?

我在 Linux 上的常用方法是使用 SSH 远程登录,然后对我的开发人员工作站副本执行 hg clone,我暂时使用“hg serve”提供服务。我发现我和一些精通 Linux 的开发人员一起工作,他们可以毫无问题地通过 ssh 进入一个盒子,并使用 hg 做一些事情。但是 Windows 用户 (a) 不会 grok ssh,并且 (b) 不知道 Linux 命令行环境,并且希望使用他们的 IDE 版本控制插件或 GUI 工具,或使用 CGI 页面 (由我用 python 编写), 远程拉取克隆,为他们提供了一种有效的方法来将他们的 HG 存储库推送或发布到中央存储库,而无需求助于对远程服务器系统的任何 ssh 访问。在 Windows 上运行集中式 mercurial 服务器的奇怪情况下,您甚至可能无法通过 ssh 连接到远程服务器。

在我看来,答案是“不,你不能这样做”,除非我为 hgweb 编写自己的扩展,我即将这样做。但是如果 hg 中已经有办法做到这一点,我很想知道。

相关问题:

Setup of mercurial on shared hosting

Multiple central repositoriess with mercurial

最佳答案

Mercurial 的默认 Web 界面不支持远程创建存储库(参见 Why doesn't Mercurial support remote repository creations over HTTP? )。但是,如果您的开发伙伴原则上被允许使用 SSH 登录到 Mercurial 服务器,并且您在该服务器上有某种可以被多个用户访问的共享文件空间,您可以使用 将本地存储库克隆到服务器SSH 存储库 URL ( see this answer)。对于 Windows 用户来说,这也应该很容易,因为低级 SSH 的东西是由 Mercurial 完成的。

关于python - 如何在共享中央服务器上轻松发布新的 Mercurial 存储库或子存储库? (推一个克隆),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6455729/

相关文章:

"internal"列表的 Pythonic 访问器/修改器

mercurial - 查找特定文件已修改的变更集列表

mercurial - Mercurial 变更集 ID 中的两个数字是什么?

perl - 如何从 CGI 中分离进程,以便可以从内存中存储和读取文件?

python - 如何使用python从http header 在服务器中执行bash命令?

python - 用 Pandas 反转数据框的行顺序

python - 将数据从 pyspark 写入 ElasticSearch

python - 在 Heroku 应用程序上安装 spacy en_core_web_lg 时出错

version-control - 命名分支与多个存储库

regex - 为 CGI 输入域名的 Perl 污染模式导致 “Insecure dependency in eval”