Debian安装及配置
更新库:
$ apt-get update
安装SVN服务器:
$ apt-get install subversion subversion-tools
查看版本信息:
$ svnserve --version
创建仓库:
$ svnadmin create /data/svn/svnrepos
创建用户和权限:
在svnrepos这个库下面的conf文件夹里有三个配置文件:
authz——权限文件
passwd——用户和密码
svnserve.conf——配置文件
#匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz
创建svn.service文件:
[Unit]
Description=Subversion Server
[Service]
Type=forking
ExecStart=/usr/bin/svnserve --daemon --root /data/svn/svnrepos
ExecStop=/usr/bin/killall svnserve
Restart=always
[Install]
WantedBy=default.target
启动SVN服务:
$ systemctl start svn.service
设置开机启动:
$ systemctl enable svn.service
查看SVN监听的端口:
$ netstat -ln |grep 3690
CentOS6.5安装及配置
安装SVN服务器:
$ yum install subversion
查看版本信息:
$ svnserve --version
创建仓库:
$ svnadmin create /data/svn/svnrepos
创建用户和权限:
在svnrepos这个库下面的conf文件夹里有三个配置文件:
authz——权限文件
passwd——用户和密码
svnserve.conf——配置文件
#匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz
开放SVN端口(默认是3690端口):
修改
$ iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存
$ /etc/rc.d/init.d/iptables save
重启
$ service iptables restart
查看
$ /etc/init.d/iptables status
启动SVN服务:
$ svnserve -d -r /data/svn
SVN迁移(迁移时停掉SVN服务)
SVN的迁移有两种方式:
1) dump出源机器SVN的代码库,然后load到新服务器上去。
2) 使用 svnsync 直接同步源机器代码库。
一、采用dump迁移SVN代码库:
1) dump 出源机器的SVN代码库:
$ svnadmin dump repos/ > 2414.dump
2)将dump出来的文件传到新服务器上
3 ) 在新服务器上建立 仓库
$ svnadmin create /home/svn/repos
4) 将 dump 文件 load 进新服务器的仓库
$ svnadmin load /home/svn/repos < 2414.dump
5) 启动新机器的SVN服务
二、采用svnsync迁移SVN代码库
1 ) 在新服务器上建立 仓库
$ svnadmin create /home/svn/repos
2)修改新建仓库中hooks 下的 名为 pre-revprop-change 的文件:
$ cp pre-revprop-change.tmpl pre-revprop-change
$ chmod 777 pre-revprop-change
修改 pre-revprop-change 脚本最后一行 为 exit 0
3)同步初始化: svnsync init file:// 新机器仓库目录路径 源服务器的IP(可以通过 http 协议,还可以通过svn协议)
$ svnsync init file:///home/svn/repos svn://xx.xx.xx.xx
4)同步:
$ svnsync sync file:///home/svn/repos
5) 等待同步完成,启动SVN服务器即可
SVN常用命令
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
简写:svn co
2、往版本库中添加新的文件
svn add file
3、将改动的文件提交到版本库
svn commit -m “LogMessage” [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
简写:svn ci
4、加锁/解锁
svn lock -m “LockMessage” [--force] PATH
svn unlock PATH
5、更新到某个版本
svn update -r m path
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
2)svn status -v path(显示文件和子目录状态)
简写:svn st
7、删除文件
svn delete path -m “delete test fle”
简写:svn (del, remove, rm)
8、查看日志
svn log path
9、查看文件详细信息
svn info path
10、比较差异
svn diff path(将修改的文件与基础版本比较)
svn diff -r m:n path(对版本m和版本n比较差异)
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
12、SVN 帮助
svn help
svn help ci