Usage
File Arguments
Diffing Files
$ difft FIRST-FILE SECOND-FILE
# For example:
$ difft sample_files/simple_1.js sample_files/simple_2.js
Diffing Directories
$ difft FIRST-DIRECTORY SECOND-DIRECTORY
# For example:
$ difft sample_files/dir_1/ sample_files/dir_2/
Difftastic will recursively walk the two directories, diffing files with the same name.
The --skip-unchanged
option is useful when diffing directories that
contain many unchanged files.
Reading stdin
You can read a file from stdin by specifying -
as the file path.
$ difft - SECOND-FILE
# For example:
$ cat sample_files/simple_1.js | difft - sample_files/simple_2.js
Files With Conflicts
(Added in version 0.50.)
If you have a file with <<<<<<<
conflict markers, you can pass it as
a single argument to difftastic. Difftastic will construct the two
file states and diff those.
$ difft FILE-WITH-CONFLICTS
# For example:
$ difft sample_files/conflicts.el
Language Detection
Difftastic guesses the language used based on the file extension, file
name, and the contents of the first lines. To see the languages
available, and the associated file names, use the --list-languages
option.
$ difft --list-languages
You can override language detection for specific file globs using the
--override
option.
$ difft --override=GLOB:NAME FIRST-FILE SECOND-FILE
# For example, treating .h files as C rather than C++:
$ difft --override=*.h:c sample_files/preprocesor_1.h sample_files/preprocesor_2.h
Options
Difftastic includes a range of configuration CLI options, see difft --help
for the full list.
Difftastic can also be configured with environment variables. These
are also visible in --help
.
For example, DFT_BACKGROUND=light
is equivalent to
--background=light
. This is useful when using VCS tools like git,
where you are not invoking the difft
binary directly.
Exit Codes
2: Difftastic was given invalid arguments. This includes invalid usage (e.g. the wrong number of arguments) as well as paths that difftastic cannot read (e.g. non-existent paths or insufficient permissions).
1: When called with --exit-code
, difftastic will return an exit code
of 1 when it finds any syntactic changes (in text files) or byte changes
(in binary files).
0: All other cases.