| .\"- |
| .\" Copyright 2003-2005 Colin Percival |
| .\" All rights reserved |
| .\" |
| .\" Redistribution and use in source and binary forms, with or without |
| .\" modification, are permitted providing that the following conditions |
| .\" are met: |
| .\" 1. Redistributions of source code must retain the above copyright |
| .\" notice, this list of conditions and the following disclaimer. |
| .\" 2. Redistributions in binary form must reproduce the above copyright |
| .\" notice, this list of conditions and the following disclaimer in the |
| .\" documentation and/or other materials provided with the distribution. |
| .\" |
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY |
| .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
| .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
| .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| .\" POSSIBILITY OF SUCH DAMAGE. |
| .\" |
| .\" $FreeBSD: src/usr.bin/bsdiff/bspatch/bspatch.1,v 1.1 2005/08/06 01:59:06 cperciva Exp $ |
| .\" |
| .Dd May 18, 2003 |
| .Dt BSPATCH 1 |
| .Os FreeBSD |
| .Sh NAME |
| .Nm bspatch |
| .Nd apply a patch built with bsdiff(1) |
| .Sh SYNOPSIS |
| .Nm |
| .Ar oldfile newfile patchfile |
| .Op Ar old-extents new-extents |
| .Sh DESCRIPTION |
| .Nm |
| generates |
| .Ar newfile |
| from |
| .Ar oldfile |
| and |
| .Ar patchfile , |
| where |
| .Ar patchfile |
| is a binary patch built by |
| .Xr bsdiff 1 . |
| .Pp |
| When provided, |
| .Ar old-extents |
| and |
| .Ar new-extents |
| instruct |
| .Nm |
| to read specific chunks of data from the old file and to write to specific |
| locations in the new file, respectively. Each is a comma-separated list of |
| extents of the form |
| .Ar offset : Ns Ar length , |
| where |
| .Ar offset |
| is either -1 or a non-negative integer and |
| .Ar length |
| is a positive integer. An offset value of -1 denotes a sparse extent, namely a |
| sequence of zeros that entails neither reading nor writing of actual file |
| content. |
| .Pp |
| .Nm |
| uses memory equal to the size of |
| .Ar newfile , |
| but can tolerate a very small working set without a dramatic loss |
| of performance. |
| .Sh SEE ALSO |
| .Xr bsdiff 1 |
| .Sh AUTHORS |
| .An Colin Percival Aq cperciva@freebsd.org |