Что такое хорошая, нераспределенная, альтернатива Subversion, которая имеет отличную поддержку ветвления и слияния? - PullRequest
11 голосов
/ 16 сентября 2008

Я устал от ручного отслеживания моих веток и слияний через мой репозиторий! Это слишком подвержено ошибкам. В мире, где всем кажется, что есть идея уменьшить дублирование и автоматизировать все, ветвление / слияние Subversion ощущается так, будто оно осталось с 80-х годов. Что является хорошей альтернативой subversion, которая имеет отличную поддержку ветвления и слияния без добавления сложности распределенной парадигмы SCM? В идеале это было бы бесплатно, но если бы мне пришлось выложить немного денег, я бы склонялся, если это достаточно хорошо.

Ответы [ 21 ]

25 голосов
/ 16 сентября 2008

Вы обновились до Subversion 1.5? Включает в себя автоматическое отслеживание слияния. Это может решить вашу проблему. Похоже, вы уже знакомы с самим инструментом, и это бесплатно. Таким образом, если вы обновите свое текущее решение до версии 1.5, у вас практически не будет кривой обучения и нулевых затрат - плюс вам не нужно будет переносить существующий код на новую систему управления исходным кодом.

7 голосов
/ 16 сентября 2008

Вы смотрели на распределенный контроль версий, такой как Git? Каждая «проверка» - это, по сути, ветвь ... это совершенно другой способ понимания системы контроля версий.

Git бесплатен, создан Линусом Торвальдсом и используется для Linux (среди многих других проектов, конечно).

6 голосов
/ 16 сентября 2008

Perforce - отличный инструмент, но для 2 пользователей он будет стоить вам, так как он предназначен для профессионалов. Мы используем его с довольно тяжелой схемой ветвления (1 ветка на элемент во время основной разработки), и она работает хорошо. Вроде как ветвление «Паутина», используемое Microsoft (которая использовала модифицированную старую версию Perforce), но я не могу найти историю в Интернете сейчас.

5 голосов
/ 16 сентября 2008

Мне тоже надоели эти ограничения в старых версиях Subversion. Еще никто в моей компании не использует ветвления и слияния. Каждый из них, когда пробовал новую функцию, получал очередную проверку, хак-хак-хак и избавлялся от нее, если был плохой - совершал, когда был хорошим. Просто иногда они совершали что-то плохое;)

Итак, я начал использовать git + svn. Значение: у меня svn checkout и в этом каталоге я запустил git. Теперь у меня fast слияния и ветвления, и я не прерываю другие. Если мне нужно попробовать новую функцию X, просто добавьте / checkout / hack-hack. Если мне нужно сейчас взять какое-то важное обновление из нашего репозитория SVN: git stash, git checkout master, svn update, git commit -a, git checkout feature-X, git rebase, git stash применяются (все это потому, что git-svn не делает работа на винде).

Похоже, много операций, но они быстрые. Я имею в виду очень быстро. И дайте мне необходимую гибкость (см. мою статью о git + visual studio ).

Я думаю, что Bazaar может делать подобные вещи, и может быть лучше в одном: он может легко поддерживать нераспределенную, основанную на центральном хранилище разработку .

3 голосов
/ 16 сентября 2008

Любое из распределенных решений. Git, Mercurial и т. Д. Я бы предпочел Git.

3 голосов
/ 29 сентября 2008

Я пришел из магазина Perforce в магазин Subversion и пропустил отличную поддержку ветвления и слияния, которая есть у Perforce. Итак, Perforce будет моей первой рекомендацией, но тогда это будет стоить денег:).

Subversion 1.5 выглядит многообещающе для поддержки слежения за слияниями, но помечена как основополагающая и не похоже, что у нее будет минимальная поддержка слияний, которую я готов принять (то есть как Perforce) в ближайшее время.

Итак, я склоняюсь к распределенной VCS, в частности, к Bazaar:

  1. Ветвление и слияние работают очень хорошо и так, как я ожидаю
  2. Может использоваться с централизованным рабочим процессом
  3. Поддерживает ветки Subversion, рабочие копии и репозитории . Это означает, что моя команда может использовать Bazaar в более крупной организации, которая использует Subversion, и при этом делиться с ними кодом.
3 голосов
/ 09 октября 2008

Вы должны проверить Accurev. Он указывает и создает новые потоки (например, ветви, но лучше IMO), и вся концепция кода, проходящего через потоки, делает объединение гораздо менее болезненным и частым делом. Он очень прост в администрировании, имеет бесплатную лицензию на 3 пользователя и имеет встроенные отличные инструменты визуализации.

2 голосов
/ 16 сентября 2008

мерзавец

Я влюбился в него.

2 голосов
/ 16 сентября 2008

Вы когда-нибудь задавались вопросом, почему у вас так много операций ветвления / слияния? Есть ли способ упростить процесс разработки?

Subversion, ИМХО, является хорошим применением принципа KISS. Перевод: По моему опыту, вы получите гораздо больший прирост производительности от оптимизации процесса разработки, чем от более сложного инструмента.

1 голос
/ 25 июня 2009

Пластик SCM - это все, что связано с разветвлением и слиянием ... стало проще. Проверьте его GUI и сравните с другими альтернативами.

...