This is a simple PHP library to render Git diff output as
div-based HTML output. Features:
- Clipboard copy from either side (often diff libraries intermingle left/right, making copying difficult)
- Line numbering (can be turned off)
- Sections without changes are indicated
- CSS output is easily restyled
- A suite of browser-based tests using jQuery's QUnit
A demo file is included, or you can simply do something like this:
<?php // Grab diff output from the git binary $diffStr = `git diff changedfile`; // Analyse it here $gitDiff = new \ilovephp\DiffPage(); $gitDiff->parseDiff($diffStr); // Turn line numbers off if required (default = on) $gitDiff->setEnableLineNumbers(false); // Render it here $gitDiff->render();
Requires PHP 5.3 on later.
I'm testing against latest Firefox/Ubuntu, but would like all major latest browsers to work. Please let me know if any tests fail in your browser, or a diff rendering doesn't look right.
License is GPL2 or later.