【问题标题】:How to implement git hook for Android repo tool如何为 Android repo 工具实现 git hook
【发布时间】:2019-11-19 12:22:48
【问题描述】:

我的团队正在为该项目使用android repo。我一直面临着一个问题,我想在文档之后为repo 编写我的钩子,但是repo 的文档似乎只允许一个pre-upload 钩子——我需要实现pre-commit 无法正常工作。

有没有人尝试过为 repo 实现 git-hooks 并有任何教程/提示/技巧/guildlines?

【问题讨论】:

    标签: python android git repo


    【解决方案1】:

    解决方案 1,配置系统范围或全局 core.hooksPath

    git config --system core.hooksPath /path/to/githooks
    

    /path/to/githooks下的钩子会被触发。如果您使用 Gerrit 并且需要 Change-Id,请将 commit-msg 也复制到路径中。

    解决方案 2,如果您使用自己的 repo 存储库而不是 Google 的存储库,则可以在 repo/hooks 下添加并提交钩子脚本,以便 repo sync 创建的存储库将创建到 .repo/repo/hooks/* 的软链接。要使用您自己的repo 存储库,您可以在用于运行repo initrepo 脚本中更改REPO_URL 的值。该值是您自己的repo 存储库的url。

    【讨论】:

    • 感谢您的想法!我不知道服务器端也有影响(Gerrit/Gitlab/Bitbucket/ect...)我认为:解决方案 1 正在搞乱使用不同语言或遵循不同语言的存储库关于代码质量、格式等的政策... :( 解决方案 2 不幸的是,我使用的是 Google 的 repo,它需要手动操作才能在 repo sync 之前进行更改(但是你给了我的一个想法是,这里可能有一些项目的初始化脚本)
    • @Verthais 更灵活地维护和使用 Google 的 repo 存储库的分支。将修改后的repo 脚本(用于repo init)交付给所有团队成员,并要求他们替换PATH 中的脚本,一劳永逸。他们不必进行任何其他更改。此外,您可以自定义repo工具以满足更多需求。
    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2012-03-21
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多