Как отправить git-репо в существующее SVN-репо, сохраняя при этом историю? - PullRequest
1 голос
/ 28 октября 2011

У меня есть git-репо проекта, который был запущен до того, как было установлено официальное SVN-репо. Git-репо имеет структуру каталогов, например:

docs/
src/
  herp/
  derp/

Я хочу вставить это в существующее хранилище SVN (в котором работают другие), чтобы структура каталогов в SVN выглядела примерно так:

branches/
tags/
trunk/
  ... (other stuff) ...
  fizzbot/
    docs/
    src/
      herp/
      derp/

(поскольку fizzbot по сути является отдельным подпроектом)

  1. Я полагаю, что это было бы выполнимо, используя git-svn, но я не знаю точно, как.
  2. Если я могу сделать # 1, есть ли способ сделать это, сохранив историю всех ревизий, которые я сделал в репозитории git?

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

1 Ответ

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

Я думаю, что идея в том, что вам нужно:

  1. rebase / cherry выбирает все соответствующие коммиты в верхней части git-svn (репозиторий svn проверен через git-svn), но большая проблема в том, что вы эффективно пытаетесь

  2. объединить два отдельных репо , что может быть немного сложнее сделать правильно. Хотя я работал между git-svn-репо и git-репо, которые связаны между собой (т. Е. Git-репо клонируется из git-svn-репо), я никогда не пытался объединить git-svn-репо с несвязанным git-репо таким образом, но в теории это должно быть возможно при условии, что вы сможете разрешить любые конфликты слияний, которые могут произойти. Хорошо, что, как только вы сможете достичь -1, вы будете практически свободны от дома и никакого реального урона не произойдет, пока вы не сделаете dcommit (и даже при этом есть вариант пробного запуска)

...