技术饭

Liunx下SVN服务器搭建:SVN同步到文件夹

copylian    0 评论    9837 浏览    2017.01.03

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格式在提交 

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!
Liunx SVN 服务器 同步 

文明上网理性发言!

  • 还没有评论,沙发等你来抢