| .\"- | 
 | .\" 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 |