我们有一个典型的工作流程,在 Git 功能分支上进行开发。master 上的更改被拉入特性分支,完成后,特性分支被合并到 master 中(大部分工作没有冲突)。
功能分支在 Jenkins 上不断构建(每个分支一个项目),尤其是为了运行在开发机器上难以完成的测试。这些构建的结果(失败或成功)的通知必须发送给相关的开发人员。从实际的角度来看,所涉及的开发人员是那些在功能分支上工作的人。没有必要让所有这些开发人员都收到通知,将通知发送给对分支进行最后一次更改的人就足够了(意思是:更改分支 HEAD 的值)。
问题是:如何以编程方式确定这些开发人员?我知道这可能不可能 100%,目标是找到一个可行但不完美的解决方案。
绝对不能发生的事情是从未在分支上工作过的提交作者收到通知。当 master 合并到分支中并且在初始分支创建之后,有(很多)提交作者与分支无关。
我会将我想到的方法作为答案,但如果有更好的解决方案,我很感兴趣。