Git post-receive hook用于存储库并找出推送的子模块

时间:2015-04-03 00:11:48

标签: git git-submodules githooks

我的应用程序中有一个主模块(比如模块A)和它的许多子模块(比如B,C和D)。我需要为主模块创建一个post-receive hook(这很容易)但是当它的任何子模块被推送时它会被调用吗?如果是,我如何找到推送的子模块?

我需要知道子模块名称,因为我需要为推送的任何模块触发Jenkins构建。任何帮助赞赏。

1 个答案:

答案 0 :(得分:0)

  

是否会在推送任何子模块时调用它?

不,它不会。

但是没有什么能阻止你在子模块上添加post-receive钩子,它们中的每一个都可以直接调用父repo的post-receive钩子(如果存在:../../../hooks/post-receive,因为子模块钩子在parent_repo/.git/modules/asubmodules/hooks) 它可以使用自己的名称作为参数调用父repo钩子,用于父钩子:

  • 检测到它是不是以经典的方式调用,而是通过其子模块库中的一个。
  • 触发正确的构建。