Каковы преимущества использования git-svn перед обычным svn-клиентом? - PullRequest
6 голосов
/ 20 апреля 2011

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

Эти статьи, кажется, сосредоточены на том, как и экономят на том, почему. Помогите мне убедить себя, босса и коллег, что есть преимущества использования git-svn по сравнению с официальным клиентом SVN!

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

Ответы [ 2 ]

5 голосов
/ 20 апреля 2011

Для меня основные преимущества использования git-svn (и моста CVS) заключаются в том, что

  • У меня есть вся история локально для просмотра и git-blame,
  • У меня есть полный контроль версий в автономном режиме, например, в поезде,
  • Я могу в полной мере использовать область / индекс постановки, например, только специфические для сцены строки,
  • Мне нужно публиковать изменения только тогда, когда я доволен ими (т. Е. Я экспериментировал с чем-то, и это сработало, или я сделал историю связной),
  • Я могу легко передать серию патчей для обзора.

В качестве бонуса, интерфейсы git к SVN и CVS позволили мне отказаться от аргументов, если мы должны переключить наш CVS-репозиторий на subversion (продолжающийся более 3 лет) или сразу же заняться чем-то действительно крутым и модным (продолжающимся после 2 лет). + лет).

Вам действительно не нужно управленческое решение о том, что разработчики должны использовать. То, что используется для вашего центрального репозитория, в любом случае может быть обусловлено другими аргументами (например, инфраструктура сборки, проверки и тестирования).

4 голосов
/ 21 апреля 2011

Для меня это все о местных филиалах.Когда пришло время начать работать с BigNewFeature, я могу создать новую ветку (локально), используя git, и начать работать над ней, совершая каждый шаг по своему усмотрению.Затем, когда кто-то неизбежно мешает мне работать с BigNewFeature и хочет, чтобы я исправил SmallTypo, я могу переключиться на основную ветку, исправить опечатку, а затем перенести ее в svn.Я могу вернуться к своей ветке BigNewFeature и продолжить свою деятельность.

Эти дешевые локальные филиалы дают вам большую гибкость как разработчика, которую вы просто не получаете, когда вам приходится иметь дело с ветвлением svn исращивание.Я не боюсь быстро разветвляться и экспериментировать.Затем, когда я доволен результатами, я могу слить все, что мне нравится, обратно в мастер и отправить его в SVN с помощью набора чистых, легко различимых коммитов.

...