最近項目中需要在SVN中做自動檢查顾稀,所以研究下SVN和相關內(nèi)容避咆,這里把SVN的配置和安裝方法記錄一下滋饲。
一. 安裝SVN
1. 因為要在虛擬機下工作,所以采用源碼的方式安裝SVN躲雅,先去http://subversion.tigris.org下載這兩個文件(版本號不固定):
subversion-1.6.1.tar.gz
subversion-deps-1.6.1.tar.gz
以上版本需要一致鼎姊。
2. 上傳以上兩個文件到服務器上(可以使用scp命令),解壓相赁,安裝相寇。解壓命令為:
tarxfvz subversion-1.6.1.tar.gz
tarxfvz subversion-deps-1.6.1.tar.gz
解壓后生成 subversion-1.6.1 子目錄,兩個壓縮包解壓后都會自動放到此目錄下钮科,不用手動更改唤衫。
進入解壓子目錄:
cd subversion-1.6.1
?./configure –prefix=/opt/subversion
make && make install
經(jīng)典的版本查看已確認是否安裝成功:svn --version,輸出版本號表示安裝成功绵脯。
二. 配置和創(chuàng)建
1. 創(chuàng)建一個本地的倉庫:
svnadmin create /Users/apple/svn
在/Users/apple/svn文件夾生成一些文件夾和文件佳励。
修改/svn/conf目錄下的三個文件:
打開svnserve.conf,將下列配置項前面的#和空格都去掉
#?anon-access?=?read
#?auth-access?=?write
#?password-db?=?passwd
#?authz-db?=?authz
打開passwd蛆挫,在[users]下面添加帳號和密碼赃承,比如:
[users]
admin=admin
表示用戶名和密碼都是admin,就像你的路由器一樣悴侵。
打開authz瞧剖,配置用戶組和權(quán)限
在[groups]下面添加組名和用戶名,多個用戶之間用逗號(,)隔開
[groups]
mypgroup=admin
表示將剛剛創(chuàng)建的admin用戶加入到mygroup這個組里去畜挨。
然后給這個組賦予權(quán)限筒繁,使用[/]代表svn服務器中的所有資源庫
[/]
@mypgroup=?rw
表示mypgroup這個組有讀和寫的權(quán)限。
2. 啟動倉庫
svnserve -d -r /Users/apple/svn 啟動剛剛創(chuàng)建的倉庫巴元,沒有消息就是好消息毡咏,說明啟動成功。
三. SVN使用
1.從本地導入代碼到服務器(第一次初始化導入)
svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=admin --password=admin -m "init import"
我解釋下指令的意思:將/Users/apple/Documents/eclipse_workspace/weibo中的所有內(nèi)容逮刨,上傳到服務器mycode倉庫的weibo目錄下呕缭,后面雙引號中的"初始化導入"是注釋
2.從服務器端下載代碼到客戶端本地
在終端中輸入svn checkout svn://localhost/mycode --username=admin --password=admin /Users/apple/Documents/code
我解釋下指令的意思:將服務器中mycode倉庫的內(nèi)容下載到/Users/apple/Documents/code目錄中
3.提交更改過的代碼到服務器
在步驟2中已經(jīng)將服務器端的代碼都下載到/Users/apple/Documents/code目錄中,現(xiàn)在修改下里面的一些代碼修己,然后提交這些修改到服務器
1> 打開終端恢总,先定位到/Users/apple/Documents/code目錄,輸入:cd/Users/apple/Documents/code
2> 輸入提交指令:svn commit -m "修改了main.m文件"
這個指令會將/Users/apple/Documents/code下的所有修改都同步到服務器端睬愤,假如這次我只修改了main.文件
可以看到終端的打印信息:
Sending????????weibo/weibo/main.m
Transmitting?file?data?.
Committed?revision2.
4.更新服務器端的代碼到客戶端
這個應該是最簡單的指令了片仿,在終端中定位到客戶端代碼目錄后,比如上面的/Users/apple/Documents/code目錄尤辱,然后再輸入指令:svn update
5.至于svn的其他用法砂豌,可以在終端輸入:svn help