Das Bereitstellen einer RDiff-Basisdatei mithilfe von Pipe-Ergebnissen führt zu einem ungültigen Suchfehler

Das Bereitstellen einer RDiff-Basisdatei mithilfe von Pipe-Ergebnissen führt zu einem ungültigen Suchfehler

Wenn ich den folgenden rdiff-Befehl ausführe

rdiff patch basefile patchfile outputfile

alles funktioniert wie erwartet, aber wenn ich versuche, stdin zu verwenden, um die Basisdatei wie folgt bereitzustellen

xz -d -c basefile.xz | rdiff patch - patchfile outputfile

Ich erhalte die folgenden Fehler

librsync: ERROR: (rs_file_copy_cb) seek failed: Illegal seek
librsync: ERROR: (rs_job_complete) patch job failed: IO error
librsync: ERROR: IO error

Die Manpage besagt eindeutig

In every case where a filename must be specified, - may be used instead to mean either standard input or standard output as appropriate.

Ist die Manpage falsch oder mache ich etwas falsch? Ist es möglich, die Basisdatei über eine Pipe an rdiff bereitzustellen? Gibt es eine andere Möglichkeit, die Basisdatei über den Befehl xz an rdiff bereitzustellen, ohne eine temporäre Datei zu erstellen, was für das, was ich erreichen möchte, keine Option ist?

verwandte Informationen