Я использовал git-svn для «обновления» из удаленного репозитория, но не использовал его для фиксации в svn-репозитории, поэтому я не могу помочь вам с этой частью.
То, что вы делаете, просто, со всеми настройками по умолчанию:
>git svn init <url......>
>git svn fetch
Когда вы делаете это, он извлекает его в «удаленную» ветку с именем «git-svn».
Чтобы объединить это с вашей текущей веткой:
>git merge git-svn
Вы можете столкнуться с некоторыми проблемами, если вы используете git-svn после факта . Под этим я подразумеваю следующее: вы уже извлекли проект, используя svn, затем вы также создали репозиторий git в своем локальном рабочем каталоге svn. Затем вы используете git-svn.
Два вопроса, с которыми мне пришлось столкнуться:
Окончание строк. svn
может преобразовать окончания строк в окна, тогда как git-svn
сохранит их в стиле Unix. Таким образом, вы можете получить массу конфликтов из-за различий в конце строки.
Поэтому, чтобы быть уверенным, используйте инструмент для преобразования концов строк во всех файлах в Unix (или Windows, в зависимости от того, какой конец строки используется в репозитории SVN).
расширение ключевых слов svn. например $Id$
git-svn
не будет расширять эти ключевые слова, в то время как svn
будет расширять. Так что у вас там тоже будут конфликты. Опять же, используйте инструмент (или напишите скрипт), который преобразует все экземпляры $Id .......crap.....$
в просто $ Id $ `