#git-hook #hook #git #policies #policy #client-side #server-side

bin+lib GitPolicyEnforcer

GitPolicyEnforcer 是一个命令行工具,通过 Git 钩子帮助您在服务器和客户端实施 Git 策略。

2 个不稳定版本

0.3.0 2022 年 4 月 7 日
0.2.0 2021 年 5 月 16 日

#2888命令行工具

每月 44 次下载

MIT/Apache

31KB
724

Build status

GitPolicyEnforcer

这是一个用 Rust 编写的命令行工具,它帮助您利用 Git 钩子实施各种策略。

它目前只支持 update 服务器端 Git 钩子。目标是包括客户端钩子。

由于内部需求,该工具目前是为与自托管的 GitLab CE 实例一起使用而开发的。它也应在裸 git 服务器上运行(可能需要进行一些小的修改)。

这是一个正在进行中的项目。如果您觉得这个项目有用,欢迎贡献力量。

使用方法

目前,请查看以下 YouTube 视频

Rust: GitPolicyEnforcer

根据时间可用性,将添加更多文档,并继续开发。

即时正则表达式验证

您可以使用相应的功能快速测试您正则表达式,无论是成功创建正则表达式还是值验证,在部署之前。示例用法

预期成功

gpe --regex '^\d test$' --regex-value '1 test'

预期在值验证失败

gpe --regex '^\d test$' --regex-value 'hello world'

预期在创建正则表达式时失败

gpe --regex '^\e{1,1}$' --regex-value 'hello world'

构建

您需要一个 Rust 安装程序 来编译它。

要构建 GitPolicyEnforcer

git clone https://github.com/Vagelis-Prokopiou/GitPolicyEnforcer
cd GitPolicyEnforcer
cargo build --release
./target/release/gpe --help

生成的二进制文件是位于 GitPolicyEnforcer/target/release 目录中的 gpe

许可证

GitPolicyEnforcer 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

依赖项

~5–7.5MB
~128K SLoC