Si ejecuto el siguiente comando rdiff
rdiff patch basefile patchfile outputfile
todo funciona como se esperaba, sin embargo, si intento usar stdin para proporcionar el archivo base como este
xz -d -c basefile.xz | rdiff patch - patchfile outputfile
Recibo los siguientes errores
librsync: ERROR: (rs_file_copy_cb) seek failed: Illegal seek
librsync: ERROR: (rs_job_complete) patch job failed: IO error
librsync: ERROR: IO error
La página de manual dice claramente
In every case where a filename must be specified, - may be used instead to mean either standard input or standard output as appropriate.
¿La página de manual es incorrecta o estoy haciendo algo mal? ¿Es posible proporcionar el archivo base a rdiff mediante una tubería? ¿Alguna otra forma de proporcionar el archivo base a rdiff mediante el comando xz sin crear un archivo temporal que no sea una opción para lo que estoy tratando de lograr?