Git с интерфейсом svn?

Есть ли способ связать репозиторий git с помощью набора команд svn?

Контекст: большинство членов нашей команды хотят переключиться на git из svn для всех наших новых проектов, но есть несколько несогласных.

Я знаю, что можно получить доступ к svn repo с помощью git, но я ищу противоположную функциональность.

Ответ 1

В принципе нет - не без принятия ужасных предположений и упрощений, которые гарантированно вернутся, чтобы укусить вас. Переход от нераспределенного к распределенному VCS и эффективное его использование требует от вас изменения вашего мышления. http://hginit.com/00.html содержит некоторые заметки о переходе с svn на hg, что было бы аналогично этому случаю.

Ответ 2

Вы можете попробовать SubGit. Установите его на свой сервер, и он предоставит связанный репозиторий SVN, так что любая фиксация в репозитории SVN приведет к нажатию Git и наоборот. Перевод является совместимым и довольно прозрачным: теги SVN преобразуются в теги Git, ветки в ветки, svn: игнорировать .gitignores и т.д.

Инструкция:

$ svnadmin create svn.repo
$ subgit configure svn.repo
$ #edit svn.repo/conf/subgit.conf to specify path to your bare Git repository
$ subgit install svn.repo

Это все. Перевод запускается с помощью перехватов, которые будут добавлены в репозитории SVN и Git.

Ответ 3

Я использую svn как авторитетный источник, но все разработчики git подключаются к gitorious во время работы вместе по проектам. Когда задачи завершены, кто-то, кто работает над сопряженной задачей, например, переустанавливает по мере необходимости и совершает подрывную деятельность с помощью git svn.

Это не идеальное решение, но оно позволяет работать локально в git с другими разработчиками git, по крайней мере.

Что вам действительно нужно сделать, так это получить продержания на git. Это, по-видимому, единственное реальное устойчивое долгосрочное решение.

Ответ 4

Если вы находитесь в Windows, вы можете попробовать TortoiseGit - он имеет аналогичный интерфейс с TortoiseSVN. Но это сходство с графическим интерфейсом, а не сходство с консольными командами.

Ответ 5

Если вам не все удобно с этим движением, вы можете подумать о наличии сервера SVN и спросить, кто хочет использовать git для использования git -svn. git имеет очень крутую кривую обучения. Таким образом, даже люди, которые в восторге от использования Git, могут иметь проблемы с его использованием и в проекте, могут убить вашу производительность. Лучше всего научиться git через git -svn, так как есть альтернативный способ работы - через SVN - при необходимости. Если люди имеют опыт работы с Git, этот шаг может быть очень плодотворным. В противном случае может быть много краткосрочных и среднесрочных проблем. Я столкнулся с этим и расскажу о своем опыте.

В противном случае TortoiseGit в Windows должен быть знаком людям, использующим TortoiseSVN. Кроме того, вы можете использовать некоторые команды из git из похожих SVN-команд, чтобы они, похоже, делали похожие вещи. Подобно svn revert не то же самое, что и git revert, но git reset --hard является эквивалентным. Трудно найти эквиваленты большую часть времени, но вы можете для некоторых из них