Mac OS下配置SVN
本篇文章內(nèi)容來源于網(wǎng)絡,僅作為日常記錄與學習
1.查看Mac是否安裝了svnserve
$ svnserve --version
2.創(chuàng)建倉庫
$ svnadmin create 路徑/目錄

3.配置SVN
進入svn/conf目錄,修改配置文件svnserve.conf、passwd、authz。
svnserve.conf權限配置
打開svnserve.conf文件,去掉以下語句的注釋(#)
# anon 訪問限制
# anon-access = read
# 用戶限制
# auth-access = write
# 用戶和密碼權限配置文件名
# password-db = passwd
# authz-db = authz
其中權限配置:read/write/none
passwd賬戶配置
打開passwd文件,添加用戶,格式:username = passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test1 = 123456
authz用戶組配置
打開authz文件,添加用戶組,并設置訪問權限
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
## 添加 SVN分組 = 用戶1, 用戶2
svn_group = test1, test2
## 設置根目錄下 用戶組權限
[/]
## @組名 = 可讀寫(rw)
@svn_group = rw
4.啟動SVN服務
執(zhí)行$ sudo svnserve -d -r /svn,如果沒有任何輸出,則SVN基本啟動成功。
驗證SVN服務是否啟動成功
SVN的默認端口是3690,可以通過telnet localhost 3690命令測試鏈接。
$ telnet localhost 3690
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops atomic-revprops partial-replay inherited-props ephemeral-txnprops file-revs-reverse ) ) )
或者通過Mac的活動監(jiān)視器查看svnserve是否啟動,進程號為pid。

5.關閉SVN
5.1 通過終端關閉SVN
# 查看svn進程號
ps aux | grep svn
gemas 66641 0.0 0.0 2432804 784 s000 S+ 1:35下午 0:00.00 grep svn
gemas 66632 0.0 0.0 2444504 328 ?? Ss 1:33下午 0:00.00 /Applications/Xcode.app/Contents/Developer/usr/bin/svnserve -d -r /Users/apple/Desktop/svn
# 第一個參數(shù) 66641為進程號
# sudo kill -9 進程號
sudo kill -9 66641
5.2通過活動監(jiān)視器關閉SVN
在活動監(jiān)視器中,??svn,選中進程,點擊 “x”關閉

FAQ
1.上傳的文件放在SVN服務器的哪個目錄下
SVN服務器版本庫有兩種格式,一種為FSFS,一種為BDB。
把文件上傳到SVN版本庫后,上傳的文件不再以文件原來的格式存儲,而是被svn以它自定義的格式壓縮成版本庫數(shù)據(jù),存放在版本庫中。
如果是FSFS格式,這些數(shù)據(jù)存放在版本庫的db目錄中,里面的revs和revprops分別存放著每次提交的差異數(shù)據(jù)和日志等信息
2.怎把指定文件夾上傳到SVN服務器?
一般來說新建項目是在服務器端操作的,每個項目作為一個獨立的版本庫進行管理。
當然你可以可以把這個項目當作服務器上某個版本庫下面的一個文件夾進行管理,但是會導致這個項目的版本號看起來是不連續(xù)的,因為SVN是用版本號標注整個版本庫的狀態(tài)。
你如果確定想把這個項目當成某個版本庫的一個文件夾進行管理的話,那么就這么做:
首先,用TSVN檢出那個版本庫到本地;
然后,將這個項目復制到本地這個版本庫的某個文件夾下面;
最后,用TSVN增加并提交這個文件夾。
3.代碼上傳到svn 服務器后將代碼存儲在什位置了,怎么找不到
文件是以加密形式存在的,所以你看不到,只是一堆無序的文件
參考
資料
使用Subversion進行版本控制
mac os 開機啟動svn服務(svnserve)
局域網(wǎng)內(nèi)的用戶連接SVN
創(chuàng)建基于HTTP協(xié)議的SVN版本控制服務(Apache)