众所周知,在开发环境中修改后的代码commit到服务器上的repository后,
不能在服务器上的测试环境得到实时的preview.
使用Subversion里的post-commit这个hook(钩子)可以实现测试环境的代码
和Subverion里的代码同步更新.
有两点需要特别注意:
- 测试环境的代码必须是从代码库中checkout出来的,而不是export出来的.(checkout和export的区别可查看subverion的文档或Google.)
- 必须使用运行Apache的ower从代码库checkout,不然权限问题会搞得你头大.
Opensuse+Apache+Subersion
设置步骤:
1.以Apache的ower登录
su -
su -u wwwrun -s
2.
svn checkout YOUR_REPOSITORY_URL YOUR_PROJECT_PATH
3.
cd /PATH/TO/REPOSITORY/hooks
4.
cp -v post-commit.tmpl post-commit
5.
chmod +x post-commit
6.
vim post-commit
7.注释掉下面两行代码:
#commit-email.pl "$REPOS" "$REV" commit-watchers@example.org
#log-commit.py --repository "$REPOS" --revision "$REV
8.然后添加下面代码:
$svn=/usr/bin/svn
$project=/PATH/TO/PROJECT
$svn update $project >> /PATH/TO/REPOSITORY/logs/post-commit.log
9.在/PATH/TO/REPOSITORY创建日志目录
mkdir -v /PATH/TO/REPOSITORY/logs
touch /PATH/TO/REPOSITORY/logs/post-commit.log
chown -R wwwrun:www /PATH/TO/REPOSITORY
10.Done






