一、建立倉庫
1、建立新專案資料夾
語法:svnadmin create /directory
svnadmin create /data/svndata/myproject下新建myproject倉庫
倉庫建立成功以後,會出現乙個倉庫名字的資料夾 資料夾下面有以下幾個檔案和目錄
myproject
|-conf
|-db
|-format
|-hooks
|-locks
|-readme.txt
其中conf資料夾下面包含三個重要檔案 authz passwd svnserve.conf
2、修改配置檔案
修改passwd檔案
passwd的配置語法格式: 使用者名稱=密碼
# vi passwd
### this file is an example password file for svnserve.
### its format is similar to that of svnserve.conf. as shown in the
### example below it contains one section labelled [users]
.### the name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
test =
123456 #修改處
————————————————
新增賬號test,密碼123456
3、配置使用者許可權
修改authz檔案
注意:許可權配置檔案**現的使用者名稱必須已在使用者配置檔案中定義。
對許可權配置檔案的修改立即生效,不必重啟svn。
使用者組格式:
[groups]
admin = test,demo
admin組下擁有test和demo使用者
其中,1個使用者組可以包含1個或多個使用者,使用者間以逗號分隔。
版本庫目錄格式:
[
《版本庫》
:/專案/目錄]
@《使用者組名》
=《許可權》
《使用者名稱》
=《許可權》
其中,方框號內部分可以有多種寫法:
/表示根目錄及以下。根目錄是svnserve啟動時指定的,我們指定為/data/svnrepos/myproject。這樣,/就是表示對全部版本庫設定許可權。
repos1:/ 表示對版本庫1設定許可權
repos2:/a 表示對版本庫2中的a專案設定許可權
repos2:/a/b 表示對版本庫2中的a專案的b目錄設定許可權
許可權主體可以是使用者組、使用者或*,使用者組在前面加@,*表示全部使用者。許可權可以是w、r、wr和空,空表示沒有任何許可權。
# [repository:
/baz/fuz]
# @harry_and_sally = rw
# *= r[/
] #修改處
@admin = rw #修改處
test = rw #修改處
在根目錄下admin使用者組/test使用者擁有讀寫許可權。
4、修改svn啟動項引數
修改svnserve.conf檔案
svn服務配置檔案為版本庫目錄中的檔案conf/svnserve.conf。該檔案僅由乙個[general]配置段組成
[general]配置段中配置行格式如下:
《配置項》 = 《值》
配置項分為以下5項:
1.anon-access控制非鑑權使用者訪問版本庫的許可權。取值範圍為"write"、「read"和"none」。
即"write"為可讀可寫,"read"為唯讀,"none"表示無訪問許可權。
預設值:read
2.auth-access控制鑑權使用者訪問版本庫的許可權。取值範圍為"write"、「read"和"none」。
即"write"為可讀可寫,"read"為唯讀,"none"表示無訪問許可權。
預設值:write
3.password-db指定使用者名稱口令檔名。除非指定絕對路徑,否則檔案位置為相對conf
目錄的相對路徑。
預設值:passwd
4.authz-db指定許可權配置檔名,通過該檔案可以實現以路徑為基礎的訪問控制。
除非指定絕對路徑,否則檔案位置為相對conf目錄的相對路徑。
預設值:authz
5.realm 指定版本庫的認證域,即在登入時提示的認證網域名稱稱。若兩個版本庫的
認證域相同,建議使用相同的使用者名稱口令資料檔案。
預設值:乙個uuid(universal unique identifier,全域性唯一標示)
5、啟動服務
語法:svnserve -d -r svn倉庫目錄
svnserve -d -r /data/svndata/myproject/
如果啟動提示svnserve: can』t bind server socket: address already in use,是由於已經啟動了svn,你的配置檔案應該已經生效了。
檢視svn程序
ps -ef|grep svn
6、訪問倉庫
使用svn客戶端 輸入位址 svn://ip/myproject 就可以訪問到這個倉庫。
二、版本管理搭建
第一步、
把**根目錄** 匯入到版本庫,讓版本庫有**。做為最初版本的**。
/# svn import /www/wwwroot/myproject/custom file:
///data/svndata/myproject/custom/ -m 「initial import」
/第三步、
檢出版本庫**到**目錄專案 // 這裡是指定了做版本管理的資料夾。網域名稱請自動替換成自己的路徑
svn co --username admin --password aadmin888 svn://
120.
..174
svn co --username admin --password aadmin888 svn://
120.
..174
/myproject/custom /www/wwwroot/myproject/custom/
svn co --username admin --password aadmin888 svn://
120.
..174
第四步、
來到版本庫的 hooks 目錄,
vim post-commit 建立這個檔案,並賦予這個檔案使用者的可執行許可權。
!
/bin/sh
repos=
"$1"
rev=
"$2"
export lang=en_us.utf-
8svn up /www/wwwroot/myproject/custom --username admin --password aadmin888
第五步、
重啟svn 服務。去本地跟新**,並且上傳測試即可。
killall svnserve //停止
svnserve -d -r /data/svndata// 啟動
SVN搭建本地版本控制倉庫
1.安裝tortoisesvn 2.新建乙個資料夾,比如f svnprojectscfg 3.在f svnprojectscfg新建乙個資料夾project1,右鍵該資料夾選擇 create repository here 那麼關於project1的 svn版本資訊就都在這個目錄 f svnproj...
svn倉庫遷徙
專案中經常會遇到svn遷徙的問題,這裡詳細步驟演示如何遷徙乙個svn倉庫 轉存倉庫 svnadmin dump srv svn proj r 1234 head file1.dump 轉存從版本1234到最新版本,如果是整個倉庫歷史,就要指定0.過濾你想要的子分支 cat file1.dump sv...
建立svn倉庫
今天在客戶現場聯調,兩個開發人員之間的 想用svn來管理,所以就臨時在本地機器上搭建乙個svn倉庫。現將操作步驟記錄下來,以便後續查閱。1 安裝svn服務端setup subversion 1.6.5.msi和客戶端tortoisesvn 1.6.5.16974 win32 svn 1.6.5.ms...