2011-05-28 46 views
1

我目前使用Hudson来构建和测试使用git作为后端的python和C++应用程序。hudson - 仅在特定分支代码更改时运行测试

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

编辑:是的,我知道git钩子存在,但我想知道如何找出上次检出版本和当前版本之间的增量。

回答

0

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

编辑:你可以做这样的事情:

  1. 获得最后的SHA服务器上提交(git的REV-解析产地/主)
  2. 得到最后的SHA提交您的本地分支(git rev-parse master)
  3. 使用这两个SHA在服务器上执行'git diff --name-only SHA1 SHA2'以查看提交是否触及您的目录。

--name-only将仅返回已更改的文件。