Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Merge 超越Mercurial:如何获得刷新和;保存以正常工作?_Merge_Mercurial_Beyondcompare_Hgrc - Fatal编程技术网

Merge 超越Mercurial:如何获得刷新和;保存以正常工作?

Merge 超越Mercurial:如何获得刷新和;保存以正常工作?,merge,mercurial,beyondcompare,hgrc,Merge,Mercurial,Beyondcompare,Hgrc,我正在尝试将beyondcompare与mercurial配置为设置多个工作流 目前我可以这样做: 启动hg bcompare或hg bcompare--rev 对右侧的文件进行一些更改 保存得无与伦比 无与伦比 刷新我的编辑器/IDE 在编辑器/IDE中进行更改 无与伦比的重新启动 我想做的是: 启动hg bcompare或hg bcompare--rev 对右侧的文件进行一些更改 保存得无与伦比 刷新我的编辑器/IDE 在编辑器/IDE中进行更改 刷新无与伦比 目前,这个工作流程还不

我正在尝试将beyondcompare与mercurial配置为设置多个工作流

目前我可以这样做:

  • 启动
    hg bcompare
    hg bcompare--rev
  • 对右侧的文件进行一些更改
  • 保存得无与伦比
  • 无与伦比
  • 刷新我的编辑器/IDE
  • 在编辑器/IDE中进行更改
  • 无与伦比的重新启动
我想做的是:

  • 启动
    hg bcompare
    hg bcompare--rev
  • 对右侧的文件进行一些更改
  • 保存得无与伦比
  • 刷新我的编辑器/IDE
  • 在编辑器/IDE中进行更改
  • 刷新无与伦比
目前,这个工作流程还不起作用,但我似乎不知道它是无与伦比的,还是变化无常的,把事情搞得一团糟。我可以看到beyond compare中右侧窗格中的文件位于以下目录中:
/tmp/extdiff.MIGT6x/dir

这个目录来自哪里?有没有一种方法可以让我超越Compare,在不同的版本之间进行完全的区分(我知道这会更慢)

另外,是否有一种方法可以让beyond compare的保存将文件写入实际位置,并让beyond compare的刷新正常工作

我按照以下页面中的说明进行了无法比较的设置:

扩展名“extdiff”(我希望您可以使用它来显示在bcompare中所做的更改)使用“hg status”检查两个修订版(或当前工作目录和修订版)之间的不同文件

然后,它将所有不同的文件复制到两个临时目录中,并调用bcompare(或任何其他difftool)来比较这两个目录

这种方法的好处:

  • 只需比较少量文件(因此difftool本身不需要遍历所有文件)
  • 没有必要为每个difftool添加Mercurial支持,这些工具只需要支持diffing 2个目录
当然,缺点是在difftool中进行编辑不会在存储库中显示效果。 换句话说:不可能按您想要的方式执行此操作。

Mathiasdm在中所说的是正确的,HG创建临时文件,然后告诉Beyond Compare启动差异


如果您仍希望保存对临时文件所做的编辑,最好的替代方法是使用
另存为
命令,并将其指向repo中的现有文件。也就是说,如果您只想编辑当前的工作文件,您可以编辑左侧(工作副本)并直接保存更改。除此之外,没有一种方法可以强制Beyond Compare对非临时文件的文件进行区分,因为这些文件是由HG生成的。

感谢您提供了清晰简洁的答案,清楚地解释了为什么会发生这种情况+1.我将留下这个问题,希望有人能有一个更好的答案。
[extensions]
hgext.extdiff =

[extdiff]
cmd.bcompare =

[merge-tools]
bcomp.executable = /usr/bin/bcompare
bcomp.args = $local $other $base $output
bcomp.priority = 1
bcomp.premerge = True
bcomp.gui = True