问题描述
|
我目前正在使用Hudson,以git作为后端来构建和测试python和c ++应用程序。
我想知道是否有一个好的方法来设置“仅当目录/ foo / bar / baz下的文件已更改时才运行测试X”。
编辑:是的,我知道git-hooks存在,但是我想知道如何找出上次签出的修订版和当前修订版之间的差异。
解决方法
您可以使用Git挂钩在推送后浏览每个新的提交,并确定这些提交中涉及的文件是否属于您指定目录的一部分。
编辑:您可以做这样的事情:
获取服务器上最后一次提交的SHA(git rev-parse origin / master)
获取本地分支上的最后一次提交的SHA(git rev-parse master)
使用两个SHA \在服务器上执行\'git diff --name-only SHA1 SHA2 \',以查看提交是否击中了您的目录。
--name-only将仅返回更改的文件。