標籤:tor ram database 自動 site 網站 span detail 出現
1. tortoiseSVN
關於 tortoiseSVN 的安裝使用詳見博文 TortoiseSVN的安裝及其簡單使用。
2. VisualSVN Server
關於 VisualSVN Server 的安裝使用詳見博文 VisualSVN-Server伺服器的搭建。
或參考 VisualSVN Server的配置和使用方法(轉) 。
另外需要說明的是,VisualSVN Server 中 tag branch trunk用法,官方並沒有給出嚴格的限制,可參考如下2篇博文:
SVN中trunk,branches,tags用法詳解
SVN中tag branch trunk用法詳解
3. 實現 web 網站同步
在此之前,首先參考閱讀 windows下SVN伺服器與web 網站的同步。
在web開發過程中,svn用戶端將修改提交至伺服器後,在預設代碼倉庫(Repositories)中是無法看到檔案的實際目錄結構的,比如對於開發項目keys,本地看到的檔案目錄如。
而於伺服器端的 Repositories 檔案中看到的檔案目錄如。
它並非實際項目文檔,而是版本控制相關檔案。此時為了在伺服器端獲得同用戶端相同的文檔目錄,需要在伺服器指定一個路徑,並以tortoiseSVN checkout。至此在伺服器端也獲得了同樣檔案。
對於個人開發,為了實現提交代碼後即時預覽修改效果,需要能夠在服務端自動 checkout,基於 VisualSVN Server 與 .bat 檔案實現方法如下:
1. 以項目keys為例,複製 hooks下的 post-commit.tmpl 模板,並修改尾碼名為 .bat。
2. 將 post-commit.bat 中常值內容修改為
"C:\Program Files\VisualSVN Server\bin\svn.exe" update "C:\websites\keys" --quiet --username "UserName" --password "Password"
其中 "C:\Program Files\VisualSVN Server\bin\svn.exe" 為可執行程式 svn.exe 的路徑,"C:\websites\keys" 為同步目標路徑。
注意:使用者名稱和密碼文本的上的雙引號不能略去。
3. 最關鍵的一步:就是svn服務端許可權的問題;
否則可能會出現下列錯誤: post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy ‘D:\www\Test‘ locked
svn: E200031: sqlite: attempt to write a readonly database svn: E200031: sqlite: attempt to write a readonly database
svn: run ‘svn cleanup‘ to remove locks (type ‘svn help cleanup‘ for details)
原因是Visual SVN Server服務的執行許可權不夠,不能對指定目錄做讀寫操作。解決辦法,修改Visual SVN Server 。
簡單操作 win+R 運行 services.msc 找到visual svn server 服務 右鍵屬性 登陸面板 設定案頭互動或者管理員權限再試。
4. 至此,若在用戶端修改檔案並提交至伺服器後,對應網站目錄下的檔案也同步更新。
Windows平台下結合 tortoiseSVN 和 VisualSVN Server 搭建SVN伺服器並實現 web 網站同步