2011-05-28 44 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將僅返回已更改的文件。