2

如果我在命令行的 Mercurial 架子上添加一些东西:

C:> hg shelve ...

然后当我在Repository > Shelve >菜单下查看 TortoiseHG Workbench 时,没有新的相应条目(在下拉列表中)。

同样,如果我做相反的事情并在 THG 中执行搁置操作,然后运行hg shelve -l或仅hg unshelve在命令行上运行,它似乎忽略了新搁置。

为什么会这样?是否有影响这一点的设置或类似的东西?

4

1 回答 1

3

hg据我所知,“核心”Mercurial(命令行)和 TortoiseHG GUI 中的搁置功能完全相互独立。

(从历史上看,这种看似奇怪的情况是由于首先创建了 THG 功能,然后才将具有相同名称的等效/相似功能后来添加到 HG 本身)。


IMO HG 搁置功能比 THG 功能更有效地使用 HG 合并逻辑在取消搁置操作期间将搁置的更改应用到本地工作文件夹。一旦我意识到这一点,我就不再使用 THG 架子了,这就是我推荐的。


可以将 THG Workbench 配置为(在一定程度上)与 HG 搁架功能集成。指示:

编辑您的mercurial.ini设置文件。(通过文件 > 设置 > 全局设置 > Edit File按钮,或在编辑器中手动打开文件)。

添加以下部分和项目:

[tortoisehg]
...
workbench.custom-toolbar = HG_shelve HG_unshelve

[tortoisehg-tools]
HG_shelve.command = hg shelve
HG_shelve.enable = istrue
HG_shelve.icon = go-next
HG_shelve.label = HG_shelve
HG_shelve.showoutput = True
HG_shelve.tooltip = HG_shelve
HG_unshelve.command = hg unshelve
HG_unshelve.enable = istrue
HG_unshelve.icon = go-previous
HG_unshelve.label = HG_unshelve
HG_unshelve.showoutput = True
HG_unshelve.tooltip = HG_unshelve

(注意不要重复任何现有的[tortoisehg][tortoisehg-tools]部分)。

这将在工具栏上产生新按钮:

在此处输入图像描述

一个箭头将搁置当前工作文件夹,另一个将取消搁置。

显然,以这种方式运行搁置/取消搁置是相当粗粒度的,但我发现 99% 的时间这就是我所需要的。


笔记:

上述.INI编辑也可以通过 THG 工作台文件 > 设置 > 工具GUI 部分完成: 在此处输入图像描述

如果您喜欢其他东西,则不必使用这些特定图标,THG 有其他选择。

于 2018-12-20T14:22:47.410 回答