window平臺安裝和使用SVN服務

需要的軟件
1.TortoiseSVN
2.SVN.1.4以上的EXE 安裝版(壓縮版的也可以,只是需要需要配置PATH=$SVN$/bin)

這兩個軟件可以不按順序安裝.

安裝的步驟就很簡單了,在這裏就不廢話了.
:shock:
(測試安裝SVN是否成功---打開CMD,輸入svnserve 如果報錯就沒安裝好,一般人不會出現.
測試安裝小烏龜是否成功---在任意目錄,按右鍵看看可有小烏龜的圖標就可以了!)

3,建立版本庫(Repository)

運行Subversion服務器需要首先要建立一個版本庫(Repository),可以看作服務器上存放數據的數據庫,在安裝了Subversion服務器之後,可以直接運行,如:

svnadmin create E:\svndemo\repository
就會在目錄E:\svndemo\repository下創建一個版本庫。

我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->Create Repository here...“, 然後可以選擇版本庫模式, 這裏使用默認即可, 然後就創建了一系列目錄和文件。


4,配置用戶和權限

svn的權限管理涉及到一下文件:
passwd文件 -- /conf目錄下 用於存放本svn庫的用戶名和密碼,用 = 分割,左邊是用戶名,右邊是密碼(明文)。
authz -- /conf目錄下 用於存放本svn庫的訪問授權信息。
svnserve.conf -- /conf目錄下 用於存放本svn庫的全局訪問控制信息。

來到E:\svndemo\repository\conf目錄,修改svnserve.conf:
# [general]
# password-db = passwd
改爲:
[general]
password-db = passwd 然後修改同目錄的passwd文件(設置用戶密碼),去掉下面三行的註釋再加兩個用戶:
# [users]
# harry = harryssecret
# sally = sallyssecret
最後變成:
[users]
harry = harryssecret
sally = sallyssecret
svnadmin = admin
zgz = zgz0809
最後修改同目錄的authz文件,它定義了兩部分的內容:
1,對組成員的定義,
2,對目錄的授權定義,
可以針對一個單一用戶授權,也可以針對在[groups]裏面定義的一個組授權,還可以用*通配符來對所有的用戶授權,
授權的選項有:只讀訪問('r'),讀寫訪問('rw'),或者無權防問('').
authz文件中可以對任意多個目錄進行權限控制,一下是一個例子:

[groups]
harry_and_sally = harry,sally
#設定權限組

[/]
svnadmin = rw

[/truck]
zgz = rw
harry = rw
sally = r
* = r

[/sanguo]
zgz = rw
harry = r
sally = rw
* = r

[/ts]
@harry_and_sally = rw
# 以@爲鍵值意味着對前面定義的組進行授權
* = r

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

用戶svnadmin權限最大,他可以進行根目錄(注意:是服務器目錄svn://localhost/,下邊會介紹的)下所有文件(包括子目錄下的文件)的讀寫操作,而/truck,/sanguo,/ts是在服務器的根目錄下創建的三個子目錄。
用戶zgz 和harry對 /truck具有讀寫權限,sally 只有讀的權限。
用戶zgz 和sally對 /sanguo具有讀寫權限,harry 只有讀的權限。
用戶harry 和sally對 /ts具有讀寫權限,zgz只有讀的權限。(* = r 表示所有用戶都具有讀的權限,當然zgz也就自然具有了。注意這裏 @harry_and_sally = rw 表示給harry_and_sally組所有用戶授權,該組在上邊[groups]標籤中已定義)

注意:如果用戶對一個目錄具有某種權限,那麼他對其子目錄也有同樣的權限(例如:svnadmin),所以在授權時要特別注意,儘量只付給滿足用戶需要的最小的權限。

5,運行獨立服務器

在任意目錄下運行:
svnserve -d -r E:\svndemo\repository 我們的服務器程序就已經啓動了。注意不要關閉命令行窗口,關閉窗口也會把svnserve停止。爲了方便,可以把svnserve作爲服務,在XP下控制檯窗口可以運行,創建服務命令:

sc.exe create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r E:\svndemo\repository" depend= tcpip
如果加錯了可以用:sc delete "SVNService" 命令刪除服務。
加好後可以在控制面板的服務選項中找到它,把它啓動類型設爲手動,然後啓動一下看看有沒有問題。


注意:

1."D:\Subversion"是SVN服務器端的安裝路徑,"E:\svndemo\repository"是版本庫的路徑,視具體情況而定。
2. 等號前無空格後有空格。
3. 應使用參數“--service”而不是“-d”,參數前面的橫線不是一個是兩個。
4. binpath內套的路徑如果包含空格,也需要使用雙引號,此時需要使用轉義符表示內部的引號(\")。
5.使用“SVNService.exe”將SVN作爲Window服務運行(Subversion1.4之前版本也可使用)
SVNService.exe -install -d -r E:\svndemo\repository

如果到現在你的操作都很成功,並且沒有什麼問題的話,那麼你離成功已經很近了!

現在我們在E:\svndemo\repository 下建立一個文件夾project1(在正事開發中,此文件夾就是你的項目文件夾),然後在裏面建立一個TXT文件,隨便啥都行.
然後對着這個文件夾點右鍵->TortoiseSVN->Import ,這樣就把這個project1給加入到SVN管理庫了.

然後你可以任意的目錄去CHECKOUT了,本機是 svn://127.0.0.1/repository/project1 這樣就可以把這個project1裏的東西全CHECKOUT下來了.
如果是外網就要換IP地址了!!

如果有疑問請聯繫QQ 22534594
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章