Проблемы при переносе хранилища из SVN в GITLAB - PullRequest
0 голосов
/ 15 ноября 2018

У меня очень большой репозиторий в SVN со следующей структурой:

http://mycompany.com/svn/something/
│   
│  
│
└───branches
│   │   
│   └───MyProject_FIX
│   │   │   
│   │   └(SOURCE CODE)   
│   │   
│   └───MyProject_Branch2
│   │   │   
│   │   └(SOURCE CODE) 
│   │
│   │
│   │
│   └───OtherProject_FIX
│       │   
│       └(SOURCE CODE)   
│
│
│
└───tags
│   │   
│   └───MyProject
│   │   │   
│   │   └1.0.0
|   |   |  └(SOURCE CODE)
│   │   │
|   │   └1.0.1
|   │   |  └(SOURCE CODE)
│   │   │
|   │   └1.0.3    
|   │   |  └(SOURCE CODE)
│   │   │
|   │   (...)
│   │   │
│   │   └latest
│   │
│   └───OtherProject   
│
└───trunk
    |
    └───MyProject
    |    |
    |    └─(SOURCE CODE)
    |
    └───OtherProject
         |
         └─(SOURCE CODE)   

Я перепробовал почти все:

И единственная мысль, которой я достиг, - это импортировать ту же структуру SVN-репозитория с коммитами.

Что я хотел бы сделать, так это конвертировать папку тегов в настоящие теги git, вступление в папку филиалареальные ветки и только импорт MyProject (игнорируя OtherProject)

Наконец, я должен сказать, что хранилище довольно большое (я не знаю, важна ли эта деталь)

Есть ли что-нибудь прямоеспособ конвертировать этот репозиторий?

Заранее спасибо!

1 Ответ

0 голосов
/ 20 ноября 2018

Похоже, вам нужно использовать параметры командной строки trunk / branch / tags для git svn:

git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>

Это должно вытащить только MyProject.

Не забудьте включить ваш файл авторов и указать --prefix==, чтобы скрипт очистки atlassian, преобразующий теги svn в реальные теги, работал правильно.

...