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?