问题标签 [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.
python - 无法让 Mercurial 的 hgweb.cgi 在 IIS7 上运行
我一直在使用本指南http://tinyurl.com/mercurial-iis尝试在 IIS 7 上设置 Mercurial。我已按照每个步骤操作,但是当我尝试访问该站点时,出现以下错误:
错误摘要
HTTP 错误 500.0 - 内部服务器错误 您要查找的资源有问题,因此无法显示。
详细的错误信息
模块IsapiModule
通知ExecuteRequestHandler
处理程序 Mercurial-ISAPI
错误代码0x8007007e请求的 URL http://localhost:81/ 物理路径C:\inetpub\hg
登录方法匿名
登录用户匿名
我正在使用以下设置:
- Windows Server 2008 SP2 x64 操作系统
- IIS7
- Python 2.6.6 32 位
- Mercurial 1.7.5 32bit
- pywin32-215
mercurial - 为什么 hgweb.cgi 没有列出使用 mercurial 1.7 或 1.8 创建的存储库?
我在 Windows 2003 服务器(IIS 6、Python 2.6.6)上运行 hgweb.cgi,并且在我最近从 mercurial 1.6 升级到 1.7 和 1.8(客户端和中央服务器)之前一直没有问题。我在服务器上有一个目录,其中包含我的所有中央存储库,并且该目录在 hgweb.config 文件中设置为“集合”。即使在服务器上升级到 mercurial 1.8 后,hgweb.cgi 也只会列出使用 mercurial 1.6 或更早版本创建的存储库。未列出使用 1.7 或 1.8 创建的任何存储库。尝试直接访问 1.7 或 1.8 存储库会导致显示以下错误消息:
处理您的请求时发生错误:
不支持要求“dotencode”
似乎这个问题与使用 mercurial 1.6 的 hgweb.cgi 有关,但是由于我卸载了 1.6 并在服务器上安装了 1.8,这怎么可能呢?python 目录中的某个库文件是否也需要替换/升级?我错过了什么?
我正在使用webapp
安装 1.8 后创建的 mercurial 目录中的文件,仅根据需要修改 hgweb.cgi 和 hgweb.config。
mercurial - 如何使 hgweb 在层次结构中显示存储库?
我有大约 100 个 Mercurial 存储库,由hgweb
. 存储库存储在文件夹层次结构中,但hgweb
以“平面”方式显示结构。这不成比例。有没有办法以树状层次结构显示存储库?
mercurial - hgweb 与 mod_wsgi 的 WSGIDaemonProcess 作为另一个用户运行(跳过 chmod/chown)
是否可以使用 mod_wsgi 的 WSGIDaemonProcess 作为另一个用户运行来为 hgweb 提供服务,这样就不需要执行任何 chmod/chown?例如,存储库位于 下/home/john/repositories
,而 WSGIDaemonProcess 配置为user=john
我尝试了该设置并且可以浏览/克隆/拉取,但在尝试推送时出现此错误:
python - 为 Mercurial 执行 hgweb.cgi 时,指定的 CGI 应用程序行为异常...
- 我有 IIS 6
- 我在 c:/program files/mercurial 中安装了 Mercurial
- 我在 c:/program files/python 中安装了 Python 2.6
- 我在“主目录”=>“配置”选项卡下为我的网站添加了扩展处理等
- "C:\程序文件\Mercurial\python\python.exe" -u "%s" "%s"
- 扩展名 = .cgi
- 我在 Web 服务扩展中允许 python.exe
- "C:\Program Files\Mercurial\Python\python.exe" -u "%s" "%s"
- 我允许所有未知的 cgi,但出于安全原因不建议这样做
- 我在 E:\WWW\ 上有一个网站 - 我在 E:\WWW\ 上有一个存储库
然后我尝试访问http://localhost/hgweb.cgi并收到此错误:
“指定的 CGI 应用程序因未返回完整的 HTTP 标头而行为异常”
请帮助我变得非常沮丧。非常感谢!
马丁 / 荷兰
python - 如何在共享中央服务器上轻松发布新的 Mercurial 存储库或子存储库?(推一个克隆)
Mercurial 的大量发布选项包括 HgWeb(以及以前的 HgWebDir),它几乎可以满足我的需求。HgWeb 1.6 支持多个存储库,包括集合。
所以 hgweb.config 可能包含如下内容:
因此,上述文件夹(collection1、collection2)可能每个都包含大约 10-20 个存储库,作为子文件夹,位于上述位置。
我的问题是,是否有任何 hg 扩展或配置技术可以让我将克隆推送到 hgweb 提供的集合?
我在 Linux 上的常用方法是使用 SSH 远程登录,然后hg clone
复制我的开发人员工作站副本,我暂时使用 `hg serve' 提供服务。我发现我与一些精通 Linux 的开发人员一起工作,他们可以毫无问题地通过 ssh 进入一个盒子,并且使用 hg 做一些事情。但是 Windows 用户 (a) 不熟悉 ssh,并且 (b) 不了解 Linux 命令行环境,并且想要使用他们的 IDE 版本控制插件或 GUI 工具或 CGI 页面(由我编写)的方法在python中),远程拉取克隆,使他们能够有效地将其 HG 存储库推送或发布到中央存储库,而无需借助任何 ssh 访问远程服务器系统。在 Windows 上运行集中式 mercurial 服务器的奇怪情况下,您甚至可能无法通过 ssh 连接到远程服务器。
在我看来,答案是“不,你不能这样做”,除非我为 hgweb 编写自己的扩展,我即将这样做。但是,如果在 hg 中已经有办法做到这一点,我想知道。
相关问题:
python - Matching Mercurial/Python/PyWin32 Component Versions
I'm looking at two different guides for Windows HgWeb installation on IIS. The first from mercurial developers says:
On Windows, your Python version must match the version used to compile Mercurial. Otherwise, you'll get "Invalid Magic Number" errors when trying to run the CGI.
The second guide says:
Don’t waste time monkeying around with the installers. You need a version of Mercurial matching your Python install so get the source code!
This is all great, except nobody wants to tell you how to match versions of Python and Mercurial. I see no guide that gives a map correlating version numbers. That is my primary need. For example, I'm using Mercurial 1.9. I have no idea what version of Python goes with that. The second guide says my version of PyWin32 must match as well. Great.
If the version-match info is not available online, is there a command I can issue to Hg that will dump all this info on me?
In the mean time, I've found that I can't build the Mercurial source code (is this because I don't have a properly matching version of Python?).
mercurial - Mercurial hgweb 使用没有 CGI 在 IIS 6.0 中不起作用
我正在尝试通过这两个链接http://blog.jaredreisinger.com和Vampire Basic使用 ISAPI 让 Mercurial hgweb 工作。服务器是 IIS 6.0 Windows server 2003。
一年前,在同一台机器上,我使用 CGI for TortoiseHG 1.0 作为实验成功让 Mercurial hgweb 运行,但由于某些原因,当我尝试添加 TortoiseHG 1.9+ 项目时,存储库网站会损坏,看起来 .hg 目录有1.0 和 1.9+ 的文件结构完全不同,我认为最简单的方法是创建新的存储库和 web 目录。
所以这次在寻找更多关于设置 Mercurial 的更新信息后,我决定采用 ISAPI 路由而不是 CGI,因为它似乎更容易设置并且运行速度应该更快(这对我来说并不重要)。
但是在一步一步地阅读这两篇文章之后,我总是在 Chrome 中收到错误消息:“系统找不到输入的环境选项。” 每次我重新启动 IIS 后,如果我刷新页面,消息将变为“未指定错误”。
如果我在 IE 中查看此页面,错误消息将是“网站无法显示页面 HTTP 500”。
在这两种情况下,错误消息都不是很有帮助,我真的不知道可能是什么问题。不知道有什么方法可以获得更详细的日志/调试信息?否则,如果没有足够的信息,任何人都很难帮助我。
对于我的 hgwebdir_wsgi.py,我只更改了这一行:
对于我的 hgweb.config,我使用的是最低配置
我使用 Python 2.6.6,Python 2.6 使用 PyWin32 2.16,Py2.6 使用 Mercurial 1.9,Windows 0.42 使用 ISAPI_WSGI。
编辑:查看 IIS 日志,我得到以下几行:
2011-07-19 03:42:51 W3SVC1 127.0.0.1 GET /hg/hgwebdir.cgi - 443 pstar 127.0.0.1 Mozilla/5.0+(Windows+NT+5.2)+AppleWebKit/534.30+(KHTML,+like+Gecko )+Chrome/12.0.742.122+Safari/534.30 500 0 203 333 435
2011-07-19 03:42:51 W3SVC1 127.0.0.1 GET /favicon.ico - 443 - 127.0.0.1 Mozilla/5.0+(Windows+NT+5.2)+AppleWebKit/534.30+(KHTML,+like+Gecko)+铬/12.0.742.122+Safari/534.30 404 0 2 1830 358
所以看起来 IIS 仍在尝试使用我已经删除的 hgwebdir.cgi,不知道如何解决。
mercurial - mercurial hgweb.config 找不到存储库,路径问题
我使用在我的 apache2.conf 文件中声明的 hgweb.cgi 脚本在 apache Web 服务器上设置了一个存储库,如下所示:
在我的 hgweb.cgi 脚本中,如果我将配置变量设置为存储库的路径:
它有效,我在http://localhost/hgp看到了我的存储库的历史记录
现在,如果我想使用 hgweb.config 文件,我在 hgweb.cgi 脚本中设置 config 变量,例如:
无论我尝试在配置文件中使用什么路径,我都无法在 Web 界面中看到我的存储库(空存储库索引)。这是我尝试使用绝对路径和相对路径的一些示例
有什么想法可以帮助我使其与配置文件一起使用吗?(我想在配置文件中声明几个存储库)
注意:hgweb cgi 和配置文件位于 /var/www/hgrepublic/ 文件夹以及 fakecake 存储库文件夹中。
macos - 我无法让 Mercurial 在 Mac OS X Lion 上的 Apache 下服务
我试图让 Mercurial 在 Mac OS X Lion 上的 Apache 下使用 hgwebdir.cgi 服务。
我按照此处列出的说明进行操作: http ://www.popitandrockit.com/2010/05/mercurial-server-on-osx-106-snow.html
那篇文章是给 Snow Leopard 的(我猜还没有人尝试在 Lion 上这样做?)但它主要是有效的。我确实做了修改,我没有使用 https,因为有问题的机器在我公司的防火墙后面。
它说我应该能够访问存储库,http://servername/repository_name
但这不起作用。但是,我可以在 获取它们的列表,地址在http://servername/hg/
哪里。所以我应该能够通过 访问存储库,但是我得到了一个不错的 Mercurial 页面,告诉我/hg
ScriptAlias
http://servername/hg/repository_name
好吧,根据 Mercurial,该目录是有效的并且那里有一个有效的存储库(即,hg log
类似的命令不会出错)
在主页上,我在 Apache 中遇到了类似的错误:
如果我猜我会说这是某种访问或权限问题,但我对 Apache 或 Mac OS X Lion 不够熟悉,无法猜测如何修复它。