廢話不說 配置鈎子吧
首先在apache的www目錄下建立一個檔案夾,進行checkout,輸入需要使用者名和密碼,将項目取出到該檔案夾中。我的是svn檔案夾(必不可少)
- 右鍵點選 Repositories中的項目
- 點選所有任務
- 選擇 Manage Hooks…
- 輕按兩下Commit下面的Post-commit hook
- 把下文中的指令填寫進去
找到SVN Server的Repositories目錄,在Repositories/test/hooks檔案夾中建立post-commit.bat,在其中寫入指令:
"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\www\test" --quiet --username name --password pwd
(即執行svn update指令,請自行替換使用者名和密碼)
@echo off
SET REPOS=%
SET USER=%
SET SVN="C:/Program Files/VisualSVN Server/bin/svn.exe"
SET DIR="D:/WWW/svn"
(call %SVN% update %DIR% --username 你的賬号--password 你的密碼 --non-interactive)
大功告成。
注:
1.web目錄下一定要用TortoiseSVN checkout出Repositories的代碼
2.-username izaodao –password izaodao
izaodao替換為登入svn的使用者名和密碼
在使用中可能會遇到的錯誤排除 :
- Error: svn: 解析“D:\www\test”出錯,或svn: E020024: Error resolving case of ‘D:\www\test”’,則有可能是因為目标檔案名之後多加了”\”
- “D:\www\test”或Skipped ‘d:\www\test’,則可能是因為沒有執行步驟送出更新處理檔案 即上面提到的.bat檔案,svn.exe不認識目标檔案夾
- Working copy ‘D:\www\test’ is too old,則可能需要使用sven.exe upgrade指令重新整理一下目标檔案夾 或者重新安裝一個較高用戶端版本至少要2.6以上吧
-
還有一個注意問題——Visual SVN Server的權限,否則可能會出現下列錯誤:
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 服務 右鍵屬性 登陸面闆 設定桌面互動或者管理者權限再試