openvcdiff | 311c714 | 2008-08-26 19:29:25 +0000 | [diff] [blame] | 1 | open-vcdiff is an encoder and decoder for the VCDIFF format, as described in |
| 2 | RFC 3284 : The VCDIFF Generic Differencing and Compression Data Format |
| 3 | (http://www.ietf.org/rfc/rfc3284.txt) |
| 4 | A library with a simple API is included, as well as a command-line executable |
| 5 | that can apply the encoder and decoder to source, target, and delta files. |
| 6 | For further details, please refer to: |
| 7 | http://code.google.com/p/open-vcdiff/wiki/HowToUseOpenVcdiff |
| 8 | |
| 9 | See INSTALL for (generic) installation instructions for C++: basically |
| 10 | ./configure && make && make install |
| 11 | |
| 12 | This should compile the unit tests as well as "vcdiff", a simple command-line |
| 13 | utility 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 |
| 17 | To see the command-line syntax of vcdiff, use "vcdiff --help" or just "vcdiff". |
| 18 | |
| 19 | To call the encoder from C++ code, assuming that dictionary, target, and delta |
| 20 | are 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 | |
| 27 | Calling 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 | |
| 33 | When using the encoder, the C++ application must be linked with the library |
| 34 | options -lvcdcom and -lvcdenc; when using the decoder, it must be linked with |
| 35 | -lvcdcom and -lvcddec. |
| 36 | |
| 37 | To verify that the package works on your system, especially after making |
| 38 | modifications to the source code, please run the unit tests using |
| 39 | make check |
| 40 | |
| 41 | For further details, please refer to: |
| 42 | http://code.google.com/p/open-vcdiff/wiki/HowToUseOpenVcdiff |
| 43 | |