README
1open-vcdiff is an encoder and decoder for the VCDIFF format, as described in
2RFC 3284 : The VCDIFF Generic Differencing and Compression Data Format
3(http://www.ietf.org/rfc/rfc3284.txt)
4A library with a simple API is included, as well as a command-line executable
5that can apply the encoder and decoder to source, target, and delta files.
6For further details, please refer to:
7http://code.google.com/p/open-vcdiff/wiki/HowToUseOpenVcdiff
8
9See INSTALL for (generic) installation instructions for C++: basically
10 ./configure && make && make install
11
12This should compile the unit tests as well as "vcdiff", a simple command-line
13utility to run the encoder and decoder. Typical usage of vcdiff is as follows
14(the "<" and ">" are file redirect operations, not optional arguments):
15 vcdiff encode -dictionary file.dict < target_file > delta_file
16 vcdiff decode -dictionary file.dict < delta_file > target_file
17To see the command-line syntax of vcdiff, use "vcdiff --help" or just "vcdiff".
18
19To call the encoder from C++ code, assuming that dictionary, target, and delta
20are all std::string objects:
21#include <google/vcencoder.h> // Read this file for interface details
22[...]
23 open_vcdiff::VCDiffEncoder encoder(dictionary.data(), dictionary.size());
24 encoder.SetFormatFlags(open_vcdiff::VCD_FORMAT_INTERLEAVED);
25 encoder.Encode(target.data(), target.size(), &delta);
26
27Calling the decoder is just as simple:
28#include <google/vcdecoder.h> // Read this file for interface details
29[...]
30 open_vcdiff::VCDiffDecoder decoder;
31 decoder.Decode(dictionary.data(), dictionary.size(), delta, &target);
32
33When using the encoder, the C++ application must be linked with the library
34options -lvcdcom and -lvcdenc; when using the decoder, it must be linked with
35-lvcdcom and -lvcddec.
36
37To verify that the package works on your system, especially after making
38modifications to the source code, please run the unit tests using
39 make check
40
41For further details, please refer to:
42http://code.google.com/p/open-vcdiff/wiki/HowToUseOpenVcdiff
43
44