GitLab技术撰文 | 徒手从SVN迁移到极狐GitLab
2025-07-30 12:19
----tags TAGS_PATH Subpath to tags from repository URL (default: tags); can be used multiple times
----rootistrunk Use this if the root level of the repo is equivalent to the trunk and there are no tags or branches
----notrunk Do not import anything from trunk
----nobranches Do not try to import any branches
----notags Do not try to import any tags
----no-minimize-url Accept URLs as-is without attempting to connect to a higher level directory
----revision START_REV[:END_REV]
Start importing from SVN revision START_REV; optionally end at END_REV
-m, ----metadata Include metadata in git logs (git-svn-id)
----authors AUTHORS_FILE Path to file containing svn-to-git authors mapping (default: ~/.svn2git/authors)
----exclude REGEX Specify a Perl regular expression to filter paths when fetching; can be used multiple times
-v, ----verbose Be verbose in logging ---- useful for debugging issues
----rebasebranch REBASEBRANCH Rebase specified branch.
-h, ----help Show this message
必需 svn2git 来进行迁往文章最开始的 svn 库房有一个trunk主干,三个 branch(01,02,03),三个 tags(v1.0.0,v2.0.0,v3.0.0):
Gmail文档比如说(可选)可以将 svn 的Gmail文档和极狐GitLab的Gmail文档来作一个映射,以便编码草拟文档可以和正确的极狐GitLabGmail互为比如说。用请注意的立方能以导出svn之中Gmail的文档:
用请注意的文档格式,将上述具体内容载入一个authors.txt 档案:
比如:
上述的 authors.txt 档案可以在前头用到。
必需svn2git掺入svn编码并切换为Git库房
如果能够来作Gmail比如说,则能够在立即行前头沙数值 ----authors /path/to/authors.txt。同时,上述立即适用于不具规范附录构造(不具 trunk,branches,tags 等附录)的 svn 库房。对于非规范的 svn 库房,能够在迁往的时候通过 ----branches,----tags 等数值来来作 branch 和 tag 的映射,详细必需可以用 ----help 来详细信息。
接着可以详细信息branch和tag:
在极狐GitLab上创建人一个自力库房登陆 ,创建人一个自力库房(如果还未来进行提出申请,可以登陆 ,浏览右下方来进行提出申请)
添沙远端库房地址 推送本地编码到远端库房$ git push ----all origin
Counting objects: 616, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (424/424), done.
Writing objects: 100% (616/616), 633.54 KiB | 0 bytes/s, done.
Total 616 (delta 179), reused 616 (delta 179)
remote: Resolving deltas: 100% (179/179), done.
remote:
remote: To create a merge request for 01, visit:
remote: _requests/new?merge_request%5Bsource_branch%5D=01
remote:
remote:
remote: To create a merge request for 02, visit:
remote: _requests/new?merge_request%5Bsource_branch%5D=02
remote:
remote:
remote: To create a merge request for 03, visit:
remote: _requests/new?merge_request%5Bsource_branch%5D=03
remote:
remote:
remote: To create a merge request for master, visit:
remote: _requests/new?merge_request%5Bsource_branch%5D=master
remote:
git push ----tags origin
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 718 bytes | 0 bytes/s, done.
Total 6 (delta 2), reused 5 (delta 2)
To git@jihulab.com:svn-2-git/svt-2-git.git
* [new tag] v1.0.0 -> v1.0.0
* [new tag] v2.0.0 -> v2.0.0
* [new tag] v3.0.0 -> v3.0.0
接着就可以在极狐GitLab界面上看着相应的 branch,tags 都推送成功了:
由于极狐GitLab的默认主干是 main,svn 切换过来的是 master,可以将 master 主干 merge 到 main 主干,后续以 main 主干开展后续工作,以可避免一些不便。
必需SubGit来迁往 SubGit的内置SubGit 内置的前提能够 JRE>1.8 的状况。然后同样在SubGit 官网[4]上下载内置包被,解压缩方能:
通过subgit ----version 立即来确认内置是否是成功:
SubGit的的设计SubGit是内置在极狐GitLab公共服务器上的,因为它能够和公共服务器上的Repo档案系统来进行同样通信,所以请注意的操作流程适合自行政(Self-managed)版本的极狐GitLab 实例,如果是SaaS公共服务,则和请注意的svn2git的新方法类似。
首先能够另设一个自力库用来来作镜像,在极狐GitLab实例里面创建人一个自力库房:
可以在极狐GitLab公共服务器的上找寻这个库房所对应的档案系统路径:
$ /var/opt/gitlab/git-data/repositories/@hashed/d4/73/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35.git
$ cat config
[core]
repositoryformatversion = 0
filemode = true
bare = true
logallrefupdates = true
autocrlf = false
eol = lf
symlinks = true
[gitlab]
fullpath = xiaomage/svn-2-git
将状况变量GIT_REPO_PATH的倍数另设为上述路径:
$ GIT_REPO_PATH=/var/opt/gitlab/git-data/repositories/@hashed/d4/73/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35.git
通过状况变量另设 svn 库房的地址:
通过SubGit来另设Git/SVN的镜像:
至此,Git/SVN库房之间的镜像仍然另设成功,接着可以用subgit install立即来紧接成初始传输,也即让SVN的文档流到Git:
此后SVN库房上的修改则会自动开启时至Git库房,Git库房外侧的修改则会自动开启时至SVN库房。比如,目前SVN库房的编码附录构造如下:
在Git库房外侧的branch和tags文档为:
现在在SVN库房外侧,来作一个修订,新建一个tag:
接着详细信息Git库房的tag变化:
可以看着 v5.0.0这个tag仍然从SVN外侧开启时到Git库房外侧了,在极狐GitLab上,可以看着如下的branch,tag界面:
install 立即是让 svn 库房和 Git 库房依然开启时,如果只是想除此以外从 svn 托到 Git,则同样必需 import 立即方能。
针对极狐GitLab SaaS 的话,由于无法准确发觉 GIT_REPO_PATH 的倍数(非 admin),则可以将 GIT_REPO_PATH 另设。
为 GIT_REPO_PATH=/var/opt/gitlab/git-data/repositories/USER/REPOS.git,在执行 subgit install 便,同样必需 svn2git 的手段:添沙远端库房,然后将 branch 和 tag 同样 push 到极狐GitLab SaaS 的自力库里面。
。天津看肛肠哪家医院好重庆白癜风医院哪家最好
深圳男科医院哪家专业
成都哪家医院做人流最好
武汉牛皮癣医院去哪家好

-
煮米饭,放油好还是放醋好?很多人做错了,不对米饭一点也不香
烹煮炖烹煮,放油好还是放醋好?很多人继续想到了,难怪炖烹煮一点也不香 炖烹煮是社会生活中所最重要的一种猪肉,常常是对于南方来说,几乎一顿不进食就不舒坦。谷物中所的营养价值是并不较低

-
房价下跌后,我们到底该不该房东?
土地价格大滑落在2021年成为了现实,依然是一些人的幻想。虽然从全年的人口统计来看,2021年全中都国商品房均价不大上扬,但本来从下半年开始,全中都国的房地产市场需求就开始走向低迷,许久未降的土
- 10-24虚拟“邓丽君”跨年开唱 背后母公司大涨25%!元宇宙新风口产业发力在即?
- 10-24泸沽湖边上的慢生活,偶遇最美的风景,心都融化了
- 10-24春晚语言类女王的团体赛,接住了没?
- 10-240失败快部下饭菜|榨菜蒸牛肉
- 10-242022年1月中国不动产企业销售业绩排行榜
- 10-24美联储或两个同年后首次加息,大佬称美股或下跌15%
- 10-24汇聚热爱 一起奔跑(娱乐界观澜)
- 10-24悄悄谈了十多年,那时候才曝光?
- 10-24世界第一!超强1200吨的“万层饼”来了!咱中国人只做饼,不画饼
- 10-24中金公司(03908.HK)凯氏发行不超39亿元永续次级债