Man*_*nha 6 git scripting githooks
我打算写一些git钩子作为一个项目,将用户的操作记录在数据库中.然后可以使用该数据库查询其所有活动.我想要记录的操作是
我希望将这个包装在可以通过包管理器安装的发行版中.Git允许通过放置任何这样的全局钩子$PREFIX/share/templates/hooks
它目前有一些禁用的钩子(.sample附加到它们的名称).创建新存储库时,会将这些挂钩复制.git到存储库的文件夹中
现在,如果用户安装了这些钩子和钩子的包,post-commit并且post-update已经启用了.在这种情况下,脚本文件将被覆盖!这听起来很糟糕
这意味着git每个操作只有一个钩子文件.如果我需要为一个动作保留三个钩子,这意味着它是不可能的.这意味着从包管理器自动安装可能会引入冲突.
现在认为我们打包了钩子来覆盖默认的启用文件.如果用户想要为这些文件添加更多操作然后决定卸载我的包,那么他的自定义命令也会消失?
我认为git在这方面非常聪明,我错了:(
需要有一个名为的文件夹post-commit和/ post-update或任何操作,git应该运行该文件夹中的所有脚本.我仍然在寻找一种方法来处理当前的情况.
为什么不编写一个提交后挂钩(例如)来查找“post-commit-hooks”子目录并列出并执行在其中找到的所有脚本?
(第一个未成功运行的将使所有提交后挂钩失败)
如果用户从预定义的模板目录初始化他们的 Git 存储库,那么您可以确保他们都在新存储库中获取这些特殊脚本。
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |