GitXplorerGitXplorer
j

patdiff

public
222 stars
19 forks
3 issues

Commits

List of commits on branch master.
Unverified
61475638717c3cb6cbc0134bf355e0ba78a18e3c

v0.17~preview.129.17+77

ppublic-release committed 9 months ago
Unverified
1f5884171264ad63051512b3c7aa7f390b74d1e5

v0.17~preview.129.17+77

ppublic-release committed 10 months ago
Unverified
3b9f272a8f382b852d92900f5185752f3fff935d

v0.17~preview.129.15+205

ppublic-release committed 10 months ago
Unverified
936c407190ff386a011612f36e627e34e838d8b4

v0.17~preview.129.11+135

ppublic-release committed 10 months ago
Unverified
047aab68cc675ab7087a91d9ffbd71ec50392b32

v0.17~preview.129.07+242

ppublic-release committed a year ago
Unverified
82dd9e1fb620f0c422f36c1c4a78d8b5d37cd867

v0.17~preview.129.00+111

ppublic-release committed a year ago

README

The README file for this repository.

Patdiff - colored patience diffs with word-level refinement

Patdiff is an OCaml implementation of Bram Cohen's patience diff algorithm, with a few extra conveniences for comparing code and config files:

outputs plain ASCII, ANSI color codes, or HTML

optional semantic diffing of numbers

screenshot

good word-level diffing out of the box

screenshot

And of course all the usual features:

  • recursive diffing of directories
  • extensively configurable output (markers, colors, location format, context)
  • whitespace-aware diffing

Installation

opam install patdiff

See here for Patdiff's opam package file.

Compiling from source

To build patdiff for local development, install its dependencies:

git clone https://github.com/janestreet/patdiff
cd patdiff
opam install --deps-only .

To compile, and optionally install, patdiff:

make
make install

Usage

patdiff old-file new-file

If you don't supply any arguments to patdiff, it will read diff-like text from stdin and color it in the normal patdiff way.

The file ~/.patdiff is used as a config file if it exists. You can write a sample config with the -make-config flag.

patdiff-git-wrapper

A simple wrapper is provided for using patdiff as git's "external diff" tool. You can enable it with:

export GIT_EXTERNAL_DIFF=$(command -v patdiff-git-wrapper)

or

git config --global diff.external $(command -v patdiff-git-wrapper)

Documentation

More docs, including detailed API docs, are available here.