我已經開始使用Subversion來跟蹤 - 並且能夠扭轉 - 我們的網站與其開發和維護相關的變化。喜歡它提供的這種安全感!對在線項目的顛覆
我想知道是否會有一種工具/一種方式能夠實現「live」網站和Subversion版本庫之間的同步。能夠同時向存儲庫和實時版本提交錯誤補丁是非常好的(現在我通過ftp手動上傳糾正的文件,然後將其提交到Subversion存儲庫)。
我確定這個必須存在的地方,但在哪個名字?它需要什麼設置?
感謝您的反饋, A.
我已經開始使用Subversion來跟蹤 - 並且能夠扭轉 - 我們的網站與其開發和維護相關的變化。喜歡它提供的這種安全感!對在線項目的顛覆
我想知道是否會有一種工具/一種方式能夠實現「live」網站和Subversion版本庫之間的同步。能夠同時向存儲庫和實時版本提交錯誤補丁是非常好的(現在我通過ftp手動上傳糾正的文件,然後將其提交到Subversion存儲庫)。
我確定這個必須存在的地方,但在哪個名字?它需要什麼設置?
感謝您的反饋, A.
您可以創建一個post-commit hook,將在最新版本導出庫到Web服務器的目錄:
#!/bin/sh
# Delete Old site
rm -R /var/www/website
# Export Repository
svn export --force file:///var/svn/website /var/www/website
# Make sure Apache Owns the website
chown -R www-data:www-data /var/www/website
保存在一個名爲post-commit
文件,在hooks
目錄並將其設置爲可執行文件
如果存儲庫和網站不在同一臺服務器上,則需要在臨時目錄,然後通過FTP或SCP
編輯推:也發現這個perl的模塊,可以做的工作:SVN::Notify::Mirror
Basicly你可以用svn repository hooks做到這一點,尤其是post-commit
鉤。
來自svn書籍的信息:http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5-sect-2.1 – 2010-10-07 09:54:31
<DirectoryMatch \.svn> Order allow, deny Deny from all </DirectoryMatch> AliasMatch \.svn /non-existant-page
有趣的方法,使用cronjob定期同步。謝謝! – pixeline 2010-10-09 08:50:44
可能你重新回答了答案,上週有數據丟失導致答案沒有被接受?非常感謝! – CharlesB 2010-10-18 12:12:36