1. 檢測系統是否安裝了svn
:
檢測命令 : rpm -qa subversion
如果已經安裝了svn,需要卸載可用命令 : yum remove subversion
2.安裝svn :
安裝命令 : yum install httpd httpd-devel
subversion mod_dav_svn mod_auth_mysql
安裝結束後可以使用命令 : svnserve --version 查看當前svn版本
3.創建一個版本庫 :
創建命令 : svnadmin create /home/svn/project1
備註:project1 是版本庫目錄
4.配置版本庫文件 :
配置目錄conf 有如下文件
5.配置 passwd
: 新增用戶以及相關用戶密碼
6.配置 authz
權限
7.配置
svnserve.conf
8.啓動svn :
啓動svn命令 : svnserve -d -r /home/svn/
9.關閉svn :
查詢svnserve所在進程ID
: ps aux | grep svn
執行關閉 : kill
進程id
10.檢出svn命令:
svn co svn://127.0.0.1/fankey --username
fankey --password 123456
備註:如果輸錯了密碼,或者用戶更改了密碼處理方法:
1、進入記錄svn密碼文件的目錄cd ~/.subversion/auth/svn.simple/
2、使用cat命令查看 相關文件裏面的內容
找到相應的文件刪除文件即可
svn自動提交帶代碼
找到相應svn項目下的hooks目錄:創建 post-commit 文件(該文件必須有+x權限,否則發生255錯誤) 代碼如下:
`#!/bin/sh
#獲取SVN提交的項目
REPOS="$1"
#獲取提交的當前版本號
REV="$2"
#導入中文字體
export LANG=zh_CN.GBK
#獲取提交時填寫的備註信息
BAKTEXT=$(svnlook log $REPOS -r $REV)
#echo "REPOS = ${REPOS} ; REV = ${REV} ; text = ${BAKTEXT}" >> home/svn/test/log/svn_hook_log.txt
#判斷備註是否爲 'update' , 如果是update則執行同步更新
if [ "$BAKTEXT" = "update" ]; then
#自動跟新代碼到/home/wwwroot/test 目錄下面
/usr/bin/svn update /home/wwwroot/test --username reader --password 123456987
#echo "you input bak is update;" >> /home/svn/test/log/svn_hook_log.txt
fi`