blob: ecac8db5d97125c6580378bb499e05170a0a8e2c [file] [log] [blame]
The Android Open Source Projectc285fea2009-03-03 19:29:20 -08001.\"-
2.\" Copyright 2003-2005 Colin Percival
3.\" All rights reserved
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted providing that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
18.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
22.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
23.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24.\" POSSIBILITY OF SUCH DAMAGE.
25.\"
26.\" $FreeBSD: src/usr.bin/bsdiff/bspatch/bspatch.1,v 1.1 2005/08/06 01:59:06 cperciva Exp $
27.\"
28.Dd May 18, 2003
29.Dt BSPATCH 1
30.Os FreeBSD
31.Sh NAME
32.Nm bspatch
33.Nd apply a patch built with bsdiff(1)
34.Sh SYNOPSIS
35.Nm
Gilad Arnold99b53742013-04-30 09:24:14 -070036.Ar oldfile newfile patchfile
37.Op Ar old-extents new-extents
The Android Open Source Projectc285fea2009-03-03 19:29:20 -080038.Sh DESCRIPTION
39.Nm
40generates
Gilad Arnold99b53742013-04-30 09:24:14 -070041.Ar newfile
The Android Open Source Projectc285fea2009-03-03 19:29:20 -080042from
Gilad Arnold99b53742013-04-30 09:24:14 -070043.Ar oldfile
The Android Open Source Projectc285fea2009-03-03 19:29:20 -080044and
Gilad Arnold99b53742013-04-30 09:24:14 -070045.Ar patchfile ,
The Android Open Source Projectc285fea2009-03-03 19:29:20 -080046where
Gilad Arnold99b53742013-04-30 09:24:14 -070047.Ar patchfile
48is a binary patch built by
49.Xr bsdiff 1 .
50.Pp
51When provided,
52.Ar old-extents
53and
54.Ar new-extents
55instruct
56.Nm
57to read specific chunks of data from the old file and to write to specific
58locations in the new file, respectively. Each is a comma-separated list of
59extents of the form
60.Ar offset : Ns Ar length ,
61where
62.Ar offset
63is either -1 or a non-negative integer and
64.Ar length
65is a positive integer. An offset value of -1 denotes a sparse extent, namely a
66sequence of zeros that entails neither reading nor writing of actual file
67content.
The Android Open Source Projectc285fea2009-03-03 19:29:20 -080068.Pp
69.Nm
70uses memory equal to the size of
Gilad Arnold99b53742013-04-30 09:24:14 -070071.Ar newfile ,
The Android Open Source Projectc285fea2009-03-03 19:29:20 -080072but can tolerate a very small working set without a dramatic loss
73of performance.
74.Sh SEE ALSO
75.Xr bsdiff 1
76.Sh AUTHORS
77.An Colin Percival Aq cperciva@freebsd.org