svn windows数据迁移linux,[转载]SVN由windows迁移到linux(手打)

准备:要把几个SVN项目由windows移到linux环境下面,前期在网上看了些相关迁移的资料,但我怀疑SVN是以其独立的数据库进行存储的,并不需要用

svn的dump命令,我这边先进行了测试,直接把一

个项目(一个项目一个独立版本库,也有独立的认证及密码文件,简单明了)

*号是项目名称,建版本库时以项目名称为版本库名称,认证及密码文件也在这个目录下,原建立版本库的批处理文件如下

mkdir d:projects*

svnadmin create --fs-type fsfs d:projects*

1.LINUX是oracle版的rhel5.5,先安装apache,svn几个包,很幸运,负责这个服务器的系管在装系统时将所有的包进行了安装(太浪费了吧?呵呵,服务器够好不在乎),rpm了一下

rpm -qa | grep httpd

httpd-2.2.3-43.0.1.el5

rpm -qa | grep apr

apr-util-1.2.7-11.el5

apr-1.2.7-11.el5_3.1

rpm -qa | grep subversion

subversion-1.4.2-4.0.1.el5_3.1

以上三个在装系统时可默认装好,还有一个必须手动进行安装,包可以直接在系统光盘中找到,如在网上DOWN的话其版本应与上面Subversion包一致(并且区分32位,64位,32位包的装在64位下会出现

错误)

rpm -ivh mod_dav_svn-1.4.2-4.0.1.el5_3.1.x86_64.rpm

rpm -qa | grep mod_dav_svn

mod_dav_svn-1.4.2-4.0.1.el5_3.1

安装好后启动apache

service httpd restart

用浏览器查看http://localhost/,得到it

works,说明apache已经配置成功了。

2.修改配置文件,apache是跨平台的,所以在配置上其实与windows上差不多,在linux下面是通过/etc/httpd/conf.d/subversion.conf配置版本库信息的。

windows下:

AuthType

Basic

AuthName

"MBP Subversion Repositories"

AuthUserFile

/var/projectspasswd_md5

username// 创建完成后,再次登录,输入用户名及密码后就可以登进去了。

看来还是密码文件的问题,比对了一下两个文件,windows是明文密码,linux是md5加密过的密码,这时我就想能不能把传输模式改下,去掉加密方式,系统里面设置成明文传输(懒人一个,呵呵)

再次google一下,查了半天,得出让我超沮丧的结果:

[root@JDEAPP svn]# htpasswd --help

Usage:

htpasswd [-cmdpsD] passwordfile username

htpasswd -b[cmdpsD] passwordfile username password

htpasswd -n[mdps] username

htpasswd -nb[mdps] username password

-c Create a new file.

-n Don't update file; display

results on stdout.

-m Force MD5 encryption of the

password.

-d Force CRYPT encryption of

the password (default).

-p Do not encrypt the password

(plaintext).

-s Force SHA encryption of the

password.

-b Use the password from the

command line rather than prompting for it.

-D Delete the specified

user.

On Windows, NetWare and TPF systems the '-m' flag is used by

default.

On all other systems, the '-p' flag will probably not work.

htpasswd是支持明文传输的,但是只在Windows, NetWare and

TPF这三个系统中生效,悲哀,看来只能将明文变成MD5加密的才行了,但几十个用户难道要一个一个的改掉??

明文: test:123456

MD5加密:test:$apr1$rf8s5...$aKXCksz0GPvjM1K95BbUA.

最后不得己还是死了N多脑细胞写了个shell解决掉了(没啥编程基础的,大家别笑话)

进入密码文件目录 cd /var/projects*/g 查找替换

网上摘的方法如下:

SVN版本库的迁移

--------------------------------------------------------------------------------

2009-09-16 15:50:01 标签:svn   [推送到技术圈]

版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。

两台服务器,进行SVN的迁移:

系统平台:windows server 2003

版本库:test

源服务器:192.168.1.14

目标服务器:192.168.1.12

源SVN版本库的path: D:svntest

要迁移到的path: E:svntest

第一种方法:(推荐)

首先说明:这个目标服务器上的SVN是可以用,本文中只是将它们的版本库进行

迁移。

1.停止http服务,本文中用的是apache (源服务器)(目标服务器)

2.cd C:Program FilesSubversionbin(Subversion的安装目录)(源服务器)

3.执行:svnadmin dump D:svntest

>D:svntesttest.dump(源服务器)

4. 在E盘中建立一个同名的test的文件夹(目标服务器)

5.cd C:Program FilesSubversionbin(目标服务器)

6.svnadmin create E:svntest (目标服务器)

7. 测试此test版本库是否可以用,如果可以用。再做下面的操作(目标服务器)

《要把在源服务器上导出的test.dump文件copy目标服务器上》

8.Svnadmin load E:svntest < c:svntesttest.dump

(目标服务器。这个只是将源服务器上导出的版本库,导入到现在的服务器上。)

9. 修改http配置文件和修改权限,也可以将原来的权限文件直接copy到新的版本库中。(目标服务器)

第二种方法:

1.停止http服务,我用的是apache

2.把D:svntest下面的所有的文件copy到192.168.1.12的E:svntest

3. 修改apache中的文件路径,写入新的文件路径

4.打开http服务,但是这种做法的条件是:SVN旧版本库的操作环境系统和新版本操作环境系统相同,而且SVN的版本相同。

5.在本地复制的版本库,右键---TortoiseSVN --- Relocate,在弹出的框框内,重新输入版本库的ip地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值