これをPythonで複製したいと思います:
gvimdiff <(hg cat file.txt) file.txt
(hg cat file.txtは、最後にコミットされたバージョンのfile.txtを出力します)
ファイルをgvimdiffにパイプする方法は知っていますが、別のファイルを受け入れません。
$ hg cat file.txt | gvimdiff file.txt -
Too many edit arguments: "-"
Pythonの部分に行きます...
# hgdiff.py
import subprocess
import sys
file = sys.argv[1]
subprocess.call(["gvimdiff", "<(hg cat %s)" % file, file])
サブプロセスが呼び出されると、ファイル名として渡されるだけ<(hg cat file)
です。gvimdiff
それで、bashのようにコマンドをリダイレクトする方法はありますか?簡単にするために、ファイルをキャットしてdiffにリダイレクトするだけです。
diff <(cat file.txt) file.txt