我試圖設置一個特定的工作流,但無法弄清楚rsync如何(或如果)將爲此工作。試圖讓rsync將文件複製回svn
我的設置是在Mac OS X.
我有我的SVN目錄。當我運行我的部署腳本時,這些文件被移到我的集成Apache服務器上。我對這些文件執行修改,然後手動將它們複製回SVN。
我這樣做的原因是我需要馬上看到瀏覽器中的變化,因爲我在編輯html,css和javascript。但是,它耗費時間試圖手動複製並跟蹤這一點,我想將其自動化。
我想要做的是使用rsync來確定我在Apache Web目錄中修改的文件,然後將這些文件僅複製回SVN。
我有一個rsync命令,我一直在測試,但我似乎遇到的問題是,由於部署文件的時間戳比SVN中的內容都新,rsync想要將所有文件都複製回來因爲它將它們視爲較新的文件。
我也試驗過差異,它檢測到文件差異。我想我可以把一個shell腳本放在一起,可以使用diff,grep和cp的組合來完成這個工作,但我想看看rsync是否可以是一個全功能的解決方案。
rsync -avuzn --exclude=web-inf/classes/ --exclude=web-inf/lib/ /var/www/web-inf /usr/local/src/svn/WEB-INF
*免責聲明:講的東西我寫* FWIW,這是非常類似我的自動部署系統:http://www.mirios.com.au/dashy/(但它可能對您沒有用處,因爲它現在是基於Windows的),就像有人提到的那樣,在編寫系統時,您應以不同的方式處理「本地」測試(因此您可以立即看到更改)。 – 2009-10-02 02:38:47