在我目前的項目中,我們有所有第三方(jQuery,dataTables等)的javascript文件的目錄。現在有幾次我們讓一些開發人員改變這些文件,認爲這是完成他們的任務的唯一方式(他們錯了,但沒有經驗知道它),這導致了額外的時間不得不花費清理。如果svn中的特定文件被更改,我該如何自動通知?
有沒有辦法在顛覆中的某些文件上「放置手錶」,以便我們在被更改時得到通知?
在我目前的項目中,我們有所有第三方(jQuery,dataTables等)的javascript文件的目錄。現在有幾次我們讓一些開發人員改變這些文件,認爲這是完成他們的任務的唯一方式(他們錯了,但沒有經驗知道它),這導致了額外的時間不得不花費清理。如果svn中的特定文件被更改,我該如何自動通知?
有沒有辦法在顛覆中的某些文件上「放置手錶」,以便我們在被更改時得到通知?
如果您只是想獲得通知,請設置一個post-commit hook,以便在有人更改某些內容時向您發送電子郵件。
如果您想自動阻止更改,請改爲設置pre-commit hook。
更好的是,將外部文件移動到單獨的存儲庫中,並使用svn:externals
將它們包含在正常文件中。然後鎖定外部存儲庫爲每個人的RO,但有權更新這些(以及知識如何正確執行)的人除外。
Subversion服務器有一些鉤子腳本,當某些動作發生時會被觸發。其中一個鉤子是post-commit,你可以通過這個觸發器來開發一個腳本來檢查文件是否等於最後一個版本或類似的東西。
http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.reposadmin.create.hooks