使用管道提供 RDiff 基本文件会导致非法查找错误

使用管道提供 RDiff 基本文件会导致非法查找错误

如果我运行以下 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 提供基本文件而不创建临时文件,这不是我想要完成的任务的选项吗?

相关内容