Ubuntu 搭建 svn伺服器
Luo
Weifeng 2011-3-13
轉載請保留原址:
http://blog.csdn.net/luoweifeng1989/archive/2011/03/14/6247481.aspx
安裝Subversion
#apt-get
install subversion
建立儲存倉庫
#mkdir /home/svnrepos
#svnadmin
create /home/svnrepos/TestProject
修改配置
#cd
/home/svnreos/TestProject/conf
#vim svnserve.conf
取消下面幾行的注釋:
anon-access = read #匿名使用者許可權(read,write,none)
auth-access = write #認證使用者權限(read,write,none)
password-db = passwd #使用者賬戶管理(passwd 為檔案名稱,這裡使用了相對路徑)
#vim passwd
添加svn使用者
svnuser = password #指定(使用者名稱 = 密碼)
匯入項目
假如項目在/opt/TestProject 目錄
#svn import –m “My TestProject Imported”
/opt/TestProject file:///home/svnrepos/TestProject
提交後提示版本為1
啟動SVN伺服器
#svnserve –d –r /home/svnrepos --listen-host 172.31.134.100 (Your Ip Addr)
注意:這裡svnrepos後邊不能有/,新版本的svn需要 把 --listen-host 172.31.134.100 替換成 --listen-port 3690)
-d: 在後台運行
-r: 指定svn伺服器根目錄
--listen-host: 指定監聽IP
測試SVN
在其他機器上使用 svn://172.31.134.100/TestProject
使用者名稱:svnuser 密碼:password
訪問svn服務。
附錄A 開機自動啟動svn服務
在 /etc/init.d 目錄下謝一個指令碼svnd.sh,內容如下:
#!/bin/bash
/usr/bin/svnserve -d -r /home/svnrepos
然後執行:
#update-rc.d svnd.sh defaults
#chmod 777 /etc/init.d/svnd.sh
B 移除整個資料倉儲
直接刪除資料倉儲。例如
#rm –fR /home/svnrepos/TestProject
C 移出某個項目
#rm -Rf /home/svnrepos/TestProject
D 移出特定目錄
建一個新的檔案夾,準備放dump出來的檔案。把程式碼程式庫dump出來
#svnadmin dump
/home/svnrepos/TestProject > a.dump
使用svndumpfilter過濾掉要刪除的目錄$
#cat a.dump
|svndumpfilter exclude /home/svn/TestProject/SubFounder > b.dump
(windows 下將cat換成type)
#rm –fR /home/svnrepos/TestProject
#svnadmin create
/home/svnrepos/TestProject
建一個新庫,將出來過的檔案load到新庫中
#svnadmin
load /home/svnrepos/TestProject <
b.dump
E Windows下用戶端TortoiseSVN清除記錄的賬戶
案頭右鍵,TortoiseSVN->setting->Save Data
點擊不同按鈕清除。
F 常用命令
取出指定版本,如取出版本 2:
svn checkout --revision 2 svn://....
顯示提交日誌資訊:
svn log
顯示庫中的最新資訊:
svn log --revision HEAD
另外在 Linux 上還有一個基於 Qt 的圖形化的協助工具輔助 eSvn。
sudo apt-get install esvn