天天看點

linux安裝使用svn

環境 Centos6.x

cd /

yum install subversion

cd /website #建立svn目錄

mkdir svn

svnadmin create /website/svn/projectA  //建立一個svn版本倉庫(projectA可以為svn項目名字)

cd /website/svn/projectA/conf               //進入配置檔案目錄

修改配置svnserve.conf,authz,passwd這三個檔案(修改後無需重新開機subversion)

vi svnserve.conf

//把下面項前面的#号和空格去掉并修改(各項前面不能有空格),變成

anon-access = none      #使非授權使用者無法通路

auth-access = write     #使授權使用者有寫權限

password-db = passwd

realm = projectA     # 認證命名空間,subversion會在認證提示裡顯示,并且作為憑證緩存的關鍵字,這裡設定成和項目名稱相同就可以了

儲存退出

vi authz

在[groups]下添加

[groups]

projectA = u1,u2 //建立一個projectA的組,并制定兩個使用者u1和u2

[/]             //制定根目錄下的權限

@projectA = rw     //projectA組使用者權限為讀寫

* = r           //其他使用者隻有讀權限

儲存退出

vi passwd

在[users]下添加

[users]

u1 = p1    //使用者名u1的密碼為p1

u2 = 456    //使用者名u1的密碼為456

儲存退出

設定自啟動

vi /etc/rc.local

在touch /var/lock/subsys/local下面

添加下面一行

svnserve -d -r /website/svn

儲存退出

svn啟動

svnserve -d -r /website/svn

關閉svn服務

ps -ef|grep svnserve
           

看到類似   root 4967 1 0 Aug23 ? 00:00:00 svnserve -d -r repository/

其中4967為程序号

使用Kill指令殺死程序  kill -s 9 程序号,即  kill -s 9 4967

配置post-commit,實作自動同步svn版本庫檔案到web目錄

cd /website/svn/projectA/hooks

cp post-commit.tmpl post-commit

賦予post-commit可執行的權限

chmod 777 post-commit

vi post-commit

修改内容如下:

REPOS="$1"

REV="$2"

export LANG=zh_CN.UTF-8

SVN_PATH=/usr/bin/svn

WEB_PATH=/website/www/projectA

LOG_PATH=/tmp/svn_update.log

$SVN_PATH update $WEB_PATH --username u1 --password p1 --non-interactive

說明:export LANG=zh_CN.UTF-8防止中文亂碼,SVN_PATH為svn執行程式所在的目錄,WEB_PATH為web項目目錄,u1為svn使用者名,p1為密碼

伺服器checkout到本地

預設checkout到目前目錄的,是以執行前先切換到你要到的目錄, cd /website

svn checkout svn://localhost/projectA

或者

svn checkout svn://120.77.176.18/projectA   #這裡的120.77.176.18為你的伺服器ip

也可使用簡寫  svn co svn://120.77.176.18/projectA

需要輸入root密碼回車,輸入svn賬号回車,輸入svn密碼回車

順便給www目錄和其子目錄權限

cd /website/www

chmod -R 777 *

更新指令

切換到你的項目目錄

cd /website/www/projectA

執行 svn update

svnadmin和svn的指令是不同的,具體可用svnadmin help和svn help檢視

svn指令

指令說明

SVN規範與沖突解決

用戶端連接配接

linux安裝使用svn

===================忽略檔案,檔案夾的送出=============

svn使用

svn propedit svn:ignore

dir 

指令忽略檔案和檔案夾,其中dir是你的svn項目的檔案夾,

如 svn propedit svn:ignore /website/www/projectA

會車發現提示錯誤 ‘svn: E205007: 沒有設定 SVN_EDITOR,VISUAL 或 EDITOR 環境變量,運作時的配置參數中也沒有 “editor-cmd” 選項’

需要先設定SVN預設的編輯器

export SVN_EDITOR=vim

再次執行 svn propedit svn:ignore /website/www/projectA

進入到編輯狀态,在裡面編輯你要忽略的檔案或檔案夾即可(一行一項)

如:

test.php

cache

這時還需要送出,這個svn:ignore屬性才正式生效

cd /website/www/projectA

svn ci -m '忽略test.php檔案和cache檔案夾'
           

繼續閱讀