Я сталкивался с такой ситуацией на моей нынешней работе. Наш основной Git-репозиторий имеет нелинейную историю, поэтому выбранное решение должно справиться с этим. Решение, которое пока работает, основано на репозитории gitsvn proxy. У меня есть хук post-receive, установленный в основном репозитории Git, который в своем ядре имеет нечто вроде этого:
export GIT_DIR=$GITSVN_PROXY_DIR/.git
git pull -Xtheirs file://$GIT_PRIMARY_DIR master
git svn dcommit
После переписывания истории журнала dcommit. При следующем извлечении git из основного Git-репозитория вы обычно получаете конфликты mrege. Вот тут-то и включается опция -Xtheirs. Это стратегия слияния, предпочитающая удаленную версию изменений. В этом случае это позволяет нам автоматически разрешать конфликты! :)
Единственный недостаток: красивые сообщения о фиксации SVN не приходят бесплатно. Некоторый git-взлом необходим, чтобы они содержали всю информацию из первичных сообщений Git commit.