Perforce客户端预提交挂钩
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perforce客户端预提交挂钩相关的知识,希望对你有一定的参考价值。
我们使用perforce作为Visual Studio解决方案的源代码控制。使用P4和P4V。是否可以添加客户端预提交钩子?例如,确保“调试器”一词; * .js文件中不存在。可以在谷歌找到一些东西。谢谢。
Perforce触发器可用于实施此类策略,但它们在服务器中运行,而不是在客户端运行。因此,我所知道的大多数网站都会强制执行规则,例如您在服务器中使用更改内容触发器描述的规则。
http://www.perforce.com/perforce/doc.current/manuals/cmdref/triggers.html
从你的问题来看,为什么你需要有一个客户端钩子并不明显。您是否有某些原因不想使用更改内容触发器?
也许您可以考虑将工作流重新构建为代码审查流程,并在您选择的代码审查工具中实施此类策略。
您可以使用的一种方法是“自定义工具”:https://www.perforce.com/perforce/doc.current/manuals/p4v/custom_tools.html
基本上你会编写一个脚本,它将更改列表作为arg检查你的条件在你的更改列表中的每个文件上,如果成功则调用p4 commit。
使用最新的git-p4
。我的钩子p4-pre-submit
的补丁被合并到Git的next
分支。
钩子是一个简单的可执行脚本,如果脚本存在非零状态,它将停止提交过程启动。所以p4-pre-submit
钩是非常安全的,没有任何副作用。
有关详细信息,请参阅https://github.com/git/git/blob/next/Documentation/git-p4.txt。
请注意git-p4
是一个独立的python脚本。它不依赖于任何特定版本的git。所以你只能升级git-p4
。
钩子p4-pre-submit
除了退出状态外没有与git/git-p4
的其他互动。所以你可以用任何语言编写钩子(我推荐python)。
这是样本.git/hooks/p4-pre-submit
:
#!/bin/sh
cd $GIT_DIR && make test
以上是关于Perforce客户端预提交挂钩的主要内容,如果未能解决你的问题,请参考以下文章