# xdiff

# Introduction

xdiff extension enables you to create and apply patch files containing differences between different revisions of files.

This extension supports two modes of operation - on strings and on files, as well as two different patch formats - unified and binary. Unified patches are excellent for text files as they are human-readable and easy to review. For binary files like archives or images, binary patches will be adequate choice as they are binary safe and handle non-printable characters well.

Starting from version 1.5.0 there are two different sets of functions for generating binary patches. New functions - xdiff_string_rabdiff() and xdiff_file_rabdiff() generate output compatible with older functions but are typically faster and generate smaller results. For more details about methods of generating binary patches and differences between them, please check » libxdiff website.

This extension uses libxdiff to implement these functions. Please see » http://www.xmailserver.org/xdiff-lib.html for more information.

- Installing/Configuring
  - Requirements
  - Installation
- Predefined Constants
- xdiff Functions
  - xdiff_file_bdiff — Make binary diff of two files
  - xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
  - xdiff_file_bpatch — Patch a file with a binary diff
  - xdiff_file_diff — Make unified diff of two files
  - xdiff_file_diff_binary — Alias of xdiff_file_bdiff
  - xdiff_file_merge3 — Merge 3 files into one
  - xdiff_file_patch — Patch a file with an unified diff
  - xdiff_file_patch_binary — Alias of xdiff_file_bpatch
  - xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  - xdiff_string_bdiff — Make binary diff of two strings
  - xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
  - xdiff_string_bpatch — Patch a string with a binary diff
  - xdiff_string_diff — Make unified diff of two strings
  - xdiff_string_diff_binary — Alias of xdiff_string_bdiff
  - xdiff_string_merge3 — Merge 3 strings into one
  - xdiff_string_patch — Patch a string with an unified diff
  - xdiff_string_patch_binary — Alias of xdiff_string_bpatch
  - xdiff_string_rabdiff — Make a binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open