配置外部差异时,每个文件显示结果,即查看当前运行差异查看器所需的下一个文件的差异.
有没有办法让git并行生成所有差异查看器进程?
如果我只是从外部diff脚本中生成进程,显然git会删除它用于比较的临时文件.
所以
#!/usr/bin/python
import subprocess
import sys
p = subprocess.Popen(('/usr/bin/meld', sys.argv[2], sys.argv[5]))
#p.wait()
Run Code Online (Sandbox Code Playgroud)
没用,显示'无法读取'/tmp/.diff_VlLwKF'
但是,如果我取消注释
#p.wait()
Run Code Online (Sandbox Code Playgroud)
一切正常,但同样,它是顺序产卵,而不是平行.
谢谢
我在SO上问了一个类似的问题,希望在BeyondCompare的标签中打开diff文件.我想出了这个:
for name in $(git diff --name-only $1); do git difftool $1 $name & done
Run Code Online (Sandbox Code Playgroud)
这将获取已修改文件的列表,并在每个单独文件的后台任务中调用外部差异工具.
查看此处的详细信息以及如何使其易于使用.对bash不熟悉我很想听到任何改进......
编辑1:添加了可选参数(例如'--staged')
编辑2:添加了git别名(参见链接).