在MacOS下快速搭建一個(gè)SVN服務(wù)器
在Windows環(huán)境下,我們可以使用TortoiseSVN來(lái)搭建SVN服務(wù)器環(huán)境。但是,在MacOS下,由于自帶了SVN服務(wù)端和客戶端,我們可以不需要第三方工具就能夠搭建SVN環(huán)境。只需要進(jìn)行一些簡(jiǎn)單
在Windows環(huán)境下,我們可以使用TortoiseSVN來(lái)搭建SVN服務(wù)器環(huán)境。但是,在MacOS下,由于自帶了SVN服務(wù)端和客戶端,我們可以不需要第三方工具就能夠搭建SVN環(huán)境。只需要進(jìn)行一些簡(jiǎn)單的配置即可。
1. 創(chuàng)建代碼倉(cāng)庫(kù)
首先,在根目錄下新建一個(gè)svn目錄svnroot,用來(lái)作為SVN的總目錄。以后可以在該目錄下創(chuàng)建多個(gè)倉(cāng)庫(kù)目錄。使用命令行創(chuàng)建svnadmin目錄:
sudo mkdir svnroot
然后,在該目錄下創(chuàng)建一個(gè)SVN倉(cāng)庫(kù)。例如,我們可以創(chuàng)建一個(gè)名為svncode的倉(cāng)庫(kù)。輸入以下指令創(chuàng)建:
sudo svnadmin create svnroot/svncode
2. 配置SVN的用戶權(quán)限
修改svncode/conf目錄下的三個(gè)文件:
a) 修改文件
打開文件,并將下列配置項(xiàng)前的注釋符號(hào)和空格都去掉:
anon-access read
這表示匿名訪問(wèn)時(shí)只有讀權(quán)限。如果改為:
anon-access none
則表示禁止匿名訪問(wèn),需要賬號(hào)密碼才能訪問(wèn)。
b) 修改passwd文件
在[users]下面添加賬號(hào)和密碼:
[users] username1 password1 username2 password2
c) 配置用戶組和權(quán)限
可以將passwd中的用戶分配到不同的用戶組中。這樣,在分配權(quán)限時(shí),不需要對(duì)每個(gè)用戶進(jìn)行操作,只需對(duì)用戶所在的用戶組進(jìn)行權(quán)限分配。
打開authz文件,在[groups]下新增用戶組和用戶。多個(gè)用戶之間用逗號(hào)(,)隔開。
[groups] topgroup admin,test
上述配置表示admin和test都屬于topgroup這個(gè)組。
3. 設(shè)置用戶組的權(quán)限
打開authz文件,在[/*]下設(shè)置用戶組的權(quán)限。
[/*] @topgroup rw
上述配置表示對(duì)topgroup這個(gè)組中的用戶設(shè)置讀寫權(quán)限。用戶組名前要加個(gè)@符號(hào)。如果只對(duì)某個(gè)用戶進(jìn)行設(shè)置,不需要加@。
4. 啟動(dòng)SVN服務(wù)器
配置完成后,可以嘗試啟動(dòng)SVN服務(wù)器。在終端輸入以下指令:
svnserve -d -r /svnroot
如果沒有任何提示,則說(shuō)明啟動(dòng)成功。
5. 關(guān)閉SVN服務(wù)器
如果你想要關(guān)閉SVN服務(wù)器,最有效的方法是打開“活動(dòng)監(jiān)視器”(位于應(yīng)用程序/實(shí)用工具)。在活動(dòng)監(jiān)視器中搜索svn,找到SVN服務(wù)的進(jìn)程,點(diǎn)擊退出進(jìn)程即可。
6. 導(dǎo)入和拉取代碼
接下來(lái),你可以將本地的代碼導(dǎo)入到服務(wù)器中,或者從服務(wù)器上拉取代碼。
a) 導(dǎo)入代碼到服務(wù)器
從本地導(dǎo)入代碼到SVN服務(wù)器(第一次初始化導(dǎo)入):
svn import <代碼路徑> svn://localhost/svncode/firstApp --usernametest --password123456 -m "初始化導(dǎo)入"
這條命令的意思是將代碼路徑中的所有內(nèi)容上傳到服務(wù)器的svncode倉(cāng)庫(kù)的firstApp目錄下。-m表示注釋信息。
b) 從服務(wù)器上拉取代碼
使用以下命令從服務(wù)器上拉取代碼:
svn checkout svn://localhost/svncode --usernametest --password123456 <本地路徑>
這將把服務(wù)器svncode倉(cāng)庫(kù)中的所有內(nèi)容下載到本地路徑目錄中。