App-ccdiff

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN


 * `bcompare` (C, X11, not freeware/opensource)

 * `kompare` (C, X11, KDE)

 * `xxdiff` (C, X11)

 * `meld` (Python)

 * `kdiff3` (C, X11, Qt)

 * `tkdiff` (Tcl/Tk)

## Other (not checked yet)

Reasons for not checking include Windows and emacs.

 * araxis
 * bc
 * bc3
 * codecompare
 * deltaworker
 * diffmerge
 * ecmerge
 * emerge
 * examdiff
 * guiffy
 * gvimdiff2
 * gvimdiff3
 * opendiff
 * p4merge
 * winmerge

# Dependencies

This tool will run on recent perl distributions that have
[Algorithm::Diff](https://metacpan.org/pod/Algorithm::Diff)
installed. The modules
[Term::ANSIColor](https://metacpan.org/pod/Term::ANSIColor)
and [Getopt::Long](https://metacpan.org/pod/Getopt::Long)
that are also used are part of the perl CORE distribution
since at least version 5.6.0.
```
 suse#   zypper in perl-Algorithm-Diff

 centos# yum install -y perl-Algorithm-Diff

 other#  cpan Algorithm::Diff
```
# Git integration

You can use ccdiff to show diffs in git. It may work like this:
```
$ git config --global diff.tool ccdiff
$ git config --global difftool.prompt false
$ git config --global difftool.ccdiff.cmd 'ccdiff --utf-8 -u -r $LOCAL $REMOTE'
$ git difftool SHA~..SHA
$ wget https://github.com/Tux/App-ccdiff/raw/master/Files/git-ccdiff \
    -O ~/bin/git-ccdiff
$ perl -pi -e 's{/pro/bin/perl}{/usr/bin/env perl}' ~/bin/git-ccdiff
$ chmod 755 ~/bin/git-ccdiff
$ git ccdiff SHA
```

Of course you can use `curl` instead of `wget` and you can choose your own
(fixed) path to `perl` instead of using `/usr/bin/env`.

## LIMITATIONS

There is no provision (yet) for coping with double-width characters.

Large datasets may consume all available memory, causing the diff to fail.

Not all that can be set from the configuration files can be overruled by
command-line options.

## LICENSE

The Artistic License 2.0

Copyright (c) 2018-2026 H.Merijn Brand



( run in 1.200 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )