问题标签 [mercurial-extension]
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.
version-control - Mercurial 中的版本控制扩展配置
通常,我会通过添加以下内容来启用扩展.hg/hgrc
:
但是,我希望对这个配置进行版本控制,即存储库的一部分,以便为克隆存储库的任何其他人(同事、构建机器)启用它。请注意,不应该要求克隆存储库的任何人执行任何操作来启用这些扩展。
从文档看来这是不可能的,但是有没有人知道任何可以帮助我的巧妙技巧?
python - 使用 Mercurial API 获取对给定变更集的存储库的更改
如何使用 Mercurial API 确定对每个变更集的存储库所做的更改?我能够获得与特定修订相关的文件列表,但我不知道如何判断该文件发生了什么。
我如何回答有关变更集中每个文件的这些问题:
- 是加的吗?
- 被删除了吗?
- 被修改了吗?
文件上下文中是否有一个属性会告诉我这一点(如果有,我找不到它),或者有办法通过其他方式解决这个问题?
这是我的代码:
python - 扩展 Mercurial 时使用 --quiet 标签
我正在用 Python 编写 Mercurial 扩展,需要使用Mercurial API调用“Pull”命令,但我想使用 --quiet 标志抑制其输出。
在汞方面,我想执行以下代码,但在我的扩展中:
鉴于 Mercurial API 文档,我认为它会很简单:
不幸的是,虽然这不会产生错误并且会成功执行“Pull”命令,但 --quiet 标志似乎没有通过,因为我仍然看到标准输出。
所有示例仅显示传递非全局标志,所以我有点担心这是不可能的。
我究竟做错了什么?如何传递 --quiet 标志?
svn - 使用 svnsync 和 hg convert 将 SVN 同步到 Mercurial -- 错过 svn:externals?
我创建了一个 SVN 存储库的 Mercurial 镜像(使用本教程:http: //oreilly.com/opensource/excerpts/opensource-mercurial/migrating-to-mercurial.html)。同步效果很好,除了我注意到它没有选择主 SVN 存储库中引用的外部存储库...
理想情况下,我希望能够将所有内容作为单个 repo 拉入 Mercurial(如果可能,还包括变更集)。
我不确定的是:缺少外部是 svnsync 的限制,还是 hg convert 的限制?
有什么办法可以强制将外部同步到同一个 Mercurial 存储库中?
我认为一个好的解决方案是为外部重新设置同步过程。创建当前 hg 镜像的 fork,并将外部同步到 hg 镜像 fork。
问题是,外部的主干旨在进入第一个镜像的子文件夹,那么如何使用转换复制它?我怀疑我可以告诉 convert 导入到子文件夹中...
python - 没有/默认选项的 Mercurial 扩展
假设我想要一个可以执行如下的扩展: hg sayhi
我尝试了以下方法,但它告诉我存在无效参数:
似乎无论我做什么,我都需要给它一个选项,例如hg sayhi s
. 有没有办法做到这一点?
svn - 是否有像 svn propset 这样的 Mercurial 扩展?
我需要将自定义元数据附加到通过 Mercurial 跟踪的源文件中。svn 属性命令正是我所需要的。
是否有提供类似于propset
, propget
,propdel
等命令的 mercurial 扩展?
如果没有扩展,为什么不呢?
使用 Mercurial 时,自定义元数据是否有替代/更好的方法?
自定义元数据对其他人没有用吗?
扩展是非常需要但还没有写吗?
额外信息:如果有帮助。我正在跟踪的元数据是每个文件是否已经过代码审查、单元测试、qa'd 等。这些数据需要可跟踪,并且分支/克隆之间的合并不够细。
mercurial - 在 mercurial 中,如何仅查看一组修订而不是全部的标签?
hg tags
总是显示所有标签,那么我怎样才能只获得指向特定修订版及其所有祖先的标签?
实际用例是,如果我使用本地标签来指定变更集上的功能(或错误修复),我需要找出累积的功能/错误,直到特定版本。
一种解决方案是添加一个将“-r”添加到tags
. 那么实现它的最佳方法是什么?使用 revsets 获取所有祖先的 revs 并过滤标签?
mercurial - 如何将 Mercurial 配置为不提交特定配置文件?
我的团队正在切换到 Mercurial。我们的项目都有一个配置文件(web.config 或 app.config,还有一些 bat 文件——我们是一家 C# 商店)。这些文件需要是存储库的一部分。当开发人员克隆存储库时,需要对其配置文件进行本地更改以使其正常工作。例如,项目的配置文件可能需要到开发人员数据库的连接字符串,或其他特定于环境的信息。我们不希望这些更改最终出现在存储库中。我们会不时地对这些确实需要进入存储库并分发给团队并最终分发给客户的配置进行更改。
我们配置或使用 Mercurial 以使这些文件不会被意外提交的最简单方法是什么?我想被迫明确提交此类文件,但来自 repo 的合并会自动在更新中下降。
这一定是其他人面临的问题,但作为 Mercurial 新手,我们都对最佳解决方案不知所措。
编辑:
可以在以下位置找到可能共享一些常见解决方案但与此问题不同的类似问题:Conditional Mercurial Ignore File
我将其包括在内,以防其他问题可能提供您正在寻找的答案。
python - Mercurial API:repo.changectx(change) 不存在!
我正在尝试为 Python IDE 制作 Mercurial 支持插件,但我在理解 API 时遇到了很多麻烦。现在我只是在做实验来理解 api 不同命令的用法,但我找不到 api 的文档或类似的东西。
我的问题是 r.changectx 不起作用,因为 r 没有这个操作。我看到很多使用 changectx 函数的例子。
我的善变版本是 1.7.3 。非常感谢 !!