2013-10-16 64 views
1

簡而言之,我希望在每次提交後將項目中的所有JavaScript文件合併到一個文件中,並在此提交\修訂中包含「已編譯」文件。我該做什麼?在SVN提交後合併一些文件

我試圖使用post-commit hook,post-revprop-change,但是我是愚蠢的或者它不能幫助我。

回答

3

首先,您不應該在您的版本控制存儲庫中包含生成或「編譯」的文件。請參閱SO answer以瞭解它的推理。最好的選擇是使用一個構建腳本,通過一個簡單的命令生成組合文件並將其添加到您的部署過程中。生成的文件應添加到svn:ignore property

對於您的特定問題,甚至有Web服務器模塊,如Google mod_pagespeed,它們會自動組合javascript文件。這個解決方案比在存儲庫中包含生成的代碼要好得多。

現在,如果你真的想這樣做,你應該使用預先提交鉤子。您應該在之前生成文件,並將它們發送到版本控制。看到你會有很多麻煩它:

  1. 第一:在你的Subversion服務器的機器運行顛覆掛鉤,所以你需要的一切,將產生位於那裏的文件的腳本。
  2. 結果是,您將不會在本地工作區中生成文件,您需要在每次提交後執行更新。可怕!
  3. 你必須照顧到文件添加到顛覆,如果它不在版本控制之下
  4. 如果由於任何原因有衝突commiting這個文件,你的用戶將有一個時間地獄試圖進行調試。

如果按照這個monstruous路徑,請不要告訴任何人,我已經告訴你如何做到這一點:-)

+0

謝謝,我決定不要將聯合文件存儲庫。 – izoomko