PS:
SVN是一個控制版本的利器. ?是Subversion的簡稱,是一個開放源代碼的版本控制系統(tǒng)眼滤,相較于RCS巴席、CVS,它采用了分支管理系統(tǒng)诅需,它的設計目標就是取代CVS漾唉。互聯(lián)網(wǎng)上很多版本控制服務已從CVS遷移到Subversion堰塌。說得簡單一點SVN就是用于多個人共同開發(fā)同一個項目赵刑,共用資源的目的。
軟件環(huán)境:?
CentOS7 ;
初級教程:?
Step1: ?安裝svn 服務器
yum install subversion
# 普通用戶使用 ?sudo yum 命令安裝
Step2: 創(chuàng)建SVN 倉庫
在設置svn 倉庫的時候我希望自己的SVN 是這樣子的:?
也就是說將來在? /home/liz/paper_svn 目錄下面會建立很多的svn 倉庫. ?首先需要保證這個目錄存在.?
所以,我們先建立這個目錄:
mkdir -p /home/liz/paper_svn ?# 創(chuàng)建目錄
cd ?/home/liz/paper_svn # 由于要在給目錄下創(chuàng)建倉庫,所以要切換到/home/liz/paper_svn 目錄下
在該目錄下我們可以創(chuàng)建屬于自己的倉庫
svnadmin create? ./ecgProject # 在當前目錄下創(chuàng)建SVN 版本庫
創(chuàng)建好了以后, svnadmin 下會創(chuàng)建以下文件夾( 命令 ?ls -al ecgProject/)
其中,? conf? 存放的是與版本庫相關(guān)的配置文件,這個目錄是稍后的重點操作對象
這里給出一個表格
revs下面是以目錄組織的版本結(jié)構(gòu)场刑,每1000個版本組成一個目錄般此,每個版本自成一個文件,文件名即為commit后生成的版本號牵现;即使刪除掉部分版本也不會影響版本庫的讀取和顯示铐懊;但是基礎(chǔ)版本丟失會使版本庫無法訪問;
Step3. 修改版本庫的配置文件
3.1 創(chuàng)建svn 用戶:
svn 用戶的信息保存在 conf/passwd 文件中.
所以:?
vim ./ecgProject/conf/passwd ?# 編輯passwd 并添加用戶
找到[users]并在下方寫出 ?<用戶名>=<密碼>? , ?編輯內(nèi)容如下下圖所示.?
3.2 設置用戶的權(quán)限
編輯authz 文件
vim ./ecgProject/conf/authz
設置版本庫的所有者
[groups]
authors=<用戶名1>[,用戶名2]
設置版本庫的 所有者的權(quán)限?
[<版本庫的名字>:<svn相對路徑>]
@authors=rw
*=
如下圖所示:
3.4 服務器的版本設置
[general]
下面把 以下字段的注釋打開:?
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
like this:
這里給出詳細的:
### Visit http://subversion.apache.org/ for more information.
[general]
### Theanon-access and auth-access options control access to the
### repository for unauthenticated (a.k.a.anonymous) users and
### authenticated users, respectively.
### Valid values are "write", "read", and "none".
### Setting the value to "none" prohibits both reading and writing;
### "read" allows read-only access, and "write" allows complete
### read/write access to the repository.
### The sample settings below are the defaults and specify thatanonymous
### users have read-only access to the repository, while authenticated
### users have read and write access to the repository.
anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file.Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.The default realm
### is repository's uuid.
# realm = My First Repository
### The force-username-case option causes svnserve to case-normalize
### usernames before comparing them against the authorization rules in the
### authz-db file configured above.Valid values are "upper" (to upper-
### case the usernames), "lower" (to lowercase the usernames), and
### "none" (to compare usernames as-is without case conversion, which
### is the default behavior).
# force-username-case = none
Step4 開啟服務:
注意我們的目錄地址 ?是到版本路的父目錄上
svnserve-d -r /home/liz/paper_svn/ecgProject/ ?# -r 代表地遞歸的 , -d 代表目錄
Step5 結(jié)束服務進程
ps -e |grep svn
?kill <進程號>
Mac 客戶端的安裝
http://www.subversiondownload.com/macosx
or?
尋找 Cornerstone303[MAS].dmg 的破解版吧 ??
我用的是破解版.
Cornerstone 客戶端安裝好以后是這個樣子, 經(jīng)過半天摸索以后知道在哪里寫倉庫信息了 ?:(?
如圖
會彈出以下方框 ?
其中紅色的方框填寫你的服務器IP , 藍色填寫你的地址 要與你在authz中寫的一致
綠色填寫你的用戶名, 要與passwd中寫的一致
可能出現(xiàn)的錯誤:
錯誤代碼 20001 ;
應該是你寫的conf 的時候, 某一行的開頭出現(xiàn)空格導致的
錯誤代碼20051: 應該是你的路徑寫錯了