| open-vcdiff is an encoder and decoder for the VCDIFF format, as described in |
| RFC 3284 : The VCDIFF Generic Differencing and Compression Data Format |
| (http://www.ietf.org/rfc/rfc3284.txt) |
| A library with a simple API is included, as well as a command-line executable |
| that can apply the encoder and decoder to source, target, and delta files. |
| For further details, please refer to: |
| http://code.google.com/p/open-vcdiff/wiki/HowToUseOpenVcdiff |
| |
| See INSTALL for (generic) installation instructions for C++: basically |
| ./configure && make && make install |
| |
| This should compile the unit tests as well as "vcdiff", a simple command-line |
| utility to run the encoder and decoder. Typical usage of vcdiff is as follows |
| (the "<" and ">" are file redirect operations, not optional arguments): |
| vcdiff encode -dictionary file.dict < target_file > delta_file |
| vcdiff decode -dictionary file.dict < delta_file > target_file |
| To see the command-line syntax of vcdiff, use "vcdiff --help" or just "vcdiff". |
| |
| To call the encoder from C++ code, assuming that dictionary, target, and delta |
| are all std::string objects: |
| #include <google/vcencoder.h> // Read this file for interface details |
| [...] |
| open_vcdiff::VCDiffEncoder encoder(dictionary.data(), dictionary.size()); |
| encoder.SetFormatFlags(open_vcdiff::VCD_FORMAT_INTERLEAVED); |
| encoder.Encode(target.data(), target.size(), &delta); |
| |
| Calling the decoder is just as simple: |
| #include <google/vcdecoder.h> // Read this file for interface details |
| [...] |
| open_vcdiff::VCDiffDecoder decoder; |
| decoder.Decode(dictionary.data(), dictionary.size(), delta, &target); |
| |
| When using the encoder, the C++ application must be linked with the library |
| options -lvcdcom and -lvcdenc; when using the decoder, it must be linked with |
| -lvcdcom and -lvcddec. |
| |
| To verify that the package works on your system, especially after making |
| modifications to the source code, please run the unit tests using |
| make check |
| |
| For further details, please refer to: |
| http://code.google.com/p/open-vcdiff/wiki/HowToUseOpenVcdiff |
| |