使用方法

文件参数

比较文件

$ difft FIRST-FILE SECOND-FILE

$ difft sample_files/simple_1.js sample_files/simple_2.js

比较文件夹

$ difft FIRST-DIRECTORY SECOND-DIRECTORY

# For example:
$ difft sample_files/dir_1/ sample_files/dir_2/

Difftastic 会递归地浏览这两个文件夹,对同名的文件进行差异分析。

对比的文件夹间有许多未改变的文件时,--skip-unchanged 选项会十分有用。

从 stdin 读取

您可以通过指定 - 作为文件路径从标准输入(stdin)读取文件。

$ difft - SECOND-FILE

$ cat sample_files/simple_1.js | difft - sample_files/simple_2.js

带冲突标记的文件

(在 0.50 版本新增)

如果你有一个带 <<<<<<< 冲突标记的文件,可以将它作为一个参数传入 Difftastic。Difftastic 会构建和比较文件的两个状态。

$ difft FILE-WITH-CONFLICTS

$ difft sample_files/conflicts.el

语言检测

Difftastic 根据文件的扩展名、文件名和第一行的内容猜测文件所用的语言。

你可以通过 --override 选项覆盖语言检测。如果输入的文件有所设定的后缀, Difftastic 将会处理它们,并且忽略其他语言。

$ difft --override=GLOB:NAME FIRST-FILE SECOND-FILE

$ difft --override=*.h:c sample_files/preprocesor_1.h sample_files/preprocesor_2.h

选项

Difftastic 包括一系列命令行选项,你可以使用 difft --help 获得完整列表。

Difftastic 也可以用环境变量进行配置,这同样可以在 --help 中看到。

例如,DFT_BACKGROUND=light 相当于 --background=light。这在使用 VCS 工具(例如 Git)时会很有用,因为此时不能直接调用 difft 二进制文件。

退出状态码

2:Difftastic 收到了无效参数。这包括用法无效(如参数数量不对)、无法读取路径(如路径不存在或权限不足)。

1:使用 --exit-code 选项时,Difftastic 在发现任何语法变化(文本文件)或字节变化(二进制文件)。

0:所有其他情况。