Articles of mercurial

Mercurial服务器升级困境

我有一个用于我的Mercurial存储库的中央服务器。 我刚刚在服务器上使用hg init myrepo创build了一个新的存储库。 服务器上的Mercurial版本是1.7.3。 从我的客户端,我使用hg clone http://myserver/myrepo 。 我的工作站上的Mercurial版本是1.7.5。 在我的客户端,我收到一个错误: HTTP Error 500: requirement 'dotencode' not supported 从我简短的谷歌search这个错误消息,我的服务器和我的客户端都是足够新的,以支持“点编码”的要求。 这只是一个红鲱鱼的错误信息? 其他信息:服务器是Windows 2008R2 64位,客户端是Windows 7。

Mercurial:如何设置用户/通过hg-ssh?

我需要让某些外部开发人员在我们的服务器上创buildMercurial存储库。 但是,我不一定希望他们有实际的SSHlogin来浏览服务器,或者至less我只想创build一个SSH帐户。 我喜欢基于hg-ssh的解决scheme涉及创build一个专门用于Mercurial使用的单一login的想法,但是我不太了解设置这个过程。 我知道创build一个用于无密码身份validation的身份validation密钥有一些问题,但我并不在意这一点。 我只是尽快让他们input密码。 无论如何,我只需要尽可能less的服务器访问这个设置?

如何告诉Mercurial永远不会创build硬链接

我打算在不久的将来在一些项目上使用Mercurial。 这些项目通常会驻留在我的Windows机器上的一个目录中,但我将使用VirtualBox共享这些目录,以便我可以直接从Linux内部对其进行处理。 我知道Mercurial有时会在克隆存储库时创build硬链接。 我不确定一个VirtualBox共享目录如何处理这些硬链接(或者甚至可以),所以我宁愿告诉Mercurial永远不要尝试制作硬链接并始终复制。 我的问题:我如何从硬连接全局禁用Mercurial? (虽然如果有人得到Mercurial和VirtualBox共享文件夹很好地与硬连接,我想听到它!)

控制通过hgwebdir.cgi服务的多个mercurial回购的克隆访问

可能重复: 使用Mercurial和Apache读取访问控制 我正在尝试为我的客户托pipe多个Mercurial存储库。 我需要单独控制对每个存储库的访问,而不仅仅是访问,而是克隆。 我有一个需要全局身份validation的.htaccess集: AuthUserFile /path/to/hgweb.passwd AuthGroupFile /dev/null AuthName "Chris Lawlor Client Mercurial Repositories" AuthType Basic <Limit GET POST PUT> Require valid-user </Limit> <FilesMatch "\.(htaccess|passwd|config|bak)$"> Order Allow,Deny Deny from all </FilesMatch> 然后在每个存储库中,我都有一个需要有效用户的.hg/hgrc文件 [web] allow_push = <comma seperated user list> 这几乎是我所需要的。 问题是我需要将所有客户端添加到hgweb.passwd ,这使得他们可以克隆所有存储库。 我能想到的唯一解决scheme是在每个存储库中都有另一个.htaccess和.passwd文件。 我不想这样做,似乎有点复杂。 我可以使用allow_push设置hgrc仓库hgrc文件中的每个仓库指定一个授权用户列表。 如果只有一个allow_clone设置以及… 我为hgwebdir.cgifind的所有文档都不完整。 我读了: http://mercurial.selenic.com/wiki/HgWebDirStepByStep http://hgbook.red-bean.com/read/collaborating-with-other-people.html#sec:collab:cgi http://hgbook.red-bean.com/read/collaborating-with-other-people.html 和别的。 我还没有find一个完整的hgrc设置列表。 我猜这是一个Apache问题,而不是一个Mercurial问题。 […]

服务器上的存储库文件结构

对于每个公共服务器,我们有三个阶段:开发,testing和生产。 每个阶段都是一个Web服务器。 我正在使用Mercurial中的命名分支来补充这个过程。 诀窍是将正确的版本推送到正确的服务器上,也就是说,当脚本发布testing运行时,testing分支将被推送到testingnetworking服务器。 我有钩,所有的细节都解决了。 我不确定的部分是Mercurial文件结构。 我想实现使用RSync的发布过程,为此,我需要一个本地文件夹进行同步,这个文件夹可以是我在服务器上创build的存储库,但是我需要确认的是如果服务器版本的存储库可以是目前我想要的任何分支。 也就是说,我在testing中创build一个存储库 cd test hg init touch sample hg add ./* hg commit -m "whatever" -u someowner 现在让我们说,我从工作站做了一堆工作,并提交更改到存储库,创build两个命名分支test和prod 。 我所关心的是实际的testing目录。 我可以使该目录包含某个命名分支的最新版本(在我上面进行初始化的服务器上)并且不会伤害存储库本身吗? 在我刚接触Mercurial的背景下,

为什么我的TeamCity安装不能在Mercurial中使用,当它从命令行工作正常?

我无法将Mercurial VCS根添加到TeamCity项目。 当我input存储库信息并点击“testing连接”时,popup窗口显示“连接失败”,向我显示一条消息“stderr:abort:无法在[…'中findmercurial库,以'(检查你的安装和PYTHONPATH)'。 我能够复制和粘贴命令从错误popup到命令行和mercurial工作正常。 我已经读过 ,使用Mercurial的TeamCity应该没有问题,如果它从命令行工作。 我试图直接在startup.sh和catalina.sh中导出PYTHONPATH环境variables,重启TeamCity后没有任何变化。 我也非常小心地确保TeamCity使用的hg可执行文件与命令行中使用的hg可执行文件是相同的。 我错过了什么?

Mercurial现有Active Directory集成失败的新用户

我们已经有一个现有的Mercurial服务器运行在使用Active Directory进行authentication的Windows 2008 / IIS下。 我们有三个现有用户,与Mercurial完全没有任何问题。 克隆/推/拉所有的工作就好了。 我试图让今天早上与Mercurialbuild立了另一个域用户,他可以克隆和拉,但推动结果“授权失败”的消息。 我已经确认并重新确认他的域名用户名和密码是正确的。 是否有任何特殊的用户权限/angular色我需要分配给Mercurial用户? 我的MercurialRepositoriespath在服务器上对所有域用户都有“完全控制”,所以不应该是这个问题。 有我应该检查的configuration位置列表吗? 我没有allow_push = *设置在我的服务器的configuration,但我不需要这之前。

使用Mercurial服务器进行身份validation,而不提供证书以提示或使用.hgrc文件

我有一个Windows 2008 R2 IIS7服务器与HTTPS下的Mercurial。 我使用TortoiseHG和通过Web界面连接到Mercurial存储库。 如果在.hgrc文件中没有我的用户名和密码,系统会提示他们input我的域凭据。 我想要的是设置我的Mercurial存储库的安全性,这样我就不必通过基本的身份validation提示或通过在我的个人.hgrc文件中以明文formsinput证书。 应该通过login到我正在使用的计算机上的域来推断用户访问。 authentication设置: 匿名身份validation:已禁用 ASP.Net模拟:已禁用 基本身份validation:已启用 表单authentication:已禁用 Windows身份validation:已启用 在客户端,我有我的个人.hgrc我的凭据: [auth] tag.prefix = https://MercurialServer tag.username = Username tag.password = Password

将Mercurial用户名replace为经过Apachevalidation的用户名

我有一个Debian 6 x64,python2.6,Apache 2.2,Mercurial 1.8。 Mercurial通过HTTPS访问,python使用mod_wsgi ,Apache使用mod_authnz_external执行“Authentication:Basic”。 我需要的是replace用户提供的Mercurial用户名。 因此,如果用户将用户名configuration为“JD”,但是以用户名“[email protected]”login,我想在Mercurial提交历史logging中看到“[email protected]”。

Web应用程序部署 – 检查与否

在部署Python Web应用程序时,使用以下方法来部署应用程序有什么优点和缺点: 使用VCS在服务器上进行检出 使用FTP / SSH / rsync传输本地签出的副本 创build一个合适的包并将其传输到服务器 (注1 – 我目前使用的方法1.但是我的存储库可能包含许多其他项目相关的文物,以及实际的应用程序,所以这似乎最适用于SVN,我只能检查出相关的文件夹 – 与DVCS所有或没有办法,这看起来不是这样一个好主意)。 (注2 – 我目前正在切换到DVCS)