我们有一个集市服务器,许多人都可以连接。我想为每个用户运行一些预提交钩子,对我来说,在服务器上运行这些钩子是最有意义的,因为我无法控制所有连接的计算机。我假设这是一项简单的任务,但我现在被困住了。
我目前的状态是:
我已尝试在服务器上同时使用BZR_PLUGIN_PATH
和~/.bazaar/plugin
中的脚本,如果我这样做,我会在日志中看到这一点:
0.112 looking for plugins in /home/me/.bazaar/plugins
0.122 looking for plugins in /usr/local/lib64/python2.6/site-packages/bzrlib/plugins
0.123 Plugin name my_test_hook already loaded
这是来自远程工作站,因此插件显然已加载,但未执行。我把它搞砸了,所以它当前正在做的是:
def my_test_hook (local, master, old_revno, old_revid,
future_revno, future_revid, tree_delta, future_tree):
raise TipChangeRejected("Rejected")
所以当它被执行时显而易见。有人可以告诉我我需要做些什么来使这个工作?即当我在工作站上"bzr ci -m '...'"
时,我是否希望服务器中的挂钩取消提交并说“已拒绝”。
遗憾的是,文档并没有真正帮助我。
答案 0 :(得分:0)
答案是:你做不到。
远程主机只看到后推,然后停止提交为时已晚,所以这样的钩子必须在每个客户端本地运行。