google / open-vcdiff

An encoder/decoder for the VCDIFF (RFC3284) format
Apache License 2.0
186 stars 52 forks source link

The dictionary file cannot be an FIFO #45

Open Steelskin opened 9 years ago

Steelskin commented 9 years ago

What steps will reproduce the problem?

  1. Create a FIFO 'f' using mkfifo t
  2. Run vcdiff encode -dictionary t
  3. Run echo "source data" > t in a different terminal

What is the expected output? What do you see instead?

Vcdiff should work with a FIFO dictionary, but it says Error finding size of dictionary file 't': Illegal seek. Apparently the dictionary file is handled as a random access file. Xdelta3, on the other hand, allows FIFO sources.

What version of the product are you using? On what operating system?

open-vcdiff 0.8.3, Mac OS X/Homebrew.

Please provide any additional information below.

If the dictionary file is a FIFO (or in general a non-seekable source), the vcdiff command-line tool has the option of loading the entire dictionary file into its memory.

Steelskin commented 9 years ago

vcdiff should not require seek. Leaving priority as is for now.