Предоставление файла базы 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.

Страница man неверна или я что-то делаю не так? Возможно ли предоставить базовый файл rdiff с помощью конвейера? Есть ли другой способ предоставить базовый файл rdiff с помощью команды xz без создания временного файла, который не подходит для того, чего я пытаюсь добиться?

Связанный контент