Matthew Wang 1ea76e6853 More fix after merge pull request from @myint to support python3 (issue #2) 12 years ago
img document update; images 12 years ago
src More fix after merge pull request from @myint to support python3 (issue #2) 12 years ago
tests fix crlf problem; update doc and test make targets 12 years ago
.gitignore gitignore and doc update 12 years ago
COPYING initial revision 12 years ago
Makefile More fix after merge pull request from @myint to support python3 (issue #2) 12 years ago
README.md raw image url broken, use pages instead 12 years ago

README.md

About

View colored diff in unified-diff format or side-by-side mode with auto pager. Requires Python (>= 2.5.0) and less.

Default Side-by-side

Installation

Save src/cdiff.py to whatever directory which is in your $PATH, for example, $HOME/bin is in my $PATH, so I save the script there and name as cdiff.

curl -ksS https://raw.github.com/ymattw/cdiff/master/src/cdiff.py > ~/bin/cdiff
chmod +x ~/bin/cdiff

Usage

Just give it a diff (patch) file or pipe a diff to it. Use option -s for side-by-side view, and option -w <N> to use text width other than default 80. See examples below

View a diff (patch) file:

cdiff foo.patch           # view colored udiff
cdiff foo.patch -s        # side-by-side
cdiff foo.patch -s -w 90  # use text width 90 other than default 80

Read diff from svn:

svn diff | cdiff
svn diff | cdiff -s
svn diff | cdiff -s -w 90

Read diff from git:

git diff | cdiff -s
git log -p -2 | cdiff -s
git show <commit> | cdiff -s

Redirect output to another patch file is safe:

svn diff | cdiff -s > my.patch

Known issue

  • Only support unified format for input diff
  • Side-by-side mode has alignment problem for wide chars