1 个不稳定版本

0.2.0 2022年11月29日

#2236命令行工具

每月 21 次下载

MIT 许可协议

1MB
434

Crates.io badge github release badge badge github downloads badge
This project is proudly sponsored by Red Iron, the Rust division of OCamlPro

Dirdiff

Dirdiff高效计算两个目录之间的差异。它会列出以下文件:

  1. 仅存在于一个目录中的文件,或者
  2. 存在于两个目录中但内容不同的文件。

Dirdiff旨在处理大型目录,这得益于多线程处理,并且不会尝试显示文件的差异。

安装

发布二进制文件

针对(相对较新的)Linux/amd64的预编译二进制文件可用于每个标记的发布

使用 cargo(通过编译源代码)进行安装

cargo install dirdiff-ocamlpro'

构建

Dirdiff是用 Rust 编写的。要构建它,您需要安装 rust 工具链。

一旦获得源代码,以下命令将构建二进制文件并将其放置在仓库的根目录中。

cd dirdiff/
cargo build --release
# Copy the binary to the root of the repo
mv target/release/dirdiff dirdiff

用法

Usage: dirdiff [OPTIONS] <DIR1> <DIR2>

Arguments:
  <DIR1>
          First directory to diff from

  <DIR2>
          Second directory to diff from

Options:
  -j, --jobs <JOBS>
          Number of parallel threads to use.

          Use 0 or no option for auto-detection.

      --check-mtime
          Whether to check if the mtime is different.

          Only applies to file whose content is otherwise the same, and gets its specific output tag: `[Differ by mtime only]`.

  -L, --follow-symlink
          Whether to follow symlinks when comparing directories' content

  -H
          Whether to follow symlinks for program's arguments

  -h, --help
          Print help information (use `-h` for a summary)

  -V, --version
          Print version information

示例输出

列由制表符分隔

[Files differ]	"foo/bar"
[Present in first dir. only]	"subdir_a"
[Present in second dir. only]	"subdir_b"

差异输出到 stdout。如果遇到符号链接,将在 stderr 上显示警告。

依赖关系

~1.6–2.3MB
~42K SLoC