閱讀860 返回首頁    go 阿裏雲 go 技術社區[雲棲]


svn服務端的安裝與使用方式簡介(一)

1.   SVN的安裝

第一步: 點擊Setup-Subversion-1.6.5.msi 

第二步:在F盤根目錄下建立文件夾software/SVN

第三步:將SVN安裝到F:\software\svn目錄下

第四步:設置環境變量(隻針對綠色版)

 變量名:path

 變量值:F:\software\svn\bin

第五步:在係統的命令行執行命令:

svnserve –-version

將顯示程序的版本信息

2.   SVN的配置

在F:\software路徑下建立一個repository文件夾

在F:\software\repository路徑下再建立一個SVN(用來存放數據倉庫)和CVS文件夾---如果不用CVS也可以直接使用repository作為根目錄存放數據倉庫

svnadmin create F:\software\repository\svn\mydb(倉庫名稱)這時我們會發現在F:\software\repository\svn路徑下多了一個名稱為mydb的文件夾,雙擊進去之後會發現有一些文件和文件夾,那麼這時就證明我們的數據倉庫已經建立好了。

上述這步操作也可用TortoiseSVN的快捷鍵來完成,即安裝TortoiseSVN後,在F:\software\repository\svn路徑下鼠標右鍵選擇TortoiseSVN--->create repository here,如果是多倉庫模式,需要先自己手動建立不同文件夾作為倉庫名稱,然後在創建數據倉庫。

F:\software\repository\svn\mydb這一路徑下的文件及文件夾解析:

db目錄:  就是所有版本控製的數據存放文件
hooks目錄:  放置hook腳本文件的目錄
locks目錄:   用來放置Subversion文件庫鎖定數據的目錄,用來追蹤存取文件庫的客戶端
conf目錄:     是這個倉庫的配置文件(倉庫的用戶訪問帳號、權限等)
format文件  是一個文本文件,裏麵隻放了一個整數,表示當前文件庫配置的版本號

啟用svn服務的兩種方式:

一、命令行啟動,我們使用服務器端命令 svnserve

svnserve -d -r F:\software\repository\svn\mydb(單倉庫)

啟動後查看端口使用情況,根據端口來判斷SVN是否啟動成功

netstat -an

看到3690端口服務,說明啟動成功

二、安裝svn後配置windows自動啟動服務(多倉庫)

在命令行內鍵入:

sc create SVN-Service binpath= "F:\software\svn\bin\svnserve.exe --service -r F:\software\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

binpath 指定svnserve 的路徑和命令

start= auto 表示服務自動啟動。注意:等於號的左邊無空格,而右邊必須有一個空格

Displayname----服務的顯示名稱、start= auto ---表示自動啟動、depend
在此命令中-r(--root)項目版本倉庫的根目錄----數據倉庫的路徑

3.   SVN通過基於服務的方式使用

查看服務是否添加成功,可以選擇windows 控製麵板--》》管理工具--》》服務 會發現列表中有SVN-service服務

啟動服務   net start SVN-Service   也可手動去啟動服務

如果要刪除服務    sc delete SVN-Service

當我們配置成多倉庫的時候,如何訪問每一個具體的倉庫呢?

svn://127.0.0.1/mydb

如果配置成了單倉庫模式那麼直接訪問:svn://127.0.0.1/即可

4.   當以上完全配置成功以後,就完成了基本的服務端的配置,默認的SVN會配置一個客戶端,但是是基於命令行的方式使用

›svn checkout -從版本庫取出一個工作拷貝

›svn commit -將改動的文件提交到版本庫

›svn update -更新你的工作拷貝

›svn add-向版本庫中添加新文件

›svn delete-從版本庫中刪除文件

›svn revert-取消所有的本地編輯

›svn info-顯示本地或遠程條目的信息

svn list-列出版本庫目錄的條目

›svn status-查看當前工作區狀態

›svn help-獲取幫助信息

5.   Subversion版本控製係統的一個免費開源客戶端TortoiseSVN

在F:\software路徑下建立一個名稱為TortoiseSVN目錄,然後將TortoiseSVN安裝到這一目錄下,然後重啟電腦

這個時候就完成了SVN以及其GUI客戶端的完全配置。

6.   如何從服務器獲取到項目?如何將已有的項目納入SVN管理?

首先在磁盤中建立一個文件夾作為存放數據的地址,然後鼠標右鍵選擇SVN Checkout

然後在URL of repository:中輸入具體的數據倉庫的地址:svn://127.0.0.1/mydb,再在Checkout directory中輸入要存放數據的地址(剛建立好的)

其它選項不必修改,然後選擇OK選項。

這樣就完成了從數據倉庫中獲取數據了。

-------------------------------------------------------------------------

要想將我們自己的項目納入的SVN管理,我們可以先在服務器端創建一個數據倉庫,然後同樣在客戶端建立一個文件目錄,然後選擇SVN Checkout

URL of repository 內填寫我們新創建好的數據倉庫地址,然後選擇OK,這個時候我們會發現在Checkout directory指定的路徑下會多出一個.svn的文件夾(可能是隱藏
的),這個時候我們可以將我們需要納入SVN管理的文件或者文件夾拷貝到這一目錄下,然後我們會發現這個文件的上麵會多一個藍色問號標識,我們鼠標右擊該文件
或文件夾,選擇TortoiseSVN選項,我們發現在彈出的菜單中有一個add選項,單擊該選項然後再刷新,我們會發現該文件或文件夾上的標識變成了藍色的加號,我們再次鼠標右擊該文件,選擇SVN commit即可。

7.   配置SVN使用權限

svnserve.conf    定義所有認證和授權政策
passwd     存放項目成員帳戶信息
authz     主要是做複雜的群組權限控製

打開svnserve.conf文件,配置下屬幾個參數(原參數都為注釋起來的,可以去掉前麵的#,但是一定要把空格也去掉)
# anon-access = read
anon-access = none               ------表示 匿名用戶沒有任何權限

# auth-access = write              
auth-access = write                 ------表示 通過認證的用戶具有寫的權限

# password-db = passwd
password-db = passwd         ------表示用戶名和密碼的文件是 passwd 這一文件

# authz-db = authz
authz-db = authz                      ------表示 做SVN用戶和用戶組的權限控製

打開passwd文件,配置SVN的用戶名和密碼,通常是以鍵值對的形式,但是有一點缺陷就是密碼為明文。使用apache的方式可避免這一問題。
user1 = password
user2 = password2

打開authz文件
首先配置用戶組和用戶,用戶以逗號隔開
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
usersgroup = user1,user2,user3            ------配置一個用戶組,包含3個用戶

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

[mydb:/]                                    ------如果隻需要對mydb進行管理,此配置即可。

@usersgroup = rw                ------表示usersgroup用戶組有讀寫權限
user4 = r                                 -------如果想對某一用戶設置特殊權限或者說是與用戶組內不同權限,可以直接對其進行單獨配置,也可以重新創建用戶組並配置其權限
* = r                                          -------表示除usersgroup以為其他用戶隻有讀的權限,如果要配置其他用戶無任何權限,那麼將其配置為 空 即可

如果mydb目錄下又包含了其他的許多文件,這個時候想對其內文件進行細粒度權限控製,就要增加如下進行配置:
[mydb:/source]
user5 = rw
* = 
    

如果權限保護目錄為中文,則必須將authz文件利用ultraedit工具轉存為UTF-8 無BOM 格式,否則權限不生效


最後更新:2017-04-02 06:52:06

  上一篇:go android ListView中Checkbox實現單選,全選,全不選功能
  下一篇:go 創建一個Android模擬器