мерзавец с интерфейсом SVN? - PullRequest
11 голосов
/ 20 мая 2011

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

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

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

Ответы [ 5 ]

12 голосов
/ 13 мая 2012

Вы можете попробовать SubGit . Установите его на свой сервер, и он предоставит связанный репозиторий SVN, так что любая фиксация в репозитории SVN приведет к Git push и наоборот. Трансляция безопасна и прозрачна: теги SVN преобразуются в теги Git, ветви в ветви, svn: ignore в .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 голосов
/ 20 мая 2011

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

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

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

3 голосов
/ 20 мая 2011

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

2 голосов
/ 20 мая 2011

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

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

2 голосов
/ 20 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...