2013-08-12 71 views
2

我有一個gitolite服務器,我想設置一個服務器端鉤子,這樣當任何人克隆位於其上的存儲庫時,就會向管理員發送一封電子郵件。現在看來,這隻能做推,但不能克隆..我錯了嗎?如何設置git鉤子以克隆發送電子郵件

回答

1

從git沒有服務器端獲取掛鉤。 gitolite有PRE_GITPOST_GITtriggers你可以用它來檢測什麼時候有人正在讀取(運行git-upload-pack),但是克隆和正常讀取之間的區別是人類語義。

如果客戶端在協商中沒有提供任何本地提交,但它仍然可能只是某人正在手動執行提取操作,那麼檢測可能成爲克隆的唯一方法就是在協議層內進行。最後,因爲git是分佈式的,所以從服務器克隆或從其他地方克隆(可能是同事的計算機/ usb棒或同一臺計算機中的不同回購站),然後從服務器獲取其餘部分基本上是相同的,因爲存儲庫之間沒有強大的綁定。

1

由於沒有一個真正的hook on git clone (server side),留下你一個可能的解決方法:

Gitolite留下日誌每個操作的,我說明「Is there a git activity log?」。
但是,它只記錄混帳上傳包的情況下,這意味着你知道混帳拉和混帳克隆,不知道哪個操作剛發生(拉或克隆)

如果在安裝該監視器gitolite cron作業日誌,當檢測到git-upload-pack實例的新發生時,您可以發送電子郵件。

相關問題