Linux下 svn相关操作
一、首先看看svn安装的位置:
命令: find / -name svn
/var/svn :表示安装目录
/user/bin/svn :表示命令目录
可以看到的是svn的地址是var/svn
那么到底是不是:我们到这个目录下看:
二、重启或启动
1 首先查看svn的进程:
查看进程命令:ps -ef(查看所有进程);要筛选的话用grep,筛选svn的进程命令:ps -ef|grep svn。
2 杀死主进程:
杀死进程的命令用kill -9 进程id。
3:启动svn:
启动svn的命令用 svnserve -d -r 安装路径
-d表示svnserve.exe作为服务程序运行在后台;-r表示将svn的目录当作根目录。
就是这个命令:svnserve -d -r /var/svn/svnrepos
svn 就启动了
4.再次验证 ps -ef|grep svn
三、svn数据存储位置
svn有两种存储方式:BDB和FSFS,目前用的最多的是FSFS方式,这种方式的话,一般是存储在\db\revs文件夹下,里面有一堆以版本号命名的文件,如:0、1、2、3、4......,那个就是了。
svn先把0版本的状态压缩成1个文件,然后每次版本更新时就针对变动的部分做一个压缩文件,每次都是增加一个增量包,最后在服务器上能看到文件名为从0开始到最终版本的一系列文件。
四、查看:
a. 启动SVN
# svnserve -d -r /opt/svn/repositories
b. 查看SVN进程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
c. 检测SVN端口
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
5. 停止重启SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 启动
五、Linux服务器端设置svn开机启动
(1)在Linux服务器跟目录((/root路径下))创建一个脚本文件
# touch svn.sh
(2) 进入脚本文件
# vim svn.sh
(3)添加一下内容
#!/bin/bash
/usr/bin/svnserve -d -r /opt/svn/repositories (/usr/bin/svnserve -d -r /var/svn/svnrepos)
解释一下:
这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。
绝对路径怎么查?
# which svnserve
(4)改该脚本的执行权限
# chmod 777 svn.sh
(5)加入自动运行
# vi /etc/rc.d/rc.local
在末尾添加脚本的路径:
/root/svn.sh
(6)重启Linux服务器,重启后查看svn服务器是否已经开启
# ps -ef|grep svnserve
如果显示以下信息表示svn已经开启了:
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN