随笔 - 42  文章 - 0  评论 - 1  阅读 - 6939

SVN服务器迁移Git服务器-子目录

背景

原使用SVN开发项目,由于svn管理极其混乱,单人管理权限,创建项目不利,无web管理,等诸多原因,于是需要将svn项目迁移到公有云的git服务器,由于svn权限管理集中,导致大家使用的时候就是一个项目下面创建多个子项目,或者不相关项目都在这个项目下,要求迁移后带有提交历史记录

操作

明确项目路径和trunk branch tag的含义,开始使用git svn命令进行迁移

更新作者对应表
svn log https://[SERVER]:[PORT]/svn/MainProject/code/trunk/Project1 -q | findstr /B /C:"r" > authors.txt
然后采用excel等文本处理器处理authors.txt为如下格式:
username=username<username@mail.com>
迁移转换
git svn clone --trunk=/Main/code/trunk/Project1 --authors-file=authors.txt https://[SERVER]:[PORT]/svn/adc_svn/MainProject/ Project1
提交到远端
git remote add origin https://github.com/<username>/<repo_name>.git
git push -u origin main

由于并不是使用标准的管理方案,于是手动制定trunk的位置,其实就是代码的位置,需要指定作者文件,否则会由于找不到对应关系停止clone,等待clone完成

错误处理

can't create session unable to connect to a repository access forbidden
删除 .subversion/auth/svn.simple下的文件, 我发现有两个地方有这个文件,分别为
C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple
C:\Users\Administrator.subversion\auth\svn.simple
说是删除下方的可以工作,我最后采用的方案是删除subversion下的所有东西,可以工作

posted on   流浪的夜空  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示