標籤:圖形 use repo 尾碼 java 資源 doc 佔用 date
windows安裝:
1、下載subversion
各個版本的說明:
CollabNet:
功能最強大的,因為svn的創始者就是CollabNet,不過這個版本因為功能最多,所以整個軟體包也是最臃腫的,安裝包就有100多M,而且因為是運行在java平台上的,要佔用很大的記憶體資源
SlikSVN和Win32Svn:
這兩個基本是一樣的,都只有svn的核心,沒有介面,也就是使用的時候只能用命令列操作。這兩者稍微有些區別,比如Win32Svn提供了和apache的庫檔案,而SlikSVN沒有。不存在用戶端和服務端之分,本身svn既是服務端又是用戶端。
VisualSVN:是最傻瓜化的svn,安裝和配置都是有圖形介面,操作起來很方便。
2、按照軟體安裝方式安裝
3、配置成系統服務,避免買次都要命令列
在dos下面執行這個命令:
C:\>sc create Subversion binpath= "D:\Subversion\bin\svnserve.exe --service -r e:\svnRepos" displayname= "SVNService" depend= tcpip start= auto
注意:SC 是用於與服務控制管理員和服務進行通訊的命令列程式。
(1)參數binPath表示svnserve可執行檔的安裝路徑
(2)--service參數表示以windows服務的形式運行
(3)-r指明svn repository(svnadmin create 建立的倉庫)的位置
(4)displayname表示在windows服務列表中顯示的名字
(5)binPath的等號前面無空格,等號後面有空格 displayname depend start也都一樣 service前面是--,不是- ,而r前面是-
運 行這一行命令,兩個路徑分別是svnserve.exe的地址和版本庫的地址(版本庫地址一般是apache的根目錄,這樣就可以多建幾個版本庫了)。 start=auto,每次開機自動運行。關鍵需要注意的是等號後面必須先跟空格然後再跟設定的參數值。如果安裝成系統服務成功之後,會提示成功了
4、啟動系統服務 net start Subversion(註:Subversion是上一個命令中的服務名稱)
刪除建立的服務 C:\>sc delete svnservice
5、建立svn跟目錄(方便快速尋找svn目錄,需要doc下面不關閉才行,所以也可不要)
svnserve.exe --daemon --root E:\svnRepos(路徑為svn倉庫路徑)
//--daemon(兩個虛線)選項告訴 svnserve 以守護進程方式運行
//--root選項設定根位置來限制伺服器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間
6、svnadmin create E:\svnRepos\test(建立svn倉庫)
7、使用者權限配置
在每個倉庫下:有一個conf檔案夾,下面有三個檔案
svnserve.conf (svn設定檔)
authz (授權)
passwd (認證)
1)先配置svn設定檔----- svnserve.conf
#匿名訪問的許可權,可以是read,write,none,預設為read anon-access = none #認證使用者的許可權,可以是read,write,none,預設為write auth-access = write #使用者密碼的路徑,去掉前面的# password-db = passwd #許可權的路徑,去掉前面的# auth-db = authz
(註:所有的設定檔都必須行置頂,也就是說當前行最前面不能有空格)
2)再配置認證檔案------- passwd
[users]# harry = harryssecret# sally = sallyssecret# 使用者名稱 = 密碼xiaoqiang = 111xiaoming = 222xiaozi = 333
3)配置授權檔案-------- authz
[groups]group1=人員A,人員Bgroup2=人員C[倉庫名:/]@group1 = rw@group2 = r* = r #配置好所有使用者有讀的許可權,才能查看得到使用者自己提交的日誌
8、在伺服器上安裝tortoiseSVN(如果安裝的svn server 包含用戶端的 這一步可以跳過)
對於提交的檔案,svn有自己的一套儲存方式,所以當本地提交到svn伺服器的時候,伺服器版本庫裡看不到提交的檔案,這個時候需要在伺服器上安裝安裝tortoiseSVN,在網站根目錄檢出,才能看到提交的檔案
9、實現伺服器環境自動更新:
(通過設定hook(外掛程式)來自動更新在本地的每次提交,而不需要本地的每次提交都要在伺服器上面手動update)
1)、將hook下面的post-commit.tmpl檔案複製一份,修改尾碼為.bat檔案,再將一下內容拷貝進去
@echo offSET REPOS="$1"SET REV="$2"SET TXN_NAME="$3"SET DIR=%REPOS%/hooksSET PATH=%PATH%SET WORK=D:/WWW/truckwebsvn update %WORK% --username cntplus --password cntplus
D:/www/truckweb是當前程式碼程式庫的根目錄,之後在配置好帳號密碼即可(代碼中cntplus是帳號和密碼)。
10、限制必須輸入日誌
在hook目錄下添加pre-commit.bat,內容如下
SET REPOS=%1SET TXN=%2svnlook log -t "%TXN%" "%REPOS%" | findstr ".........." > nulif %errorlevel% gtr 0 goto errexit 0:errecho 日誌必須輸入,且長度不得小於10個字元。 1>&2exit 1
注意:findstr "......" 裡面的每個.就代表一個字元。如果(findstr "...")必須要輸入三個以上的字元
在windows伺服器上安裝subversion