Как я могу присоединиться к последовательным репозиториям SVN и BZR в GIT? - PullRequest
0 голосов
/ 25 января 2012

Признаюсь, странный запрос ...

У нас есть проект, который в настоящее время управляется на базаре, но ранее хранился в Subversion.Однако вместо того, чтобы копировать историю, предыдущие разработчики взяли один экспорт репо SVN и запустили совершенно новый репозиторий BZR.

Таким образом, мы имеем следующее:

SVN: A-B-C-D
BZR: E-F-G-H

И то, что я хочу, это:

GIT: A-B-C-D-E-D-G-H

Спасибо

1 Ответ

0 голосов
/ 25 января 2012

Возможно, проще всего с git filter-branch. Фактически, это один из примеров в документации ветки фильтра:

Чтобы установить коммит (который обычно находится на вершине другой истории) в качестве родителя текущей начальной фиксации, чтобы вставить другую историю за текущей историей:

       git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' HEAD

Итак, здесь <graft-id> - это ваш коммит D, если вы работаете с веткой, состоящей из коммитов BZR от E до H. Поэтому я предполагаю, что вы использовали инструменты миграции, чтобы перенести истории svn и bzr в git, и импортировал их как отдельные ветки в один репозиторий.

...