如何检索在git中两次提交之间更改的maven模块列表

时间:2015-01-22 16:20:36

标签: git maven

我有一个带有主模块和多个子模块的maven项目。我想知道是否有一种简单的方法来检索两次提交之间更改的所有模块。

2 个答案:

答案 0 :(得分:1)

在问题发生后近3年,它的价值如何:

我设计了一个基于git diff的启发式算法,基于maven工件按惯例统治的事实。

  1. 使用git diff --name-status <commit1> <commit2>
  2. 解压缩所有文件更改
  3. 整理,添加文件,更新文件和删除文件
  4. 根据这些信息,如果文件看起来像 a / b / src / main /... c / src / test ,则按照maven惯例,受影响的模块是 a / b c 。如果文件看起来像 d / e / pom.xml ,那么简单!该模块是 d / e
  5. 当然,这不能处理诸如 a / b / c / README.md 之类的更改。是a,a / b还是a / b / c?

    我使用此启发式列出要为CI构建重新编译的所有模块。如果其中一个文件无法通过上述算法进行分类,我只需重建整个项目。

    干杯

答案 1 :(得分:0)

git diff <commit1> <commit2> -- **/pom.xml *.pom.xml会为您提供影响主模块pom文件和子模块的更改。