转载:https://blog.csdn.net/weixin_39218464/article/details/104093559https://blog.csdn.net/jctian000/article/details/80623621折腾了一下,好方便记录一下以备日后使用(需要先安装svn)为了以后的规划,可以配置多个仓库1.首先创建通用仓库目录:mkdir-p/home/svn/project2,在通用目录下创建一个仓库文件夹,并使用命令创建一个版本Repository:mkdir-p/home/svn/project/yourproject1svnadmincreate/home/svn/project/yourproject1以后如果需要其他项目可以使用下面命令(等等):mkdir-p/home/svn/project/你的项目2svnadmincreate/home/svn/project/你的项目23.如果有多个项目,方便管理。转到项目1目录中的conf文件夹。将authz和passwd文件复制到项目目录下(如果是单个项目可以忽略这一步)cd/home/svn/project/你的项目1cpauthz../../cppasswd../../4,修改authz和passwd文件4.1,passwd是用户账号配置如下图,等号前是账号,后面是密码4.2,authz是权限配置如下图,只是一个很简单粗暴的配置,所有项目都有读写权限。有需要的可以自行百度5、最后修改svn服务配置文件svnserve.conf如下图所示:注意图中的password-db和authz-db是代表普通用户的多项目配置,权限配置。单个项目请把../../都删掉,只保留英文字母6.启动和关闭svn服务:6.1。开始:svnserve-d-r/home/svn/project/6.2。关闭:killallsvnserve到这里就可以完成svn的配置了。记录一下用web开发的第一步:设置hook自动更新实现SVN和WEB同步,可以从CO里出来,也可以直接使用自动更新web目录的方法。我们需要在svn版本库中配置hook来实现,即创建一个post-commit配置文件并进行简单的配置。简单四步,即可实现Linux下SVN的web目录配置自动更新。1、创建你的web程序目录mkdir-p/home/wwwroot2、进入你创建的web程序目录(svncheckout可以简写为co)cd/home/wwwroot3、checkout文件夹,不重命名,直接在当前directorycheckoutsvncheckoutsvn://localhost/yourproject1检出文件并重命名文件夹svncheckoutsvn://localhost/yourproject2yourproject3第二步:在项目库的hooks/目录下创建一个新建post-commit文件[hook脚本]添加脚本内容如下exportLANG=en_US.UTF-8`DIR=/home/wwwrootWEB=/home/wwwroot/yourprojectsvnupdate$WEB--usernamejoy--password123456--no-auth-cachechown-Rwww:www$WEBWEB=把右边改成你实际的web目录第三步:让post-commit有执行权限chmoda+xpost-commit第四步:这样就完成了,第四步是测试。说明:exportLANG=en_US.UTF-8是解决svnpostcommit中文乱码和设置本地化编码,因为我的系统是UTF8编码,其实SVN默认是UTF-8编码,如果编码是GBK,如果没有设置,则会出现错误,但执行不成功,错误识别为svn:Can`tconvertstringfromnativeencodingto'`GBK'/usr/bin/svnupdate--usernamecqh--password123456/var/www/html/test执行更新操作,如果提示:post-commithookfailed(`exitcode255)withnooutput`给post-commit文件可执行权限如果你的默认编码是UTF-8,上传中文文件,提交时先将文件保存为UTF-8格式
