Subversion 集中式版控系統在 CentOS 上部署簡單。本文涵蓋 yum安裝、版本庫建立、svnserve 守護進程啟動、svnserve.conf/passwd/authz 三大配置檔詳解、服務重啟、檢出/提交/刪除/忽略目錄常用操作、SVN_EDITOR 環境變數設定。

yum install subversion
mkdir -p /var/svn/repositories
cd /var/svn/repositories
svnadmin create rock-eng
svnserve -d -r /var/svn/repositories
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
# realm = My First Repository
[users]
rockeng = 123456
[groups]
# devs = user1,user2
[/]
rockeng = rw
# * = # 拒絕匿名
killall svnserve
svnserve -d -r /var/svn/repositories
# 檢出
svn co svn://127.0.0.1/rock-eng
# 新增檔案/目錄
svn add
# 提交變更
svn commit -m "log message"
# 刪除但保留本地副本
svn delete --keep-local
# 忽略目錄(如 data/, attachment/)
svn propedit svn:ignore .
# 編輯器輸入目錄名,每行一個
svn commit
# 查看狀態
svn status
# 設定 SVN_EDITOR 為 vim
echo 'export SVN_EDITOR=vim' >> ~/.bash_profile
source ~/.bash_profile
mod_dav_svn 提供 HTTP/HTTPS 存取,支援 LDAP/AD 整合。svnadmin hotcopy。pre-commit 鉤子強制日誌格式、程式碼檢查。