summaryrefslogtreecommitdiff
path: root/xdelta1/README
diff options
context:
space:
mode:
authordotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e>2006-09-30 04:47:47 +0000
committerdotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e>2006-09-30 04:47:47 +0000
commitad85653ca73c8126de516b9a4294e8f08577c00d (patch)
tree79fb4d644ccf6a4fe8dac146b801a21d63537b23 /xdelta1/README
parent5a7c245871879325d7b05c06e0b2011203986ee8 (diff)
import 1.1.3
Diffstat (limited to 'xdelta1/README')
-rwxr-xr-xxdelta1/README180
1 files changed, 180 insertions, 0 deletions
diff --git a/xdelta1/README b/xdelta1/README
new file mode 100755
index 0000000..3e72daa
--- /dev/null
+++ b/xdelta1/README
@@ -0,0 +1,180 @@
1 -*- Text -*-
2
3 Xdelta -- A binary delta generator
4
5Announcing version 1.1.2 of Xdelta. Xdelta is an application program
6designed to compute changes between files. These changes (deltas) are
7similar to the output of the "diff" program in that they may be used
8to store and transmit only the changes between files. However, unlike
9diff, the output of Xdelta is not expressed in a human-readable
10format--Xdelta can also also apply these deltas to a copy of the
11original file. Xdelta uses a fast, linear algorithm and performs well
12on both binary and text files.
13
14Xdelta 1.1.2 is a stable, maintenence release. New, ongoing work on
15Xdelta has focused on a new storage system with features similar to
16the RCS command set. For more information on new development, see the
17Xdelta-2.0 release series at http://xdelta.sourceforge.net.
18
19Xdelta was designed and implemented by Joshua MacDonald. The delta
20algorithm is based on the Rsync algorithm, though implementation and
21interface considerations leave the two programs quite distinct. The
22Rsync algorithm is due to Andrew Tridgell and Paul Mackerras.
23
24To compile and install Xdelta, read the instructions in the INSTALL
25file. Once you have done this, you should at least read the first few
26sections of the documentation. It is available in info format. All
27documentation is located in the doc/ subdirectory.
28
29This release, version 1.1.2, and future releases of Xdelta can be
30found at http://xdelta.sourceforge.net.
31
32Xdelta is released under the GNU Library Public License (GPL), see the
33file COPYING for details.
34
35There is mailing list for announcements:
36
37 xdelta-announce@lists.sourceforge.net
38
39you can subscribe to the mailing list or file bug reports through
40Sourceforge at:
41
42 http://sourceforge.net/projects/xdelta/
43
44Comments about Xdelta can be addressed to the following addresses:
45
46 jmacd@cs.berkeley.edu
47
48The man page describes how to use Xdelta in more detail:
49
50NAME
51 xdelta - Invoke Xdelta
52
53SYNOPSIS
54 xdelta subcommand [ option... ] [ operand... ]
55
56DESCRIPTION
57
58 Xdelta provides the ability to generate deltas between a pair
59 of files and later apply those deltas. It operates similar to
60 the diff and patch commands, but works on binary files and does
61 not produce a human readable output.
62
63 Xdelta has three subcommands, delta, patch, and info. Delta
64 accepts two file versions and produces a delta, while patch
65 accepts the original file version and delta and produces the
66 second version. The info command prints useful information
67 about a delta. Each subcommand will be detailed seperately.
68
69 Gzip processing
70
71 Attempting to compute a delta between compressed input files
72 usually results in poor compression. This is because small
73 differences between the original contents causes changes in the
74 compression of whole blocks of data. To simplify things,
75 Xdelta implements a special case for gzip(1) compressed files.
76 If any version input to the delta command is recognized as
77 having gzip compression, it will be automatically decompressed
78 into a temporary location prior to comparison. This temporary
79 location is either the value of the TMPDIR environment
80 variable, if set, otherwise "/tmp".
81
82 The Xdelta patch header contains a flag indicating that the
83 reconstructed version should be recompressed after applying
84 the patch. In general, this allows Xdelta to operate
85 transparently on gzip compressed inputs.
86
87 There is one potential problem when automatically processing
88 gzip compressed files, which is that the recompressed content
89 does not always match byte-for-byte with the original
90 compressed content. The uncompressed content still matches,
91 but if there is an external integrity check such as
92 cryptographic signature verification, it may fail. To prevent
93 this from happening, the --pristine option disables automatic
94 gzip processing.
95
96 MD5 integrity check
97
98 By default, Xdelta always verifies the MD5 checksum of the
99 files it reconstructs. This prevents you from supplying an
100 incorrect input during patch, which would result in corrupt
101 output. Because of this feature, you can feel confident that
102 patch has produced valid results. The --noverify option
103 disables MD5 verification, but this is only recommended for
104 performance testing.
105
106 Compressed patch format
107
108 Xdelta uses a fairly simple encoding for its delta, then
109 applies zlib compression to the result. You should not have to
110 post-compress an Xdelta delta.
111
112 Delta
113
114 The delta subcommand has the following synopsis:
115
116 xdelta delta [ option... ] fromfile tofile patchout
117
118 Computes a delta from fromfile to tofile and writes it to patchout
119
120 Patch
121
122 The patch subcommand has the following synopsis:
123
124 xdelta patch [ option... ] patchin [ fromfile [ tofile ]]
125
126 Applies patchin to fromfile and produces a reconstructed
127 version of tofile.
128
129 If fromfile was omitted, Xdelta attempts to use the original
130 fromfile name, which is stored in the delta. The from file
131 must be identical to the one used to create the delta. If its
132 length or MD5 checksum differs, patch will abort with an error
133 message.
134
135 If tofile was omitted, Xdelta attempts to use the original
136 tofile name, which is also stored in the delta. If the
137 original tofile name already exists, a unique filename
138 extension will be added to avoid destroying any existing data.
139
140 Info
141 The info subcommand has the following synopsis:
142
143 xdelta info patchinfo
144
145 Prints information about patchinfo and the version it
146 reconstructs, including file names, lengths, and MD5 checksums.
147
148 Options
149 -0..9 Set the zlib compression level. Zero indicates no
150 compression. Nine indicates maximum compression.
151
152 -h, --help
153 Print a short help message and exit.
154
155 -q, --quiet
156 Quiet. Surpresses several warning messages.
157
158 -v, --version
159 Print the Xdelta version number and exit.
160
161 -V, --verbose
162 Verbose. Prints a bit of extra information.
163
164 -n, --noverify
165 No verify. Turns off MD5 checksum verification of the
166 input and output files.
167
168 -m=SIZE, --maxmem=SIZE
169 Set an upper bound on the size of an in-memory page
170 cache. For example, --maxmem=32M will use a 32 megabyte
171 page cache.
172
173 -s=BLOCK_SIZE
174 Set the block size, unless it was hard coded (20% speed
175 improvement). Should be a power of 2.
176
177 -p, --pristine
178 Disable the automatic decompression of gzipped
179 inputs, to prevent unexpected differences in the
180 re-compressed content.