Я начал использовать Git в прошлом году, и мне так понравилось, что я подумываю над тем, чтобы переключиться на мое самое большое и самое активное хранилище Subversion.К сожалению, это репо содержит несколько (связанных, но независимых) проектов.
Существует множество страниц, описывающих, как конвертировать репроект с одним проектом, но гораздо меньше для репо с несколькими проектами.Фактически, я только нашел a несколько , и все они, похоже, предполагают, что у каждого проекта есть свой ствол:
project1/
branches/
tags/
trunk/
project2/
branches/
tags/
trunk/
project3/
branches/
tags/
trunk/
К сожалению, my Репозиторий Subversion выглядит примерно так:
branches/
*empty*
tags/
project1-0.9/
project1-1.0/
project1-1.0.1/
project2-0.9/
project2-0.9.1/
project3-0.5/
trunk/
project1/
project2/
project3/
Хуже того, все теги создаются из рабочей копии (например, svn copy . svn://example.com/svn/tags/project1-1.0.2
), поэтому включают небольшие изменения, которые никогда не передаются в ствол (в основномжестко запрограммированные номера версий).Кроме того, есть несколько коммитов, которые охватывают все проекты (обновления лицензий и т. Д.).К счастью, по крайней мере, нет слияний!
Есть ли чистый способ распутать эти проекты, сохранив мои теги?Если это поможет, это будет одностороннее преобразование, после которого репозиторий Subversion будет отключен.