Windows上SVN迁移至Linux

news2024/11/24 22:58:03

1.从windows导出svn文件
bat脚本

@echo off

svnadmin dump E:\Repositories\3goodsoft_carbon_admin		> D:/test/3goodsoft_carbon_admin.dump
svnadmin dump E:\Repositories\3goodsoft_android				> D:/test/3goodsoft_android.dump		
svnadmin dump E:\Repositories\3goodsoft_carbon_cloud        > D:/test/3goodsoft_carbon_cloud.dump
svnadmin dump E:\Repositories\3goodsoft_carbon_web          > D:/test/3goodsoft_carbon_web.dump
svnadmin dump E:\Repositories\3goodsoft_code                > D:/test/3goodsoft_code.dump
svnadmin dump E:\Repositories\3goodsoft_doc                 > D:/test/3goodsoft_doc.dump
svnadmin dump E:\Repositories\3goodsoft_operate_web         > D:/test/3goodsoft_operate_web.dump
svnadmin dump E:\Repositories\3goodsoft_shrk_web            > D:/test/3goodsoft_shrk_web.dump
svnadmin dump E:\Repositories\3goodsoft_shzxglpt            > D:/test/3goodsoft_shzxglpt.dump
svnadmin dump E:\Repositories\3goodsoft_smallroutine        > D:/test/3goodsoft_smallroutine.dump
svnadmin dump E:\Repositories\3goodsoft_u3d                 > D:/test/3goodsoft_u3d.dump
svnadmin dump E:\Repositories\3goodsoft_ui                  > D:/test/3goodsoft_ui.dump
svnadmin dump E:\Repositories\accidentprevention            > D:/test/accidentprevention.dump
svnadmin dump E:\Repositories\anrika                        > D:/test/anrika.dump
svnadmin dump E:\Repositories\code-generator                > D:/test/code-generator.dump
svnadmin dump E:\Repositories\construction                  > D:/test/construction.dump
svnadmin dump E:\Repositories\construction_view             > D:/test/construction_view.dump
svnadmin dump E:\Repositories\czrailway                     > D:/test/czrailway.dump
svnadmin dump E:\Repositories\czrailway_view                > D:/test/czrailway_view.dump
svnadmin dump E:\Repositories\ds                            > D:/test/ds.dump
svnadmin dump E:\Repositories\kg-project                    > D:/test/kg-project.dump
svnadmin dump E:\Repositories\kg-project-admin              > D:/test/kg-project-admin.dump
svnadmin dump E:\Repositories\kg-project-PC                 > D:/test/kg-project-PC.dump
svnadmin dump E:\Repositories\oneplusx                      > D:/test/oneplusx.dump
svnadmin dump E:\Repositories\operate                       > D:/test/operate.dump
svnadmin dump E:\Repositories\qrcode                        > D:/test/qrcode.dump
svnadmin dump E:\Repositories\shkt                          > D:/test/shkt.dump
svnadmin dump E:\Repositories\shzxglpt                      > D:/test/shzxglpt.dump
svnadmin dump E:\Repositories\u3d                           > D:/test/u3d.dump
svnadmin dump E:\Repositories\zjxh                          > D:/test/zjxh.dump

然后打成压缩包上传至Linux服务器并解压
在这里插入图片描述
2.安装SVN

yum install subversion

安装完成后创建对应的Windows仓库,每一个都得创建

svnadmin create /home/svn/Repositories/xxx

在这里插入图片描述

然后执行svn脚本 svn_sy.sh ,脚本中的路径更改为自己的
在这里插入图片描述

#!/bin/bash
DIR_HOME="/home/test"
SVN_HOME="/home/svn/Repositories"
files=`cd $DIR_HOME;ls`
pro="test android BackEnd DevOps ios pigcms Product UI wechat WorkLogs"
for file in $files;
do
   #get all *dump files
   project=`echo $file | sed -n '/.*\.dump/p' | cut -d '.' -f1`
   if [ "$project"x != ""x ];then
      if [ "$project" = "$pro" ];then
         continue
      fi
      create_dir="svnadmin create $SVN_HOME/$project"
      svn_load="svnadmin load $SVN_HOME/$project < $DIR_HOME/$project.dump"
      execute create_dir order
      echo $create_dir
      eval $create_dir
      execute svn_load order
      echo $svn_load
      eval $svn_load
   fi
done

每个仓库的conf目录下都有自己authz,passwd和svnserve.conf文件,不好管理
拷贝一份到svn根目录下。然后修改所有仓库下的是svnserve.conf指向根目录下的authz和passwd
修改内容如下

[general]
anon-access= none
auth-access= write
password-db= /home/svn/passwd
authz-db= /home/svn/authz

在这里插入图片描述

在这里插入图片描述
将windows的htpasswd文件和groups.conf拷贝过来
修改根目录的authz,将groups.conf目录下的组信息内容拷过去
然后到每个子仓库下的VisualSVN-GlobalWinAuthz.ini下的权限信息拷贝到authz中
注意前缀要加上仓库名和冒号
在这里插入图片描述
赋予authzhttppasswdpasswd 文件权限
在这里插入图片描述

如果直接使用svn的话,修改下passwd,重新创建用户就行。

然后启动svn

svnserve -d -r /根目录--listen-port 端口号

起来后使用 svn: // 路径就可以访问了,我这边之前是http的,所以需要通过http访问
安装httpd和mod_dav_svn模块

yum install -y mod_dav_svn
yum install -y http

到httpd配置目录下创建文件内容如下

vi /etc/httpd/conf.d/subversion.conf
在这里插入图片描述

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
    DAV svn
    SVNParentPath /home/svn/Repositories
    AuthType Basic
    AuthName "Authorization Realm"
    AuthUserFile /home/svn/httppasswd
    AuthzSVNAccessFile /home/svn/authz
    Satisfy all
    Require valid-user
</Location>
systemctl enable httpd

systemctl start httpd

如果不想使用80端口的话可以修改/etc/httpd/conf/httpd.conf

Listen xxx

将Listen 80 改为自己想要的端口

因为http密码是加密过后的所以需要生成

第一次创建
htpasswd -cm /home/svn/svn-auth-conf 用户名

修改密码或者添加用户
htpasswd -m /home/svn/svn-auth-conf 用户名

将生成的密码移动到 httppasswd 中
在这里插入图片描述
然后重启httpd

service httpd restart

添加防火墙放行策略:

firewall-cmd --permanent --add-service=http
firewall-cmd --reload
firewall-cmd --zone=public --add-port=端口号/tcp --permanent

访问报错查看httpd日志:
在这里插入图片描述

AH01620: Could not open password file:

在这里插入图片描述

vi /etc/selinux/config

将SELINUX的值设置为disabled
在这里插入图片描述
更改完之后需要重启服务器

svn自启动
脚本:

#!/bin/bash
 
##普通启动命令
svnserve -d  -r /home/svn/Repositories

service httpd restart

iptables -I INPUT -p tcp --dport 1443 -j ACCEPT

放到 /etc/rc.d/init.d 下
在这里插入图片描述
赋权

chmod 777  /etc/rc.d/init.d/svn_start.sh

更改rc.local 文件
在这里插入图片描述

赋权

chmod 777  /etc/rc.d/rc.local

然后自启动就配置好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python如何在指定目录下创建文件

Python如何在指定目录下创建文件 Python是一种流行的编程语言&#xff0c;因为它易于学习、易于使用和非常灵活。其中一个常见的任务是在指定目录下创建文件&#xff0c;这在编写应用程序或脚本时经常需要。在本文中&#xff0c;我们将介绍使用Python在指定目录下创建文件的方…

第05章 数组

一 数组的概述 1.1 为什么需要数组 需求分析1&#xff1a; 需要统计某公司50个员工的工资情况&#xff0c;例如计算平均工资、找到最高工资等。用之前知识&#xff0c;首先需要声明50个变量来分别记录每位员工的工资&#xff0c;这样会很麻烦。因此我们可以将所有的数据全部…

chatgpt赋能python:Python如何取消空格

Python如何取消空格 在Python编程中&#xff0c;取消字符串中的空格是一个常见的需求。特别是在进行字符串处理和数据清洗时&#xff0c;取消空格可以方便数据的分析和处理。在本次文章中&#xff0c;我们将介绍使用Python语言如何取消字符串中的空格&#xff0c;以及一些常见…

如何将会议录音转文字?你知道如何将会议录音转文字吗?

会议录音转文字的需求在现代工作和生活中变得越来越重要。随着会议的频繁举行&#xff0c;我们常常需要记录会议内容以便后续查阅和分析。而传统的手动记录方式效率低下且容易出错。幸运的是&#xff0c;现在有许多会议录音转文字的应用程序可供选择&#xff0c;它们可以将会议…

uniPush2.0踩坑实录

首先&#xff0c;按照下面链接&#xff0c;把预备工作做完&#xff0c;基本可以实现dcloud后台网页推送&#xff1a; uniPush2.0 消息推送_没有白天的CXY的博客-CSDN博客 第二步&#xff0c;走完本流程后&#xff0c;会遇到各种坑&#xff0c;一个一个来踩&#xff1a; 第一坑…

龙芯2K1000实战开发-处理器硬件接口测试(下)

文章目录 概要整体架构流程技术名词解释技术细节小结概要 提示:这里可以添加技术概要 龙芯 2K 集成了 USB、SATA、PCIE 等高速串行接口,在板级测试时需要按照相应的 规范发出测试波形。本文档对这些接口分别介绍了发出测试波形的方法 整体架构流程 提示:这里可以添加技术…

电子企业如何快速部署一套MES生产管理系统

电子企业如何快速部署一套MES生产管理系统 引言 在数字化时代&#xff0c;电子企业的发展离不开高效的生产管理。MES生产管理系统是生产管理的核心工具&#xff0c;可以帮助电子企业提升生产效率和产品质量。本文将介绍电子企业快速部署一套MES生产管理系统的步骤和优势&…

C++算法:排序之三(堆排序)

C算法&#xff1a;排序 排序之一&#xff08;插入、冒泡、快速排序&#xff09; 排序之二&#xff08;归并、希尔、选择排序&#xff09; 排序之三&#xff08;堆排序&#xff09; 排序之四&#xff08;计数、基数、桶排序&#xff09; 文章目录 C算法&#xff1a;排序二、比较…

全排列--回溯

1题目 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入&#xff1a…

关于Spring中自带的@Schedule实现自动任务

SpringBoot中自带了一个能够实现定时任务的注解Schedule 如果定时任务比较简单&#xff0c;则可以使用SpringBoot中自带的Schedule&#xff0c;但是如果任务调度很复杂的话&#xff0c;就建议使用Quartz组件了。 说一下这个Schedule注解怎么用&#xff1f; 基本使用 第一步&a…

Centos8之系统升级

一、centos8系统简介 CentOS 8是一个基于Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源代码构建的开源操作系统。它是一款稳定、可靠、安全的服务器操作系统&#xff0c;适合用于企业级应用和服务的部署。CentOS 8采用了最新的Linux内核和软件包管理系统&#xff0c…

chatgpt赋能python:Python如何分行——提高代码可读性和效率的必备技能

Python如何分行——提高代码可读性和效率的必备技能 什么是分行&#xff1f; 分行&#xff0c;即将一行长代码分为多行&#xff0c;使得代码更加易读、易维护、易修改。 Python作为一门高级编程语言&#xff0c;具有简洁、易读、高效的特点。但在实际编程过程中&#xff0c;…

Amazon Device EDI 数据库方案开源介绍

近期为了帮助广大用户更好地使用 EDI 系统&#xff0c;我们根据以往的项目实施经验&#xff0c;将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后&#xff0c;只需要下载我们整理好的示例代码&#xff0c;并放置在知行之桥指定的工作区中&#xff0c;即可开始使用。 …

C++调python程序示例

背景 平台&#xff1a;Xavier nvidia AGX板子 编写c程序测试单目3D目标检测DEVIANT&#xff08;https://blog.csdn.net/qq_39523365/article/details/130982966?spm1001.2014.3001.5501&#xff09;python算法的过程。代码如下&#xff1a; 文件结构 具体代码&#xff1a; …

基于 prefetch 的 H5 离线包方案 | 京东云技术团队

前言 对于电商APP来讲&#xff0c;使用H5技术开发的页面占比很高。由于H5加载速度非常依赖网络环境&#xff0c;所以为了提高用户体验&#xff0c;针对H5加载速度的优化非常重要。离线包是最常用的优化技术&#xff0c;通过提前下载H5渲染需要的HTML/JS/CSS资源&#xff0c;加…

如何用Arcgis做一个地区的温度或降水量分布图

1.首先需要拥有一张shp格式的研究地区的矢量区域图&#xff08;很多网站都可以下载到全国各地区县域或者省域界线的矢量图&#xff0c;比如小木虫&#xff09;&#xff0c;以山西省为例: 2.导入本研究区域样地或样点的经纬度、温度&#xff08;或降水&#xff09;的csv格式数据…

我与 InsCODE AI 创作助手的一次对话

本文由 大侠(AhcaoZhu)原创&#xff0c;转载请声明。 链接: https://blog.csdn.net/Ahcao2008 我与INDCODE AI 创作助手的一次对话 &#x1f9ca;摘要&#x1f9ca;前言&#x1f9ca;对话内容&#x1f9ca;结束语 &#x1f9ca;摘要 本文介绍了 CSDN 嵌入式INSCODE AI 创作助手…

华为OD机试真题 Java 实现【跳格子2】【2023 B卷 100分】,附详细解题思路

一、题目描述 小明和朋友玩跳格子游戏&#xff0c;有n个连续格子组成的圆圈&#xff0c;每个格子有不同的分数&#xff0c;小朋友可以选择从任意格子起跳&#xff0c;但是不能跳连续的格子&#xff0c;不能回头跳&#xff0c;也不能超过一圈。 给定一代表每个格子得分的非负整…

【项目】GCC(gcc,g++)、静态库的制作与使用、动态库

GCC、静态库 1.2 GCC(1&#xff09;gcc&#xff08;1&#xff09;常用命令&#xff08;2&#xff09; C程序编译过程&#xff08;3&#xff09;GCC工作流程 1.3 GCC(2&#xff09;g1.3静态库的制作1.5静态库的使用1.6动态库的制作1.7动态库加载失败的原因1.8解决动态库加载失败…

六面钻调试流程(第一步.设置轴参数)

第一步.设置轴参数 &#xff08;1&#xff09;编码器类型 &#xff08;2&#xff09;编码器位数 &#xff08;3&#xff09;设置站地址开关 &#xff08;4&#xff09;设置从站地址 &#xff08;5&#xff09;设置从站地址偏移地址