技术饭
Liunx下SVN服务器搭建:SVN同步到文件夹
Liunx下SVN服务器搭建:SVN同步到文件夹,SVN是常用的版本控制管理工具,虽然SVN跟现在流行的Git比起来有很多的限制,但相对于简单一些或者小型的项目而言,SVN完全能够胜任,那这几篇文章会写如何在Linux服务器下搭建SVN的教程,仅作为参考!
我们知道要把svn的内容更新到web目录需要手动的svn update,但是今天笔者教你自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
第一步:建立你的web程序目录
mkdir /alidata/www/svnweb/demo
1)、赋予权限
root@SVN:/home# chown www:www demo
2)、进入/var/www/html/test目录:版本检出
svn checkout svn://115.28.208.47/demo不重命名文件夹,直接在当前目录下检出
svn checkout svn://115.28.208.47/demo test 检出文件并且重命名文件夹
第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
添加脚本内容如下:
#!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 svn update /alidata/www/svnweb/demo --username copylian --password copylian
(此版本是linux下,windows下是.bat,写法少有不同)
第三步:让post-commit有执行的权限 chmod 777 post-commit
第四步:这里就已经完成了,第四步就是测试了。
说明:
#!/bin/sh 说明是执行shell命令
1、export.GBK 是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can't convert string from native encoding to 'UTF-8' 2、svn update /alidata/www/svnweb/demo --username copylian --password copylian 执行更新操作
3、如果提示:post-commit hook failed (exit code 255) with no output赋予post-commit文件可执行权限
4、如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交
文明上网理性发言!