检查是否安装
rpm -qa subversion
卸载旧版本
yum remove subversion
安装最新版本
yum install subversion
检查是否安装成功
svnserve --version
创建目录
mkdir -p /var/svn/svnrepos
创建项目仓库
svnadmin create /var/svn/svnrepos
检查是否创建成功
cd /var/svn/svnrepos
之后使用 ll 查看是否多了一些文件夹(如果成功)
authz 是权限控制文件
passwd 是账号密码文件
svnserve.conf 是 SVN 服务配置文件
根据 users 标签中的提示进行配置即可,等号左边是用户名,右边是密码
只有自己用,所以只是限定自己的用户有 rw 权限即可,在文末加入用户名和读写权限就可以了
#example
[/]
abc(your username) = rw
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = imagine's svn server # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
修改 iptables
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存 iptables 配置
/etc/rc.d/init.d/iptables save
重启 iptables
service iptables restart
查看 iptables 状态
/etc/init.d/iptables status
svnserve -d -r /var/svn/svnrepos
-d: 守护进程 -r:svn 根目录
使用 TortioseSVN 连接到 svn://我的 ip 地址/
输入前面设置的用户名密码即可访问
编写脚本 svn_startup.sh,放在/root/svn_startup.sh,代码如下
#!/bin/bash
export LC_CTYPE="zh_CN.UTF-8"
/usr/bin/svnserve -d -r /var/svn/svnrepos
(关于绝对路径:在启动的时候环境变量可能没有加载,所以采用绝对路径比较保险,可以使用 which svnserve 命令来查询绝对路径)
chmod ug+x svn_startup.sh
或者
chmod 777 svn_startup.sh
vim /etc/rc.d/rc.local
在文件末尾添加命令行脚本
/root/svn_startup.sh
ps -ef|grep svnserve
svn co svn://localhost /var/www/html/ --username user --password passwd
将工作目录转移到钩子文件夹
cd /var/svn/svnrepos/hooks
添加配置文件
cp post-commit.tmpl post-commit
chmod 777 post-commit
修改 post-commit 文件,加入以下代码
export LANG=zh.CN.UTF-8
cd /var/www/html/
/usr/bin/svn update --username usrname --password passwd --no-auth-cache
echo `date`,`whoami`,$REPOS,$REV >>/var/svn/svnrepos/hooks/svn_hook.log
先切换到工作目录 再用 SVN 的 co 或者 checkout 命令进行 checkout
先切换到工作目录 再用 SVN 的 commit 或者 ci 命令进行同步
可能需要—message 或者-m 参数,后面跟上这次修改的一些信息即可
使用 SVN 的 add 命令进行添加文件或者文件夹 如果需要添加的文件很多,可以使用 Linux 的 通配符: svn add /
使用 bash 命令 添加
svn status|grep ? |awk '{print $2}'|xargs svn add
删除
svn status|grep ! |awk '{print $2}'|xargs svn del
可以添加到 PATH 中,如/usr/local/bin,命令叫做 svnaddall 和 svndelall
export LC_CTYPE="zh_CN.UTF-8"
之后可以用 locale 命令检查 (添加 locale 的命令已经包含在自启动文件中了)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。