hudson - 仅在特定代码分支发生变化时运行测试

时间:2011-05-28 07:20:42

标签: git hudson

我目前正在使用Hudson构建和测试python和c ++应用程序,使用git作为后端。

我想知道是否有一种很好的方法来设置“仅当目录/ foo / bar / baz下的文件发生变化时才运行测试X”。

编辑:是的,我知道存在git-hooks,但我想知道如何找出最后检出的版本和当前版本之间的差异。

1 个答案:

答案 0 :(得分:0)

您可以使用Git hooks在推送​​后查看每个新提交,并确定这些提交中涉及的文件是否是指定目录的一部分。

编辑:您可以这样做:

  1. 获取服务器上最后一次提交的SHA(git rev-parse origin / master)
  2. 获取本地分支上最后一次提交的SHA(git rev-parse master)
  3. 使用两个SHA在服务器上执行'git diff --name-only SHA1 SHA2'以查看提交是否命中您的目录。
  4. --name-only仅返回已更改的文件。