
建立儲存庫時是否可以將自訂提交掛鉤設定為「預設」掛鉤?
答案1
除了透過「svnadmin create /path/to/repo」命令安裝到新儲存庫的九個標準掛鉤之外(start-commit、pre/post-commit、pre/post-revprop-change、pre/post-lock 和解鎖前/解鎖後),我知道沒有辦法自動包含額外的掛鉤作為所有新創建的存儲庫的“預設”掛鉤。
我想您可以建立一個包裝器shell 腳本來建立新的儲存庫,該腳本呼叫svnadmin create 命令,並為儲存庫路徑設定一個變量,然後將自訂提交掛鉤複製到path/to/repo/hooks 資料夾中,並將其用於所有新的儲存庫。
最後,因為您提到這個自訂掛鉤特別是一個提交掛鉤,所以我應該重複以下給出的警告使用 Subversion 進行版本控制當討論時鉤子腳本(強調我的):
雖然鉤子腳本幾乎可以做任何事情,但鉤子腳本作者應該在一個方面表現出克制:不要使用鉤子腳本修改提交事務。雖然使用掛鉤腳本來自動糾正正在提交的文件中存在的錯誤、缺陷或策略違規可能很誘人,但這樣做可能會導致問題。 Subversion 保留儲存庫資料某些位元的用戶端緩存,如果您以這種方式變更提交事務,這些快取就會變得難以察覺的陳舊狀態。這種不一致可能會導致令人驚訝和意外的行為。您應該簡單地在預提交掛鉤中驗證事務,並在不滿足所需要求時拒絕提交,而不是修改事務。作為獎勵,您的用戶將了解謹慎、合規的工作習慣的價值