2015-11-03 9 views
1

Я git svn клонировал репозиторий SVN месяц назад и начал строить исходный код с более новой версией компилятора. В течение месяца первоначальное репо SVN изменилось (количество людей совершило кучу коммитов). Теперь я хочу иметь все эти изменения в репозитории git.Синхронизация репозитория Git с репозиторием SVN

Я попытался добавить svn-remote раздел в конфигурационный файл git. according to this

Но это не сработало. Любые идеи или предложения? Я хотел бы иметь историю всех коммитов, которые были сделаны в svn repo. (авторы и совершающие сообщения в журнале мерзавец)

Спасибо

+0

'git svn rebase' - https://git-scm.com/docs/git-svn – 1615903

+0

Как вы клонировали svn в первую очередь? «Git svn info» показывает вам оригинальный svn repo? Затем просто следуйте приведенным выше советам. –

+0

git svn info дать мне 'Невозможно определить информацию о SVN вверх из истории рабочего дерева' – Trojosh

ответ

0

При создании рабочего каталога Git с помощью git svn clone, под одеялом она запускает кучу разных команд: git init чтобы создать первоначальный репозиторий, git svn init, чтобы настроить метаданные Subversion, затем git svn fetch, чтобы собрать все коммиты из репозитория Subversion.

Запуск git svn fetch снова примет все изменения с момента последнего git svn fetch (или того, что начального clone) и добавьте их в историю Git.

При этом, если вы с тех пор столкнулись с конфигурацией Git, вы можете обнаружить, что у вас есть новые проблемы, поскольку вы могли бы испортить первоначальную конфигурацию. Лучше всего, если это так, нужно удалить исходные метаданные Subversion с git config --remove-section svn-remote.svn, а затем запустить git svn init с теми же аргументами, которые вы указали в git svn clone в первый раз.