Skip to content

romanbsd/vcdiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VCDiff

This is a wrapper around Google's open-vcdiff library, which provides an encoder and decoder for the format described in RFC 3284: "The VCDIFF Generic Differencing and Compression Data Format." The encoding strategy is largely based on Bentley-McIlroy 99: "Data Compression Using Long Common Strings.

For more details visit: http://code.google.com/p/open-vcdiff

Installing

# Install the gem:
sudo gem install romanbsd-vcdiff

Usage

require 'VCDiff'

# Encoding
dictionary = IO.read('dictionary_file')
modified = IO.read('modified_file')
# Optional
encoder.format_flags = VCDiff::VCD_FORMAT_INTERLEAVED | VCDiff::VCD_FORMAT_CHECKSUM
encoder = VCDiff::Encoder.new(dictionary)
res = encoder.encode(modified)

# Decoding
decoder = VCDiff::Decoder.new
orig = decoder.decode(dictionary, res)

orig == modified	# -> true

Releases

No releases published

Packages

No packages published