2012-04-11 108 views
1

我試圖創建一個腳本,以便在推送發生後將repo文件chmod修改爲新組。爲了測試鉤子,我創建了一個鉤子,在/ tmp /中創建一個文件來檢查鉤子是否正常工作。但不是。Gitolite掛鉤不執行

我到目前爲止所做的:
首先我創建了一個腳本(〜/ .gitolite/hooks/common/update.secondary),然後運行gl-setup [pubkey]。經過無數次嘗試之後,我檢查了主鉤子目錄(/ var/gitolite/hook/common /)並且腳本不在那裏。

之後,我把腳本直接放在/ var/gitolite/hook/common /中,再次運行gl-setup,它仍然沒有運行鉤子。

腳本執行罰款,使用

sh ~/repositories/[some project]/hooks/myscript 

的腳本gitolite用戶我使用的是:

#!/bin/bash 
touch /tmp/TESTFILE 

的許可更新腳本:

#!/bin/bash 
chmod 750 -R /home/git/repositories/* 
+2

運行'gl-setup'之前,你是否已經將它設置爲'chmod + x'? – VonC 2012-04-11 15:52:49

+0

我用第一種方法做了。但不是第二個......現在它已經起作用了。 – 2012-04-11 17:11:53

+0

非常好。我已經發布了更多可見性的答案 – VonC 2012-04-11 17:16:15

回答

2

OP Jason Kaczmarsky提到, :

  • 直接把腳本/var/gitolite/hook/common/
  • 使用chmod + X表示腳本之前
  • 運行GL-設置

作品和不傳播該腳本。

OP提到的第一種方法在Gitolite手冊頁「Using Hooks」中描述,但它取決於安裝方法,它似乎是root one here

話雖這麼說,對於chmod操作,你需要考慮到variable REPO_UMASK in your gitolite.rc,如解釋說: