代码之家  ›  专栏  ›  技术社区  ›  StayOnTarget

乌龟和多变的命令行中的工具架似乎不具有互操作性?

  •  1
  • StayOnTarget  · 技术社区  · 6 年前

    如果我在命令行的Mercurial工具架中添加了一些内容:

    C:> hg shelve ...
    

    当我看着龟工作台下面 存储库>搁置> 菜单中,没有新的对应条目(在下拉列表中)。

    同样地,如果我做相反的操作,在THG中执行搁置操作,然后运行 hg shelve -l 或者只是 hg unshelve 在命令行中,它似乎忽略了新的工具架。

    为什么会这样?是不是有什么环境或类似的东西影响了这一点?

    1 回复  |  直到 6 年前
        1
  •  2
  •   StayOnTarget    6 年前

    “core”Mercurial(命令行)中的搁置功能 hg )据我所知,龟龟龟是完全独立的。

    (从历史上看,这种奇怪的情况是由于THG特性是在后来将同名的等效/相似特性添加到HG proper之前首先创建的)。


    IMO从高效使用HG合并逻辑在取消搁置操作期间将搁置的更改应用于本地工作文件夹的角度来看,HG搁置功能比THG功能工作得更好。一旦我意识到这一点,我就再也不用这个架子了,这就是我的建议。


    可以配置THG Workbench(在一定程度上)与HG shelving特性集成。说明:

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

    添加以下节和项:

    [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] 章节)。

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

    enter image description here

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

    显然,以这种方式运行shelve/unshelve是相当粗粒度的,但我发现99%的时间都是我所需要的。


    笔记:

    这个 .INI 上面的编辑也可以通过THG工作台完成 文件设置工具 图形用户界面部分: enter image description here

    你不必使用这些特殊的图标,如果你喜欢其他东西,THG有其他选择。