目錄表

Subversion 版本控制系統

集中式的系統

Subversion Server + Apache + DAV

#安裝 Subversion
yum subversion
#安裝 Apache
yum install http
#安裝 mod_dav_svn
yum install mod_dav_svn

建立Repository

cd /opt
mkdir svn
mkdir svn/repos
svnadmin create /opt/svn/repos/someproject

設定Apache

chown -R apache.apache /opt/svn
#建立帳號與密碼
htpasswd -cm /opt/svn/passwd admin
htpasswd -m /opt/svn/passwd user1
#編輯 /etc/httpd/conf.d/subversion.conf
<Location /svn>
  DAV svn
  # any "/svn/foo" URL will map to a repository /opt/svn/repos/foo
  SVNParentPath /opt/svn/repos
  # how to authenticate a user
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /opt/svn/svn-auth-file
  # only authenticated users may access the repository
  Require valid-user
  # our access control policy
  AuthzSVNAccessFile /opt/svn/svn-access-file
</Location>

svn-access-file

[groups]
admins = admin
dev1 = user1
[/]
* = r
[repo:/]
@dev1 = rw

建立新專案

專案目錄規劃架構

操作流程

要先連線到 svn server 上開版本庫,同時做好目錄規劃

svnadmin create /opt/svn/repos/myproject
svn mkdir file:///opt/svn/repos/myproject/trunk -m "Add trunk"
svn mkdir file:///opt/svn/repos/myproject/tags -m "Add tags"
svn mkdir file:///opt/svn/repos/myproject/branchs -m "Add branches"

然後設定好存取權限

接著到工作環境取出專案

svn checkout http://svn.bestlong.idv.tw/svn/myproject

應該會詢問帳號密碼,認證完成後就可以開始進行程式開發了。

基本常用操作

將專案 Checkout 到本地目錄

svn checkout svn://svnserver/repo/project  
checkout 可用簡寫 co

增加文件

增加 test.php 文件

svn add test.php

增加當前目錄下的所有 php 文件

svn add *.php

將異動 Commit 到版本庫

svn commit test.php -m "add test.php"

其他操作