1、基礎知識
Mac自帶了svn服務器端和客戶端功能,我們只需要簡單配置一下即可使用。
svn上的文件不是以原來的格式存儲的,而是以FSFS(the Fast Secure File System)格式存儲的(SVN 兩種存儲格式(BDB和FSFS)區別)。
把文件上傳到SVN版本庫后,上傳的文件不再以文件原來的格式存儲,而是被svn以它自定義的格式壓縮成版本庫數據,存放在版本庫中。如果是FSFS格式,這些數據存放在版本庫的db目錄中,里面的revs和revprops分別存放著每次提交的差異數據和日志等信息 。(摘自:上傳的文件放在SVN服務器的哪個目錄下,上傳svn服務器目錄)
在協同開發中,版本控制是必備的。今天我想在我自己的電腦和公司電腦之間保持一些文檔的同步,通過QQ等工具傳來傳去的很不方便,沒有svn方便,之前也沒有自己搭建過svn服務器,所以順帶學習下如何搭建svn服務器。
2、查看系統自帶的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的存儲格式FSFS.
3、創建svn路徑path
使用命令或者直接在Finder中創建想要存放svn的路徑。
4、創建svn repository
在終端中輸入命令:svnadmin create /svn文件夾上層的路徑/svn/iOS這樣就創建成功了
我們看到iOS目錄下就多了這些內容。
5、配置svn的用戶權限
打開conf目錄下的svnserve.conf文件,將下列配置項前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
再把anon-access=read修改為anon-access=none,這樣就禁止了匿名訪問,只有輸入賬號密碼才可以訪問。
6、配置svn賬號密碼
打開conf目錄下的passwd文件,仿照里面的注釋格式,修改為如下:
[users]
luHome = 123456
luWork = 123456
這樣就分配了兩個svn賬號以及登錄密碼。
7、配置svn用戶組和權限
打開conf目錄下的authz文件,在這里,我們可以對上面分配的svn賬號進行分組管理,可以針對不同的分組和不同的賬號進行不同的權限管理。
仿照里面的注釋格式,在 [groups]下面添加組名和用戶名,多個用戶之間用逗號(,)隔開。修改為如下:
[groups]
luGroup=luHome,luWork
[/]
@luGroup=rw
rw為可讀可寫
8、啟動svn服務器
在終端中輸入:svnserve -d -r /svn文件夾上層的路徑/svn 【注意不是到iOS目錄】
如果終端沒有報錯就表示啟動成功了
這個時候打開活動監視器,搜索svn,即可看到
9、連接svn
這里介紹使用Mac下的Cornerstone來連接svn。使用終端命令來連接svn的可以參考:
打開Cornerstone,點擊REPOSITORIES下面的+號,選擇SVN Server并填寫對應的信息連接即可
注意:Mac自帶的svn默認使用3690端口。
10、關閉svn
在活動監視器中選擇svnserve關閉即可。
參考: