Mac OS下配置SVN
本篇文章內(nèi)容來源于網(wǎng)絡(luò),僅作為日常記錄與學(xué)習(xí)
1.查看Mac是否安裝了svnserve
$ svnserve --version
2.創(chuàng)建倉庫
$ svnadmin create 路徑/目錄
3.配置SVN
進(jìn)入svn/conf
目錄,修改配置文件svnserve.conf
、passwd
、authz
。
svnserve.conf權(quán)限配置
打開svnserve.conf
文件,去掉以下語句的注釋(#
)
# anon 訪問限制
# anon-access = read
# 用戶限制
# auth-access = write
# 用戶和密碼權(quán)限配置文件名
# password-db = passwd
# authz-db = authz
其中權(quán)限配置:read/write/none
passwd賬戶配置
打開passwd
文件,添加用戶,格式:username = passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test1 = 123456
authz用戶組配置
打開authz
文件,添加用戶組,并設(shè)置訪問權(quán)限
# 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
## 設(shè)置根目錄下 用戶組權(quán)限
[/]
## @組名 = 可讀寫(rw)
@svn_group = rw
4.啟動SVN服務(wù)
執(zhí)行$ sudo svnserve -d -r /svn
,如果沒有任何輸出,則SVN基本啟動成功。
驗(yàn)證SVN服務(wù)是否啟動成功
SVN的默認(rèn)端口是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是否啟動,進(jìn)程號為pid。
5.關(guān)閉SVN
5.1 通過終端關(guān)閉SVN
# 查看svn進(jìn)程號
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為進(jìn)程號
# sudo kill -9 進(jìn)程號
sudo kill -9 66641
5.2通過活動監(jiān)視器關(guān)閉SVN
在活動監(jiān)視器中,??svn,選中進(jìn)程,點(diǎn)擊 “x”關(guān)閉
FAQ
傳的文件放在SVN服務(wù)器的哪個目錄下,上傳svn服務(wù)器目錄
1.上傳的文件放在SVN服務(wù)器的哪個目錄下
SVN服務(wù)器版本庫有兩種格式,一種為FSFS,一種為BDB。
把文件上傳到SVN版本庫后,上傳的文件不再以文件原來的格式存儲,而是被svn以它自定義的格式壓縮成版本庫數(shù)據(jù),存放在版本庫中。
如果是FSFS格式,這些數(shù)據(jù)存放在版本庫的db目錄中,里面的revs和revprops分別存放著每次提交的差異數(shù)據(jù)和日志等信息
2.怎把指定文件夾上傳到SVN服務(wù)器?
一般來說新建項(xiàng)目是在服務(wù)器端操作的,每個項(xiàng)目作為一個獨(dú)立的版本庫進(jìn)行管理。
當(dāng)然你可以可以把這個項(xiàng)目當(dāng)作服務(wù)器上某個版本庫下面的一個文件夾進(jìn)行管理,但是會導(dǎo)致這個項(xiàng)目的版本號看起來是不連續(xù)的,因?yàn)镾VN是用版本號標(biāo)注整個版本庫的狀態(tài)。
你如果確定想把這個項(xiàng)目當(dāng)成某個版本庫的一個文件夾進(jìn)行管理的話,那么就這么做:
首先,用TSVN檢出那個版本庫到本地;
然后,將這個項(xiàng)目復(fù)制到本地這個版本庫的某個文件夾下面;
最后,用TSVN增加并提交這個文件夾。
3.代碼上傳到svn 服務(wù)器后將代碼存儲在什位置了,怎么找不到
文件是以加密形式存在的,所以你看不到,只是一堆無序的文件
參考
Mac OS下配置svn(包括啟動和關(guān)閉服務(wù))
資料
使用Subversion進(jìn)行版本控制
mac os 開機(jī)啟動svn服務(wù)(svnserve)
局域網(wǎng)內(nèi)的用戶連接SVN
創(chuàng)建基于HTTP協(xié)議的SVN版本控制服務(wù)(Apache)