[具体描述]
添加 pre-commit Hook 功能允许用户在创建提交之前执行自定义命令或脚本。如果 pre-commit hook 执行失败(返回非零状态码),则终止提交操作。增加commit参数允许临时跳过pre-commit Hook
[实现方案]
- Hook 机制设计
在 .libra/hooks 目录下存储各种类型的 hook 脚本(sh,bat,ps1)
pre-commit hook 在用户执行 libra commit 命令时触发
根据用户的平台选择具体的脚本
判断用户是否使用参数跳过pre-commit,如果选择跳过则直接进行commit
如果 hook 脚本存在且可执行,则运行该脚本
如果脚本返回非零状态码,则终止提交操作
- 代码实现
修改 command/init.rs - 初始化时创建 hooks 目录
修改 command/commit.rs - 在执行提交前运行 pre-commit hook
[具体描述]
添加 pre-commit Hook 功能允许用户在创建提交之前执行自定义命令或脚本。如果 pre-commit hook 执行失败(返回非零状态码),则终止提交操作。增加commit参数允许临时跳过pre-commit Hook
[实现方案]
在 .libra/hooks 目录下存储各种类型的 hook 脚本(sh,bat,ps1)
pre-commit hook 在用户执行 libra commit 命令时触发
根据用户的平台选择具体的脚本
判断用户是否使用参数跳过pre-commit,如果选择跳过则直接进行commit
如果 hook 脚本存在且可执行,则运行该脚本
如果脚本返回非零状态码,则终止提交操作
修改 command/init.rs - 初始化时创建 hooks 目录
修改 command/commit.rs - 在执行提交前运行 pre-commit hook