转载:
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/ 你的我的项目 1
svnadmin create /home/svn/project/ 你的我的项目 1
当前其余我的项目有需要的话,能够应用一下命令(以此类推):
mkdir -p /home/svn/project/ 你的我的项目 2
svnadmin create /home/svn/project/ 你的我的项目 2
3、如果是多个我的项目的话,方便管理。进入你的我的项目 1 目录下的 conf 文件夹。将其中的 authz 与 passwd 文件复制到 project 目录下(如果是单个我的项目疏忽这一步)
cd /home/svn/project/ 你的我的项目 1
cp 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/wwwroot
WEB=/home/wwwroot/ 你的我的项目
svn update $WEB --username joy --password 123456 --no-auth-cache
chown -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 格局在提交