问题标签 [hgweb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
netbeans - Netbeans Mercurial 身份验证
我有一个奇怪的问题。我已经使用 hgweb.cgi 脚本设置了 Mercurial 服务器。该脚本在我的 Apache 网络服务器上的一个子文件夹中运行,我使用 Apache basicauth 来强制执行身份验证。
当我尝试在 Windows 上使用 hg.exe 命令行从我的服务器中提取时,它工作正常。推送、传入和传出命令也可以正常工作。在 Aptana 中,推拉也可以正常工作。
我的下一步是在 Netbeans 中设置 Mercurial。我无法让它工作,因为我无法进行身份验证。Netbeans 不断向我询问 un/pw 组合。附加的窗口不断弹出。无论我做什么,最后我都必须单击“取消”按钮,最终出现错误:
链接到错误消息
mercurial - 没有 Web 界面的 hgweb
这似乎是一个愚蠢的想法,但无论如何,如果没有 hgweb.cgi 中捆绑的任何 web 界面功能,是否可以通过 http 提供一个 mercurial 存储库。
我希望用户能够通过 http:// 克隆/推送存储库,但我不希望他们能够通过 Web 界面查看存储库或文件。
静态 HTTP 是一种选择,但官方的 mercurial 文档声称这非常慢。
如果这不是微不足道的,是否有人知道通过 http 为 hg 存储库提供服务的示例代码,最好不支持浏览器界面?
提前致谢。
apache - 在 debian 上使用 apache 创建子域;创建 hgweb 子域作为第二步
经过数小时尝试在我的专用根服务器上设置子域后,我向您寻求帮助。
目标:
- 能够创建和访问子域
- 使用 hgweb 为 mercurial 存储库设置自己的子域
服务器的相关资料:
- Debian Linux,内核 2.6.32-028stab094.3
- Apache/2.2.16 (Debian)
- 水银 1.6.4
- 已安装 libapache2-mod-wsgi-py3
第一个问题:我无法通过浏览器访问子域的 apache 配置有什么问题?
实际上,我可以访问根域和安装在那里的站点。
我的配置: /etc/apache2/sites-available/default
/etc/apache2/sites-available/hgrepos.domainname.tld
我的/etc/apache2/httpd.conf文件是空的。
我通过启用子域文件a2ensite subdomain.domainname.tld
。
我都用过,/etc/init.d/apache2 reload
和/etc/init.d/apache2 restart
。Apache 没有告诉我我试图加载格式错误的配置。
根域的站点位于/var/www/forum
并且可以访问。
我的/var/www/hgrepos文件夹结构如下:
该index.html
文件仅包含一些 Hello World!html 查看子域是否可访问。
那么现在回到我的第一个问题:为什么我不能通过浏览器访问hgrepos子域?
其次,我想为我的私人项目提供一些 mercurial (hg) 存储库,使用hgweb
. 我遵循了这些说明:
https ://www.mercurial-scm.org/wiki/modwsgi
https://www.mercurial-scm.org/wiki/HgWebDirStepByStepFtpOnly
这是我在/var/www/hgrepos/cgi-bin/下的配置文件:
hgweb.wsgi
hgweb.config
文件的权利:
所以现在我的第二个问题:我怎样才能让 hgweb 工作?我的配置实际上有什么问题?
好吧,哇,这是很多文字,但我不太确定需要哪些信息,哪些不需要。希望你能帮助我,任何提示都是有帮助的:)
windows - 如何在一台 IIS 服务器上设置多个 hgweb 站点?
我正在设置我们公司的第一个 Mercurial Web 界面,但遇到了一些障碍。我们将有多个团队使用此服务器,我不希望团队 A 必须处理团队 B 的存储库,反之亦然。
如果 hgweb 为存储在文件夹树中的存储库提供服务,那将是完美的。不幸的是,我见过的所有模板都“将树扁平化”为一个简单的存储库列表。所以我一直在尝试设置多个站点,以便https://hg.server/teamA仅列出团队 A 的存储库,而https://hg.server/teamB仅显示团队 B 的存储库。听起来很简单!
我使用的是 ISAPI 而不是 CGI。不幸的是,ISAPI 处理程序似乎无法指向多个 hgweb.config 文件。
RhodeCode 的外观给我留下了深刻的印象,但我一直无法正确安装它。我对 Python 非常陌生;因此,至少可以说,某些安装说明令人困惑。
所以......关于如何成功安装 RhodeCode 或做我需要做的任何建议?
mercurial - 似乎无法让 ACL 与 hgweb.wsgi 一起使用
我在 apache2 下的 ubuntu 服务器上设置了 hgweb.wsgi。此外,我使用 apache2 htpasswd 方法进行了基本身份验证。这一切都很好。但是,我们希望控制每个用户可以访问的内容,而 ACL 似乎是最好的方法。因此,在 repos .hg 文件夹中,我创建了一个 hgrc 并根据用于启动和运行 ACL 的文档对其进行了修改(我还启用了扩展)。问题是我根本没有任何迹象表明 hgrc 已被使用。如果我添加 [ui] debug = true 我仍然没有从远程客户端得到任何东西。可悲的是,我不太确定如何进行调试,因此将不胜感激。
nginx - hgweb.cgi 和 nginx - “连接被拒绝”
我已经按照https://www.mercurial-scm.org/wiki/HgWebDirStepByStep让“hg serve”在 CGI 上运行 - 但它不太有效。
这是我用来生成 CGI 的命令:
输出表明进程成功生成,但ps -p
显示进程已经关闭。果然,当我使用 运行上述命令时-n
,它会输出大量 HTML(存储库列表)然后退出。它不是要坚持下去,在端口 9000 上监听吗?
Telnet 到端口 9000 给出“连接被拒绝”,这似乎是 nginx 也遇到的问题:
我确信我的 nginx 配置是正确的,但如果您需要查看,我可以将其发布在这里。
谢谢你的帮助 :)
python - hgweb 原始视图返回错误的内容类型
背景:我正在使用https://bitbucket.org/mariocesar/django-hgwebproxy/wiki/Home将 Mercurial 浏览器添加到我正在构建的 Django 站点。
我遇到的问题是:我们存储在 HG 存储库中的特定文件是绑定区域文件,并且恰好被命名/some/path/somedomain.com
,这导致 hgweb在返回原始文件时将内容类型设置为application/x-msdos-program
(当内容真的是)text/plain
文件的视图。不正确的内容类型导致 hgwebproxy 将内容转储到页面模板中,而不是仅仅返回它。它会进行这样的测试以跳过模板:
一些可能的解决方案当然是
- 将所有文件重命名为 .zone (蹩脚且耗时)
- 破解 hgwebproxy 以通过
application/x-msdos-program
(蹩脚和肮脏) - 说服 hgweb 使用正确的内容类型(太棒了!我希望你能帮忙)
mercurial - mercurial ssl 访问允许拉取,但需要对推送进行身份验证
我已经通过 SSL 设置了一个 mercurial 服务器。在 apache 配置文件中,我使用 mysql 数据库设置了身份验证。
我希望每个人都能够在没有凭据的情况下从存储库中提取,但将推送权限限制为经过身份验证的用户。现在完成的方式要么是每个人都通过拉取和推送的身份验证,要么没有人是。
我的apache配置是这样的:
hg 还需要对 ssl pull 进行身份验证,无论 LimitExcept 开关。
有没有办法限制身份验证仅用于推送到存储库?
简单的 http 访问是不够的,因为如果某人是开发人员,她会通过 https 签出代码。
SSH 访问是不可能的,因为一些开发者有防火墙禁止的 ssh 端口。
解决方案之一是 hg 是否会记住 https 凭据。
感谢您阅读问题。
mercurial - Mercurial:如何让远程用户更改他们的密码?
我使用 Apache 和 hgweb 在我的 Web 服务器上配置了 Mercurial 存储库。我了解如何使用 htdigest 创建新用户帐户,但我想知道如何使远程用户能够更改他们的密码。理想情况下,我会使用临时密码创建他们的帐户,然后向他们发送一封电子邮件,邀请他们更改密码。用户应该能够更改他们自己的密码,而不是其他用户的密码(否则我只需为他们提供一个 shell 帐户)。
这可以做到吗?如果是这样,怎么做?
mercurial - hgweb:向不同的用户显示不同的存储库?
我想在同一个服务器/虚拟主机上托管两组不同的私有存储库,并让用户根据他们的凭据看到一组或另一组。
有没有比托管两个具有单独用户帐户和配置文件的单独hgweb 实例更简单的方法?