问题标签 [hgrc]
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.
mercurial - Mercurial:不同环境下的远程操作(remotecmd .hgrc)
我合作了两个项目,它们位于不同的服务器中,A 和 B。虽然 A 有hg
程序/opt/mercurial/bin/hg
,B 有它/usr/local/bin/hg
。
当我想将更改拉/推到任一远程时,我必须手动修改.hgrc
文件才能使选项remotecmd
指向正确的hg
.
我想知道是否可以remotecmd
为不同的遥控器设置不同的路径,这样我就不必在hg
每次需要进行远程操作时手动更改程序的路径。
我看到了这个问题:Setup platform-dependent hgrc,但在我看来,应该有一种更本机(类似于内置设置)的方式来执行此操作。到目前为止我还没有找到它,所以欢迎任何帮助:)
谢谢!
mercurial - 使用 Mercurial 为现有项目创建新的远程存储库
我有一个带有 version.2 的项目,我必须开始着手开发新的 version.3 。我想在远程服务器(即 mercurial-server)上创建一个新的存储库,以便我的团队成员可以访问该存储库。我的本地计算机上有我的项目文件。
我有两个关心的问题:
如何
/home/hg/repositories/private/project3
使用我的项目文件在远程 mercurial-server 的(假设新的 repo 名称为 project3)中创建它。我应该遵循哪些步骤来做到这一点。如何创建访问权限 (usrname/pword),以便我的团队可以访问http://dev.myproject.com/private/project3上的这个 repo 。
注意: /home/hg/repositories/
是http://dev.myproject.com/的默认设置,我没有版本 2 的 repo(我猜不可能克隆!)
mercurial - 如何获取 Mercurial 中最近提交的分支的名称
我想做的是查询 HG repo 以找到最后一次提交的分支名称。
当用户将他们的提交推送到 repo 时,我正在通过中央 repo中的.hg/hgrc文件中的钩子触发批处理文件。
在我的本地仓库中使用hg 分支可以正常工作,但是我正在运行的批处理文件驻留在中央仓库中,这意味着它总是返回“默认”
我想做的是“获取最后提交的修订并从中提取分支名称”,而不管中央存储库在哪个分支上。
我希望这是可能的,但可能不是 - 任何建议都非常感谢
这是我的批处理文件中的一个片段:
mercurial - 从 Web 界面推送到已配置的 hg 存储库
我有一小群开发人员,我们都在自己的机器上开发。当我们有准备好测试的代码时,我们合并并推送到 RhodeCode 安装。我的中央 RhodeCode 存储库的 hgrc 文件设置如下:
因此,当有人将代码签入 RhodeCode 时,更改会自动推送到测试环境。(测试 repo hgrc 文件中有一个 hg 更新,因此代码在那里更新)。太棒了。
但是.. 我希望我们的 RhodeCode 管理员能够推送到 prod 而无需在服务器上访问 shell。有没有办法让某人从 RhodeCode 界面运行“hg push prod_env”?我认为既然 RhodeCode 可以完全控制 hg,那应该是可能的,但是这种能力是否存在于 RhodeCode 的某个地方?添加它会是一项艰巨的任务吗?
如果不是,您将如何允许经过身份验证的用户在没有 shell 访问权限的情况下将存储库推送到生产环境?我一直在谷歌搜索,但我似乎找不到任何东西。我知道我可以用 passthru("hg push test_env) 编写一个 php 脚本,但这似乎是一个权限噩梦,因为 apache 以“nobody”运行并且 rhodecode 拥有 repo。
想法?
mercurial - 只允许在 Mercurial 中使用特定文件名提交
有没有办法只在提供文件名时使用 hg commit 命令?
这应该有效:
hg commit file1 file2
这不应该:
hg commit
我不希望人们错误地提交不应该提交的文件。
windows - 修复 Windows 托管 Hg 服务器通知上的电子邮件主题
我按照此处的说明获取了托管在 IIS7 中的 Mercurial 服务器:
它工作得很好,发送干净的 url 和通知,并根据模板格式化:
最终看起来像这样:
但请注意,主题中有 Windows 驱动器号,而不是 urlhttp://hg.mydomain.net/test/
有没有办法修复它,使其显示 URL 而不是驱动器号?或者可能不是 url,而只是显示存储库?
unix - Mercurial:无法在 .hgrc 文件中使用环境变量
我有两台机器运行 Mercurial,一个 Solaris 系统和一个 Red Hat 系统。
在 Solaris 系统上,我可以在 .hgrc 文件中使用环境变量,但在 Red Hat 系统上它似乎不起作用。
我在 .hgrc 文件中有以下示例:
但 hg log 显示以下内容:
变量已设置并导出:
相同的设置在 Solaris 系统上运行良好。谁能告诉我为什么这不起作用?
mercurial - 如何获取远程服务器 hg 路径?
我已经创建了远程仓库来通过 ssl 推送我的本地更改。我确实hg showconfig --debug
找到了我的远程 hg 路径,但它很乱,有人可以指出我如何准确地找到它是什么。
mercurial - Mercurial HG 'pretxncommit.whitespace 钩子以状态 1 退出'但未指定钩子
这个请求的标题已经说明了一切。我的 .hgrc 文件中没有定义任何钩子,但是在运行 hg commit 时我收到了这条回滚消息:
我的 hgrc 文件如下所示:
以防万一它很重要。我在 Ubuntu 12.04 上使用 Mercurial,我试图将它与 /opt/ 目录中的 XAMPP 安装(Apache 朋友)结合起来,所以我总是必须在提交之前运行 sudo。
浏览 SO 并在网上搜索,我发现此错误是由于代码中尾随空格的钩子造成的(比较Mercurial 的这一部分:权威指南以及钩子上的这个 SO 条目)。奇怪的是,我没有在任何地方定义这个钩子,所以我也不知道如何删除它。
任何帮助解决这个问题将不胜感激。多谢你们。
==================================================== ===========================
编辑:结合平滑雷鬼的建议,我将 hgrc 文件放在主文件夹和根文件夹中,并调整了 etc/mercurial 中的 hgrc 文件,只是为了找出解决这个问题的方法。
我不确定 debug = True 应该提供多少信息,但我没有得到特别多的信息。在提交消息的开头,我现在看到以下内容:
所以,这意味着,它找不到这两个文件,但是为什么呢?
再次感谢你的帮助。
EDIT2:请注意,第一个 EDIT 是一个不相关的问题,对于这个特定问题可以忽略。
mercurial - 常用 HgNotify 模板配置
有没有办法在 Windows 上的每个存储库的 hgrc 文件中指向一个通用的 HgNotify 配置?对于我在服务器上的每个 repo,我在每个 hgrc 中都有以下通知部分,当我想创建一个新的 repo 时,我必须将此部分复制到 hgrc 中。
我正在尝试更改模板,并希望所有 repos 自动获取新模板。
更新:Hg 服务器在 Windows 上并通过 IIS 提供服务。