2015-04-03 106 views
0

我的应用程序中有一个主模块(比如模块A)和很多子模块(比如B,C和D)。我需要为主模块创建一个post-receive钩子(这很容易做到),但是当它的任何子模块被推入时它会被调用吗?如果是,我怎么找到哪个子模块被推送?Git post-receive存储库的钩子并找出哪个子模块被推入

我需要知道子模块名称,因为我需要触发一个Jenkins构建无论哪个模块被推送。任何帮助赞赏。

回答

0

当它的任何子模块被推送时它会被调用吗?

不,它不会。

但没有什么能够阻止你添加子模块后收到钩,他们中的每一个可以依次直接调用后收到父回购的钩子(如果存在的话:../../../hooks/post-receive,因为一个子模块钩在parent_repo/.git/modules/asubmodules/hooks )。
它可以用自己的名字来称呼母公司回购钩作为参数,父钩:

  • 检测,它不是在一个典型的方式调用的,而是通过其子模块回购之一。
  • 触发正确的构建。
+0

听起来不错。但是,如果没有有效的git仓库,父钩子可以如何变成git状态。 ? – KarthikJ 2015-04-03 02:03:59

+0

@KarthikJ对。我相应地修改了答案。 – VonC 2015-04-03 08:10:03

相关问题