问题标签 [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.

0 投票
0 回答
91 浏览

mercurial - 如何使用内部:其他带有 mercurial largefiles 扩展名的合并工具

在 mercurial 中重新调整修订版时,可以选择通过始终选择文件的“其他”(源)版本来解决任何合并冲突,方法是:

在这种情况下,rebase 不需要用户输入。

但是,当在使用 largefiles 扩展名的存储库上使用相同的命令时,冲突会以交互方式呈现给用户:

有没有办法总是回答“o”?我试过echo o | hg rebase ...了,但这违反直觉总是选择“l”。

0 投票
1 回答
188 浏览

mercurial - 将大文件转换为普通文件

我有一个存储库,其中主干不包含任何大文件。在我的工作分支中,我之前添加并提交了一些二进制文件作为大文件。现在,我不希望它们成为大文件了。我还没有合并到主干。

我已经尝试完全删除文件,然后提交,然后使用添加文件hg add --normal,但这导致我的差异包含 .hglf 中的替身以及二进制文件。有什么方法可以在不进行新分支和嫁接更改的情况下摆脱替身?

0 投票
0 回答
114 浏览

mercurial - 中止:没有这样的文件或目录:'/mnt/factotum/rpc' [Mercurial]

我在进行克隆、推或拉时遇到问题。当我这样做时,我得到一个错误:

中止:没有这样的文件或目录:'/mnt/factotum/rpc'

我该如何解决这个问题?

  • 操作系统:Ubuntu 16
  • 工具:Mercurial、BitBucket
0 投票
1 回答
107 浏览

mercurial - Python自定义Mercurial合并工具正在进行中?

给定一个自定义 hg 合并工具mymergetool.py

在 Linux 上,我可以这样做:

它在一个新进程中运行 python。

但是在 Windows 上,必须将 python.exe 指定为可执行文件。但鉴于系统上可能不存在(我使用嵌入应用程序的 hg)

我希望能够做这样的事情

它在与 hg 相同的过程中运行合并工具。

但是,在阅读 hg 时filemerge.py,似乎python:在这种情况下不支持 prepend。

有没有其他方法可以提供可以在进程中运行的自定义合并工具?(例如,使用钩子或扩展)

我想这样做的原因

  1. 我不想在我的应用程序中发布 python.exe。(次要的)
  2. 在某些系统(例如 iOS)上,很难启动外部进程,因此在进程中运行自定义合并工具会使事情变得容易得多。
0 投票
1 回答
345 浏览

easy-install - 如何在 Debian Stretch 上安装 hg-git 插件?

Debian Jessie 和 sid 都有一个mercurial-git包含该hg-git插件的软件包。然而,这个包被(自动)从 Debian Stretch 中移除到一个发布关键的 bug中。

但是 - 我需要安装并运行它。当然这应该是可能的,对吧?

好吧,我按照插件页面上的安装说明进行操作:

  • 我跑了apt-get install python-setuptools python-setuptools-git python4-setuptools python3-setuptools-git
  • 我跑了easy_install hg-git,它似乎工作

但是,当我运行各种 mercurial 操作时,我得到的第一行是错误消息:

(不管我是否在做任何与 git 相关的事情。)

我的问题:

  1. 为什么会这样?
  2. 在 hggit 工作时,我需要做什么才能使错误消息消失?

现在,

如何正确安装 dulwich 以使 hg-git 在 Windows 上运行?

0 投票
0 回答
49 浏览

mercurial - 如何在 Mercurial 中配置通知扩展

我看过很多没有帮助的帖子。我可以看到钩子被调用但在我设置时看不到输出日志中的任何输出Test="True"

我关注了许多提到对hgrc文件进行更改的帖子,但我想知道更改我的本地hgrc文件如何影响所有其他用户。我想在存储库中进行更改。

请指导我如何解决问题所在。

0 投票
1 回答
2712 浏览

python - 简单的 Mercurial 扩展无法导入

我正在尝试遵循编写 Mercurial 扩展的示例代码。这是一个最小的示例,从示例代码中逐字复制:

我将其保存到一个文件中,并在我的.hgrc文件中安装扩展,如下所示:

任何随后发出的命令,例如hg init现在会导致以下错误消息:

*** 无法从 C:\foo\myext.py 导入扩展 myext:“模块”对象没有属性“命令”

这可能是由错误的环境引起的,例如缺少环境变量吗?

我在 Windows 10 上使用 Mercurial 4.7,由 TortoiseHg 安装程序 (tortoisehg-4.7.0-x64) 安装。Mercurial 使用 Python 2.7.13,也由 TortoiseHg 安装程序安装。

0 投票
1 回答
41 浏览

mercurial - mercurial extensions:高效的模板关键字实现

我正在编写一个 mercurial 扩展,但我发现模板渲染相当慢。

我最初使用的是cmdutil.rendertemplate(),但是,似乎每次都必须重新解析模板字符串,这相当慢。

当切换到 的“新” api 时@templatekeyword,看起来传递的第一个 arg 是一个mercurial.templater.engine对象,它有一个expand缓存模板的解析版本的方法,这使它更快。不幸的是,它不会扩展 aliases

有谁知道有效地为 mercurial 扩展呈现模板和别名的正确方法?现在,我看到的唯一选择是复制/粘贴部分cmdutil.rendertemplate并保留我自己的全局缓存......但这感觉很恶心。

0 投票
0 回答
52 浏览

mercurial - 是否可以编写 Mercurial 来扩展标准命令?

我一直在考虑为 Mercurial 编写扩展,并找到了这个文档

从我所见,您可以在 Mercurial 环境中创建新命令,但我希望实现的是覆盖现有命令,如commit命令。我的覆盖将包含逻辑,如果它通过它将调用原始的commit超级函数。

是否可以扩展预先存在的 Mercurial 命令的功能?

谢谢

0 投票
1 回答
599 浏览

mercurial - 如何正确使用 hg 共享扩展?

假设我已经将一个 repo 克隆到一个名为 ~/trunk 的目录中,并且我想将一个名为 my-new-branch 的分支共享到目录 ~/my-new-branch 中。我将如何使用 hg 共享扩展来做到这一点?

这就是我一直在做的事情:

光盘~

hg share trunk my-new-branch

但是当我 cd 进入新目录时,我必须去分支?

使困惑。