![如何使用 Meld 以多个选项卡方式打开 bzr diff?](https://linux22.com/image/1158920/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Meld%20%E4%BB%A5%E5%A4%9A%E4%B8%AA%E9%80%89%E9%A1%B9%E5%8D%A1%E6%96%B9%E5%BC%8F%E6%89%93%E5%BC%80%20bzr%20diff%EF%BC%9F.png)
如何在同一个 Meld 窗口的多个选项卡中同时打开所有 Bazaar 文件差异?
目前,我执行以下命令使用 Meld 查看 Bazaar 变化:
bzr diff --using meld
当有多个文件发生更改时,Meld 会打开第一个文件,而不会打开其他文件。然后,当我退出 Meld 窗口时,下一个文件的差异会在新的 Meld 窗口中打开。这种情况会一直持续,直到我查看完所有有差异的文件。
注意:我也尝试了以下操作,但其行为与上述相同。
bzr diff --using meld &
答案1
据我了解,我们需要将新标签创建参数传递给 Meld。
根据其手册页,此功能存在在 Ubuntu 16.04 LTS 中(参见man meld
)以上:
姓名
meld
- GNOME 桌面的可视化差异和合并工具...
选项
...
--newtab
,-n
在已运行的实例中将比较作为新选项卡打开。
所以我们需要将--newtab
选项传递给meld
:
meld --newtab /etc/os-release /etc/os-release &
meld --newtab /etc/os-release /etc/os-release &
在 Bazaar 中我们需要在bzr diff
子命令中找到相应的选项。
根据man bzr
我们应该使用--diff-options
选项:
姓名
bzr
- Bazaar 下一代分布式版本控制
命令参考
bzr diff [FILE...]
...
--diff-options ARG
将这些选项传递给外部 diff 程序。
可能的解决方案:
bzr diff --using meld --diff-options --newtab &
bzr diff --using meld --diff-options --newtab &
但在实际情况中,正如 OP 所述,它不起作用。
所以我们需要为这个命令创建一个别名:
for f in $( eval "bzr stat --versioned" ); \
do eval "bzr diff --using meld --diff-options --newtab ${f} &"; \
done