转载:
https://blog.csdn.net/weixin_39218464/article/details/104093559
https://blog.csdn.net/jctian000/article/details/80623621
折腾一下,所以还是记录下来不便当前应用(须要先装置svn)
为了当前打算,能够配置多个仓库
1、先建设总仓库目录:
mkdir -p /home/svn/project
2、在总目录中创立仓库的文件夹,以及应用命令创立版本库:
mkdir -p /home/svn/project/你的我的项目1svnadmin create /home/svn/project/你的我的项目1
当前其余我的项目有需要的话,能够应用一下命令(以此类推):
mkdir -p /home/svn/project/你的我的项目2svnadmin create /home/svn/project/你的我的项目2
3、如果是多个我的项目的话,方便管理。进入你的我的项目1目录下的conf文件夹。将其中的authz与passwd文件复制到project目录下(如果是单个我的项目疏忽这一步)
cd /home/svn/project/你的我的项目1cp authz ../../cp passwd ../../
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、敞开:
killall svnserve
到这里svn的配置就能够完结了。
上面记录一下和web搭配开发
第一步:设置钩子自动更新
实现SVN与WEB同步,能够CO一个进去,也能够间接用自动更新web目录的办法,咱们要在svn版本库中配置钩子来实现,就是创立一个post-commit的配置文件,对其进行简略的配置,简简单单的四步就能够实现Linux下SVN自动更新web目录配置。
1、建设你的web程序目录
mkdir -p /home/wwwroot
2、进入你建设的web程序目录(svn checkout能够简写为co)
cd /home/wwwroot
3、检出
不重命名文件夹,间接在当前目录下检出
svn checkout svn://localhost/你的我的项目1
检出文件并且重命名文件夹
svn checkout svn://localhost/你的我的项目2 你的我的项目3
第二步:在我的项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
增加脚本内容如下
export LANG=en_US.UTF-8`DIR=/home/wwwrootWEB=/home/wwwroot/你的我的项目svn update $WEB --username joy --password 123456 --no-auth-cachechown -R www:www $WEB
WEB=左边改成你理论的web目录
第三步:让post-commit有执行的权限
chmod a+x post-commit
第四步:这里就曾经实现了,第四步就是测试了。
阐明:
export LANG=en_US.UTF-8是为了解决svn post commit 中文乱码,设置本地化编码,因为我的零碎为UTF8编码,其实SVN默认就是UTF-8编码,如果编码是GBK的话不设置将会呈现谬误,而执行不胜利,谬误标识为
svn: Can
`'t convert string from native encoding to '`GBK'
/usr/bin/svn update --username cqh --password 123456 /var/www/html/test 执行更新操作
如果提醒:
post-commit hook failed (
`exit
code 255) with no output`
赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格局在提交