Как синхронизировать два репозитория Git между собой и с репозиторием SVN?
У меня есть репозиторий Git, рабочий каталог которого синхронизирован с SVN, с помощью SubGit. От рабочего каталога была сделана голая копия (bare) и размещена как общий внешний репозиторий, с помощью BonoboGitServer (использую Windows-сервера). После отправки коммитов Git во внешний репозиторий на сервере, до рабочего каталога, который синхронизирован с SVN, коммит не доходит. Тоже самое мне нужно с SVN, после отправки фиксации SVN, она попадает в рабочий каталог локального репозитория Git, но не попадет во внешний.
Суть вопроса, как я могу сделать синхронизацию внешнего репозитория (-bare) и рабочего репозитория? Видится решение с помощью git hooks, но не очень понимаю как они работают. Может кто-то сталкивался с подобным или знает другое решение вопроса прошу помочь.
Вы наверное невнимательно читали документацию к SubGit.
Он подключается к голому репозиторию напрямую, и затем синхронизация происходит автоматически.
As soon as initial translation is completed, repos.git is ready to serve users. Pushes to repos.git will be translated to SVN and commits to SVN will be translated to Git.
Note, that repos.git is so called ‘bare’ Git repository, i.e. it does not contain working tree.
Это я понимаю. Возможно я не совсем понятно объяснил. У меня на сервере расположен "чистый" репозиторий(bare), к нему подключаются удаленно пользователи и выкачивают изменения, отправляют свои изменения в этот репозиторий. Для поддержания синхронизации с SVN мне нужно, чтобы эти изменения отправились из удаленного репозитория в локальный репозиторий, расположеный на том же сервере, только с рабочим каталогом.