看了很多網上的教程,都嘗試着做了,但可能是由於不熟的原因,總也配置不對,現在把我的過程記錄下來,希望不要重複以前的錯誤。
一、配置使用
1、安裝svn很簡單,一句命令行的事,剩下的就是yes,yes了。
sudo apt-get install subversion
2、安裝完成過後,創建倉庫文件
$sudo mkdir -p /opt/subverdion/svn ###創建版本庫目錄
$sudo svnadmin create /opt/subversion/svn ###創建版本庫,生成配置文件
這裏特別注意的是,我們的版本庫名字就是svn,以後我們把代碼放在svn下面,而不是和svn並行放置
3、配置svn,配置文件都在 /opt/subversion/svn/conf文件下面,首先進入這個文件
cd /opt/subversion/svn/conf
然後進行修改文件
修改svnserve.conf文件
a、去掉#[general]前面的#號
[general]
b、#匿名訪問的權限,可以使read/write/none,默認是read
anon-access = none
c、#認證用戶的權限,可以使read/write/none,默認爲write
auth-access = write
d、#密碼數據庫的路徑,去掉前面的#
passw-db = passwd
注意:其中 anon-access 和auth-access 分別爲匿名和有權限用戶的權限,默認給匿名用戶只讀的權限,但如果想拒絕匿名用戶的訪問,只需把 read 改成 none 就能達到目的。
修改password文件
參考如下
[users]
root = 123
test1 = test1
修改auhz文件
[/]
root=rw
test1=r
4、使用
1)啓動svnserve服務
sudo svnserve –d –r /opt/subversion
描述說明:-d: 表示 svnserve 以“守護”進程模式運行
-r: 指定文件系統的根位置(版本庫的根目錄),這樣客戶端不用輸入全路徑,就可以訪問版本庫svn:如:svn://192.168.12.118/svn
2)查看當前最新版本修訂號
sudo svnlook youngest /opt/subversion
3)查看是否啓動成功
sudo netstat -antp | grep svnserve
4)關閉服務器(這個運行了,記得打開服務不然後面無法運行)
sudo killall svnserve
5)導入svn工程
sudo svn import -m "New import" /home/test svn://localhost/svn
這裏把/home/test文件下面的項目導入到svn文件夾中了,svn://localhost/svn,如果不適用的話,可以換成svn://127.0.0.1/svn
6)導出svn工程
打開你要導出的文件,然後運行下面的命令:
sudo svn checkout svn://127.0.0.1/subversion/svn
6)提交
svn commit -m “提交備註信息文本“ [-N] [--no-unlock] 文件名
svn ci -m “提交備註信息文本“ [-N] [--no-unlock] 文件名
必須帶上-m參數,參數可以爲空,但是必須寫上-m
例子:
svn commit -m “提交當前目錄下的全部在版本控制下的文件“ * <- 注意這個*表示全部文件
svn commit -m “提交我的測試用test.php“ test.php
svn commit -m “提交我的測試用test.php“ -N --no-unlock test.php <- 保持鎖就用–no-unlock開關
svn ci -m “提交當前目錄下的全部在版本控制下的文件“ * <- 注意這個*表示全部文件
svn ci -m “提交我的測試用test.php“ test.php
svn ci -m “提交我的測試用test.php“ -N --no-unlock test.php <- 保持鎖就用–no-unlock開關
二、遇到的錯誤
1、Can’t open file ‘XXXXXXXX/db/txn-current-lock’: 拒絕訪問。
Error1: Can’t open ‘db/txn-current-lock’: Permission denied
解決方法:添加讀寫權限。
sudo chmod –R o+rw /home/svn
借鑑文章