Module Patience_diff_lib.Patience_diff

This is a port of Bram Cohen's patience diff algorithm, as found in the Bazaar 1.14.1 source code, available at http://bazaar-vcs.org.

This copyright notice was included:

# Copyright (C) 2005 Bram Cohen, Copyright (C) 2005, 2006 Canonical Ltd # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

module Matching_block : sig ... end
module Range : sig ... end
module Hunk : sig ... end

In diff terms, a hunk is a unit of consecutive ranges with some Same context before and after Next, Prev, and Replace ranges. Each hunk contains information about the original arrays, specifically the starting indexes and the number of elements in both arrays to which the hunk refers.

module Hunks : sig ... end
module type S = sig ... end
module Make : functor (Elt : Core_kernel.Hashtbl.Key) -> S with type elt = Elt.t
module String : S with type elt = string
module Stable : sig ... end