1、基礎(chǔ)知識(shí)
Mac自帶了svn服務(wù)器端和客戶端功能,我們只需要簡(jiǎn)單配置一下即可使用。
svn上的文件不是以原來的格式存儲(chǔ)的,而是以FSFS(the Fast Secure File System)格式存儲(chǔ)的(SVN 兩種存儲(chǔ)格式(BDB和FSFS)區(qū)別)。
把文件上傳到SVN版本庫后,上傳的文件不再以文件原來的格式存儲(chǔ),而是被svn以它自定義的格式壓縮成版本庫數(shù)據(jù),存放在版本庫中。如果是FSFS格式,這些數(shù)據(jù)存放在版本庫的db目錄中,里面的revs和revprops分別存放著每次提交的差異數(shù)據(jù)和日志等信息 。(摘自:上傳的文件放在SVN服務(wù)器的哪個(gè)目錄下,上傳svn服務(wù)器目錄)
在協(xié)同開發(fā)中,版本控制是必備的。今天我想在我自己的電腦和公司電腦之間保持一些文檔的同步,通過QQ等工具傳來傳去的很不方便,沒有svn方便,之前也沒有自己搭建過svn服務(wù)器,所以順帶學(xué)習(xí)下如何搭建svn服務(wù)器。
2、查看系統(tǒng)自帶的svn版本等信息
在終端中輸入:svnserve -- version可以看到如下信息:
svnserve, version 1.7.19 (r1643991)
compiled Jun 17 2015, 13:48:11
Copyright (C) 2014 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository back-end (FS) modules are available:
fs_fs : Module for working with a plain file (FSFS) repository.
可見svn的存儲(chǔ)格式FSFS.
3、創(chuàng)建svn路徑path
使用命令或者直接在Finder中創(chuàng)建想要存放svn的路徑。
4、創(chuàng)建svn repository
在終端中輸入命令:svnadmin create /svn文件夾上層的路徑/svn/iOS這樣就創(chuàng)建成功了
我們看到iOS目錄下就多了這些內(nèi)容。
5、配置svn的用戶權(quán)限
打開conf目錄下的svnserve.conf文件,將下列配置項(xiàng)前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
再把anon-access=read修改為anon-access=none,這樣就禁止了匿名訪問,只有輸入賬號(hào)密碼才可以訪問。
6、配置svn賬號(hào)密碼
打開conf目錄下的passwd文件,仿照里面的注釋格式,修改為如下:
[users]
luHome = 123456
luWork = 123456
這樣就分配了兩個(gè)svn賬號(hào)以及登錄密碼。
7、配置svn用戶組和權(quán)限
打開conf目錄下的authz文件,在這里,我們可以對(duì)上面分配的svn賬號(hào)進(jìn)行分組管理,可以針對(duì)不同的分組和不同的賬號(hào)進(jìn)行不同的權(quán)限管理。
仿照里面的注釋格式,在 [groups]下面添加組名和用戶名,多個(gè)用戶之間用逗號(hào)(,)隔開。修改為如下:
[groups]
luGroup=luHome,luWork
[/]
@luGroup=rw
rw為可讀可寫
8、啟動(dòng)svn服務(wù)器
在終端中輸入:svnserve -d -r /svn文件夾上層的路徑/svn 【注意不是到iOS目錄】
如果終端沒有報(bào)錯(cuò)就表示啟動(dòng)成功了
這個(gè)時(shí)候打開活動(dòng)監(jiān)視器,搜索svn,即可看到
9、連接svn
這里介紹使用Mac下的Cornerstone來連接svn。使用終端命令來連接svn的可以參考:
打開Cornerstone,點(diǎn)擊REPOSITORIES下面的+號(hào),選擇SVN Server并填寫對(duì)應(yīng)的信息連接即可
注意:Mac自帶的svn默認(rèn)使用3690端口。
10、關(guān)閉svn
在活動(dòng)監(jiān)視器中選擇svnserve關(guān)閉即可。
參考: