svn安装配置迁移步骤

来源:互联网 发布:农村淘宝资深运营专员 编辑:程序博客网 时间:2024/05/17 03:32
 

svn安装配置迁移步骤                                                      

svn使用效果很好,真后悔没早点使用。还没有使用的同学建议尝试一下。

1、安装

# yum install mod_dav_svn subversion

2、创建仓库

# mkdir /var/www/svn

# cd /var/www/svn

# svnadmin create repos   

# chown -R apache.apache repos

# /etc/init.d/httpd restart

3、导入

#svn import /tmp/mytestproj/ file:///var/www/svn/repos/mytestproj -m "Initial repository layout for mytestproj"

4、检出check out

#svn co http://yoursvnserver/repos/mytestproj

5、编辑、提交

#cd mytestproj

#vim configurations/testconf1.cfg -- Add or delete something and save.

#svn commit -m "Added a line to testconf1.cfg."

6、添加、删除

先#svn co http://yoursvnserver/repos/mytestproj

再#cp /etc/yum.repos.d/CentOS-Base.repo configurations/

添加#svn add configurations/CentOS-Base.repo

删除#svn delete configurations/CentOS-Base.repo

后#svn commit -m "Added the CentOS Yum repo file."

7、回退

查看历史版本号  #svn log http://yoursvnserver/repos/mytestproj

回退到历史版本号#svn co -r 1 http://yoursvnserver/repos/mytestproj

8、通过acl设置用户权限

为保证权限的完整性,采用拷贝的原svn权限文件。

9、svn数据迁移(dump-->load方案)

在做迁移操作前,请停止对svn进行提交操作。

9.1备份

在原svn上:
#svnadmin dump 版本库名 > svn_dump_版本库名

备份svn及配置文件的脚本:

$ more dumpsvn.sh

#!/bin/bash

cat dumpnamelist.txt | while read myline

do 

 echo "dumping app:"$myline

 svnadmin  dump  /home/walk/svn/$myline > /home/walk/svn_dump/$myline.bak

 echo "copying configure file:"$myline 

 cp /home/walk/svn/$myline.* /home/walk/svn_dump/

Done

#需备份的文件列表

$ more dumpnamelist.txt

79521

79522

9.2 恢复

在新svn上:

$ svnadmin create 版本库

$ chown -Rapache.apache 版本库

$ svnadmin load 版本库  < svn_dump_版本库

恢复svn及配置文件的脚本:

# more auto_load_svn_dumps.sh 

#!/bin/bash

cat dumpnamelist.txt | while read myline

do

#create new repos

echo "---------------------------------------------------------------create new repos:"$myline

svnadmin create /var/www/svn/$myline

#modify the owner

chown -R apache.apache /var/www/svn/$myline

#load the dumped svn data

echo "---------------------------------------------------------------loading repos:"$myline

svnadmin load /var/www/svn/$myline < /root/svn_dumps/svn_dump/$myline.bak

Done

#copy auth and config files

echo "---------------------------------------------------------------copying configure files:"$myline

cp /root/svn_dumps/svn_dump/*.access  /var/www/svn/

cp /root/svn_dumps/svn_dump/*.passwd  /var/www/svn/

#modify the owner of all repositories

chown -R apache.apache /var/www/svn/ 

10、apache配置文件

[root@svn ~]# more /etc/httpd/conf.d/subversion.conf 

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

#配置svn

#1

<Location /project>

   DAV svn

   SVNPath /var/www/svn/79522/

   AuthType Basic

   AuthName "svn authentication"

   AuthUserFile /var/www/svn/79522.passwd  

   Require valid-user

</Location>

 

  11、测试

采用原操作方式进行测试。

原创粉丝点击