SVN从win迁移到Linux上
工作需要把SVN從win遷移到Linux上,花了幾天時(shí)間看資料搞定,簡(jiǎn)單記錄一下:
公司用的SVN環(huán)境為 Windows server 2003 ,VisualSVN 2.1.5版本
1.dump出SVN數(shù)據(jù)并上傳到Linux
在Repositories處先導(dǎo)出其項(xiàng)目名列表,然后編寫(xiě)一個(gè)簡(jiǎn)單的bat腳本進(jìn)行dump:
比如:
@echo off
svnadmin dump C:\Repositories\baijiu > C:/test/baijiu.dump
svnadmin dump C:\Repositories\BAS > C:/test/BAS.dump
把SVN數(shù)據(jù)備份dump文件及authz和htpasswd文件上傳到Linux
2.Linux安裝SVN
#yum install subversion? 安裝SVN
#mkdir /opt/svn/repositories 建立版本庫(kù)目錄
#svnserve –d –r /opt/svn/repositories 啟動(dòng)SVN
#killall svnserve 關(guān)閉SVN
#svnadmin create /opt/svn/repos/baijiu? 建立要遷移的項(xiàng)目庫(kù)
#svnadmin create /opt/svn/repos/BAS
#vim /opt/svn/repos/baijiu/conf/svnserve.conf 配置用戶(hù)訪問(wèn)權(quán)限
-->?
??? anon-access = none
??? auth-access = write
??? authz-db = /opt/svn/authz
??? password-db = /opt/svn/passwd
導(dǎo)入數(shù)據(jù):
#svnadmin load /opt/svn/repos/baijiu < /home/oldsvnbak/baijiu.dump
#svnadmin load /opt/svn/repos/BAS < /home/oldsvnbak/BAS.dump
歸納以上步驟寫(xiě)個(gè)腳本進(jìn)行SVN數(shù)據(jù)遷移:
#!/bin/sh
#svn migration
#2018-5-23
# linx@jmtop.com
#create and import svn-project
DIRECTORY_HOME="/home/oldsvnbak"??????? #存放dump文件目錄
SVN_HOME="/opt/svn/repos"?????????????????????????? # 版本庫(kù)目錄
projects=`cat /home/mytmp/reposlist.txt`? #項(xiàng)目庫(kù)名列表
#create svn-Repositories
for project in $projects;
do
??? svnadmin create $SVN_HOME/$project
done
#reset svnserve.conf
find $SVN_HOME -name svnserve.conf -exec cp /home/mytmp/svnserve.conf {} \;
#import oldsvndata
for project in $projects;
do
??? echo "....start load $project ........................"
??? sleep 3
??? svnadmin load $SVN_HOME/$project < $DIRECTORY_HOME/$project.dump
??? echo "....end load ..................................."
??? sleep 3
done
編寫(xiě)了一個(gè)SVN的重啟腳本:
[root@svn svn]# cat restartsvnserve.sh
#!/bin/sh
#restart the svn-serve
#2018-5-23
#linx@jmtop.com
#kill old serve
killall svnserve
#start new serve
svnserve -d -r /opt/svn/repos
[root@svn svn]#
需要注意的坑:
從win上導(dǎo)出的項(xiàng)目庫(kù)名列表,上傳到Linux會(huì)有編碼問(wèn)題,會(huì)導(dǎo)致腳本運(yùn)行時(shí)報(bào)錯(cuò),說(shuō)找不到庫(kù)名字
需要重新編寫(xiě)項(xiàng)目庫(kù)名列表,在Linux上重新創(chuàng)建reposlist.txt文件,復(fù)制粘貼即可!
轉(zhuǎn)載于:https://blog.51cto.com/xaverlin/2121068
總結(jié)
以上是生活随笔為你收集整理的SVN从win迁移到Linux上的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring的jdbcTemplate
- 下一篇: 金山WPS发布了Linux WPS Of