次のrdiffコマンドを実行すると、
rdiff patch basefile patchfile outputfile
ただし、stdinを使用してこのような基本ファイルを提供しようとすると、すべてが期待どおりに機能します。
xz -d -c basefile.xz | rdiff patch - patchfile outputfile
次のエラーが発生します。
librsync: ERROR: (rs_file_copy_cb) seek failed: Illegal seek
librsync: ERROR: (rs_job_complete) patch job failed: IO error
librsync: ERROR: IO error
マニュアルページには明確に記載されています。
In every case where a filename must be specified, - may be used instead to mean either standard input or standard output as appropriate.
マンページが間違っているのでしょうか、それとも私が間違っているのでしょうか?デフォルトファイルをrdiffにパイプできますか?一時ファイルを生成せずにxzコマンドを介してrdiffにデフォルトファイルを提供する他の方法はありますか?これは私が望む仕事のオプションではありませんか?