【问题标题】:bzr How to create a commit hook?bzr 如何创建提交挂钩?
【发布时间】:2014-05-31 06:56:18
【问题描述】:

我正在尝试制作我的第一个提交挂钩,但它不起作用。 我从这里得到了这个想法http://doc.bazaar.canonical.com/beta/en/user-guide/hooks.html

我要做的是从制作我自己的自定义提交消息开始。但这不起作用。请问你能帮忙吗?

我制作了一个名为commit_hook.py的python文件

from bzrlib import branch


def my_commit_hook(push_result):
    print "I made this and the new revno is %d" % commit_result.new_revno


branch.Branch.hooks.install_named_hook('post_commit', post_commit_hook,
                                 'My post_commit hook')

我将文件 commit_hook.py 放在存储库中的 .bzr 隐藏文件夹中。我做了插件目录?对吗?

.bzr/
├── 
├── branch-format
├── branch-lock
├── plugins
│   └── commit_hook.py
├── README

【问题讨论】:

    标签: python bazaar bazaar-plugins


    【解决方案1】:

    Per the docs:

    post_commit 使用 (local, master, old_revno, old_revid, new_revno, new_revid)。

    因此,

    def my_commit_hook(local, master, old_revno, old_revid, 
                       new_revno, new_revid):
    

    另外,post_commit_hook 应该是 my_commit_hook

    branch.Branch.hooks.install_named_hook('post_commit', 
                                           my_commit_hook,
                                           'My post_commit hook')
    

    【讨论】:

    • 嗨 - 有一个例子,因为我试过这个,但我在提交时没有看到我的消息。我没有使用服务器,我所做的只是提交到本地 kubuntu 笔记本电脑上的存储库
    • 我承认我只是在看文档;我不使用bzr。 According to this,插件应该放在~/.bazaar/plugins。插件目录也可以通过定义BZR_PLUGIN_PATH来指定。
    • 谢谢,我会检查一下,让你知道。非常感谢您的帮助
    • unndent 不匹配任何外部缩进级别 - 你知道这个错误是什么意思吗?
    • 谢谢,我看到 python 依赖于特定的缩进。我让它工作。感谢您的帮助
    猜你喜欢
    • 2022-11-07
    • 1970-01-01
    • 2018-04-05
    • 2010-11-02
    • 2015-10-09
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多