5个版本
0.1.4 | 2023年1月1日 |
---|---|
0.1.3 | 2023年1月1日 |
0.1.2 | 2023年1月1日 |
0.1.1 | 2023年1月1日 |
0.1.0 | 2022年10月25日 |
452 在 配置
每月 23次下载
18KB
345 代码行
垫片
从配置文件创建可执行文件的垫片。
稳定性警告
API可能会在主版本号为0时大幅变化。一旦这个crate的版本达到1.0.0
,api的更改将仅在主要版本升级时发生。
安装
使用Cargo
cargo install shim
用法
命令行界面
shim --help
垫片配置文件
动机
压缩配置
我的git配置分散在太多地方
-
Git允许使用前缀
git-
命名任意命令,git会 -
我的git配置文件定义了别名
[alias]
url = remote get-url origin
root = rev-parse --show-toplevel
commit = !cz commit
cz = !cz commit
- 我的bashrc有一个函数,
- 为所有git命令添加全局的预/后钩子
- 覆盖一些git子命令
function git() {
# Run pre-commit first for immediate feedback
pre-commit # TODO: only run on some git commands
# Override functionality based on the first argument, the subcommmand
case "$1" in
'commit')
cz commit
;;
'init'|clone)
# Run command before creating a new repo on filesystem
git-track-repos --quiet "$@"
# Unlike other commands, make sure to run the git operation still
git "$@"
;;
*)
# Fall back to actual git for everything else
git "${@}"
;;
esac
# Run these after any git operation completes
git-track-repos # This is a program I wrote to keep track of all repos I've cloned
}
- Git钩子
调用git时少做分叉
我已经创建了很多钩子。我已经为一些钩子编写了一个工具(TODO:发布该工具并在此处链接)在rust中。我计划让shim
能够从动态库中加载垫片,而不是分叉大量进程
依赖
~14–27MB
~396K SLoC