#compare #modification #file #scripting #describe #utility #globs

app dirtcomp

用于比较文件模式修改时间的命令行工具

2 个版本

0.1.1 2024年2月28日
0.1.0 2024年2月28日

#695命令行工具

GPL-3.0-only

20KB
242 代码行

目录时间比较器 (dirtcomp)

动机

此工具允许您比较两个文件模式,以确定哪个描述了较新的文件。其动机目的是在 Just 中重现文件依赖关系(Makefile 功能中的一个有用部分,称为 "规则")。更普遍的是,此工具可以在支持 Rust glob crate 的任何系统上的任何脚本环境中使用。

安装

尚未配置跨平台构建。这将会到来。在此之前,您可以通过使用 cargo install dirtcomp 来安装。如果您愿意,也可以克隆仓库并使用 cargo build --release 或通过运行 just install [path] 来构建它。有关更多选项,请参阅 justfile

用法

目前定义了两个子命令

  1. check 接受两个文件模式作为位置参数,<BASE><TARGET>
  2. multi-check 接受重复参数,--base <GLOB>--target <GLOB>

在这两种情况下,如果基础文件模式描述了较新的文件,则返回成功的 Unix 状态代码(0)。如果目标是较新的,则返回 "错误" 状态代码 1。其他状态代码表示真正的错误状态。

以下是一个合理示例,来自我的其他项目之一

#!/bin/sh
if $(dirtcomp check 'src/**/*.ts' 'dist/**/*'); then
    pnpm tsc
else
    echo "Nothing to do; skipping compilation."
fi

依赖项

~3–12MB
~145K SLoC