1.先新建svn,配置passwd authz svnserver,conf,svn的文件夹为/www/svn/oa 用户名:username 密码:password
2,新建网站目录/www/wwwroot/oa
3.拉去版本库文件到oa
输入命令:svn checkout svn://127.0.0.1/oa /www/wwwroot/oa
输入用户名: username
输入密码:password
输入:yes
添加所有文件到版本库并上传:
svn status #查看状态
svn propset svn:ignore 'test1' ./ 忽略该文件夹
svn add . --no-ignore --force
svn ci
/************
提交时发生错误
$:svn ci
svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
解决:svn ci -m "添加提交说明信息"。
或者:
问题原因是:
没有设置svn编辑器的环境变量,主要是import、commit中填写comment要用
在 终端中 sudo vim /etc/bashrc 打开文件
加入:export SVN_EDITOR=vim
如果,保存的时候,无法保存。wq! 强制保存退出
编辑完以后一般需要让配置文件立即生效,可执行命令:
source /etc/bashrc
/************
4.忽略不上传版本的文件夹,我这里忽略 uploads
svn mkdir uploads
svn propset svn:ignore '*' uploads
svn ci -m 'Adding "uploads" and ignoring its contents.'
5.修改钩子文件
cd /www/svn/oa/hooks
cp post-commit.tmpl post-commit
vi post-commit 写入一下内容
********************************************
REPOS="$1"
REV="$2"
S="$1"
REV="$2"
TXN_NAME="$3"
SVN=/usr/bin/svn #svn执行目录
WEB=/www/wwwroot/oa #web项目目录
export LANG=en_US.UTF-8
$SVN update $WEB --username username --password password
我这里修改了一下目录权限
chmod -R 755 /www/wwwroot/oa
chgrp www /www/wwwroot/oa -R
chown www /www/wwwroot/oa -R
********************************************
修改权限文件:
chmod 777 post-commit
执行试试:
sudo ./post-commit
设置完成
centos 自动同步版本文件到web目录
于 2019-05-27 16:21:16 首次发布