一 安裝與配置svn
1.安裝subversion
centos: yum install subversion
ubuntu: apt-get install subversion
2.建立版本庫,本例中我們的版本庫建立在/var/svn,假設該版本庫目錄為:foo
cd /var
mkdir svn
svnadmin create foo
3.配置版本庫
剛才建立的版本庫,需要配置認證方式,使用者名稱和密碼,許可權配置這三個檔案,分別對應/var/svn/foo/conf下的
svnserve.conf,passwd和authz這三個檔案。
svnserve.conf(去掉注釋)
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz.conf
realm = 填寫登入時提示的認證網域名稱稱
passwd檔案新增相應使用者名稱和密碼:
user1 = password1
user2 = password2
如果要使用通用的使用者名稱密碼和許可權認證,指定password-db和authz-db路徑到相應passwd和authz.conf檔案位置即可
authz檔案新增相應使用者名稱到組並分配庫許可權:
[groups]
foo_user = user1,user2 (多個使用者以逗號分隔)
@foo_user = rw
其中*=意味著匿名使用者沒有許可權,引用組名時要加上@符號
4.啟動和使用
配置成功以後,啟動svn版本庫服務
svnserve -d -r /var/svn
獲取版本庫:
伺服器上可以直接使用 svn co file:///var/svn/foo
二、同步到web目錄
1.建立web目錄(已有目錄則略過)
cd /var
mkdir www
chmod 777 www
2.檢出副本到/var/www
svn co file:///var/svn/foo
3.增加hooks(鉤子)檔案
在/var/svn/foo/hooks/目錄中
# start-commit 提交前觸發事務
# pre-commit 提交完成前觸發事務
# post-commit 提交完成時觸發事務
# pre-revprop-change 版本屬性修改前觸發事務
# post-revprop-change 版本屬性修改後觸發事務
我們這裡只需要修改post-commit檔案:
cp post-commit.tmpl post-commit
編輯該檔案
#!/bin/sh
# 配置庫位址
repos="$1"
rev="$2"
# web目錄
basepath=/var/www
# web資料夾名與svn庫名相同
name=$(basename $repos)
webpath="$basepath/$name"
# 避免中文資訊亂碼
export lang="zh_cn.utf-8"
# 可以配合svnlook命令更新指定目錄
svn update $webpath --username=user1 --password=password1 --no-auth-cache
儲存後需要修改post-commit檔案許可權為755,否則svn無法呼叫執行
chmod 755 post-commit
Linux svn 回滾版本庫
首先保證我們拿到的是最新 執行 svn up index 然後找出要撤銷的確切版本 svn log limit 10 index tpl css global.css根據log懷疑是16976版本改壞的,比較一下 svn diff r 16975 16976 index tpl css global...
Linux svn 回滾版本庫
linux svn up index 然後找出要撤銷的確切版本 linux svn log limit 10 index tpl css global.css 根據log懷疑是16976版本改壞的,比較一下 linux svn diff r 16975 16976 index tpl css glo...
Linux SVN直接刪除版本庫檔案
material目錄已經存在於版本庫中 由於特殊情況,我們要保留本地該目錄,但是要刪除版本庫中的該目錄 在windows客戶端環境中,刪除版本庫檔案一般都是把svn檔案checkout到本地,然後本地刪除後commit提交,則可以刪除版本庫相應檔案或目錄 在linux環境也可以按照這個方法刪除 由於...