Matthew Wang f6f678142a gitignore and doc update 11 년 전
img document update; images 11 년 전
src gitignore and doc update 11 년 전
tests fix crlf problem; update doc and test make targets 11 년 전
.gitignore gitignore and doc update 11 년 전
COPYING initial revision 11 년 전
Makefile fix crlf problem; update doc and test make targets 11 년 전
README.md gitignore and doc update 11 년 전

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