当前位置: 首页 > article >正文

SVN单个项目迁移到Gitlab,保留历史提交记录

1.版本说明

svn --version:版本1.14.1

git --version:版本2.43.0.windows.1

git svn --version:执行不报错,显示版本git-svn version 2.43.0.windows.1 (svn 1.14.2)

2.提取用户的列表

提取所有SVN用户的列表到当前路径下的userInfo.txt文件

# 可以修改指定的邮箱后缀email.com
svn log http://svn的仓库地址/分支名 -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@email.com>"}' | sort -u > ./userInfo.txt

3.使用 git-svn 克隆 SVN 存储库

在userInfo.txt文件所在的路径下执行命令

git svn clone http://svn的仓库地址/分支名 --no-metadata --no-minimize-url --authors-file=userInfo.txt demo

--no-metadata:不拉取SVN metadata附加信息

--no-minimize-url:克隆时只会拉取你要求的分支项目,不会自动拉取上级内容。不添加此参数会导致不拉取【http://svn的仓库地址/分支名】而拉取【http://svn的仓库地址】

--authors-file=userInfo.txt:根据提供的userInfo.txt文件,将提交的作者名称映射到对应的用户邮箱地址

demo:本地存放svn指定路径的内容的文件夹,建议与工程名相同

4.push到GitLab仓库

现状

# 本地master分支和远程git-svn分支
$ git branch -a                                                                       
* master
  remotes/git-svn

# 没有任何输出,没有关联的远程git仓库
git remote -v

添加远程仓库并push

git remote add origin https://你的gitlab_project_path
git remote -v
git push -u origin master

5.参考

从 Subversion (SVN) 迁移到 Git - Azure Repos | Microsoft Learn

SVN单个项目迁移到Gitlab_svn代码迁移到gitlab-CSDN博客


http://www.kler.cn/a/227113.html

相关文章:

  • 部署实战--修改jar中的文件并重新打包成jar文件
  • 理想架构的高回退Doherty功率放大器理论与ADS仿真-Multistage
  • springboot153相亲网站
  • JAVA中的多态参数
  • LLM(5) | Encoder 和 Decoder 架构
  • 2.3学习总结
  • Quick BI中lod函数之lod_exclude
  • 【Android Gradle 插件】自定义 Gradle 插件模块 ⑤ ( 完整总结 )
  • idea项目如何上传gitee
  • FCIS 2023:洞悉网络安全新前沿,引领未来安全创新狂潮
  • 2024年美国大学生数学建模比赛MCM问题B:搜索潜水器-思路解析与代码解答
  • 69.请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?
  • Pytroch 自写训练模板适合入门版 包含十五种经典的自己复现的一维模型 1D CNN
  • Python 集合
  • 时间复杂度为 O(n) 的排序算法
  • 使用django构建一个多级评论功能
  • AtCoder Beginner Contest 338 G. evall(枚举+递推 统计贡献)
  • 开发知识点-拍黄片的好基友的依赖管理工具-composer
  • 10种软件架构
  • windows 谷歌浏览器Chrome 怎么禁止更新