Я устал от ручного отслеживания моих веток и слияния в моем репозитории! Это слишком склонно к ошибкам. В мире, где все, кажется, получают идею сокращения дублирования и автоматизации всего, разветвление/слияние подрывной деятельности похоже на то, что оно осталось с 80-х годов. Какая хорошая альтернатива подрывной деятельности, которая имеет отличную ветвящуюся и объединяющую поддержку, не добавляя сложность распределенной парадигмы SCM? В идеале это было бы бесплатным, но если мне нужно выложить наличные, я бы склонился, если бы это было достаточно.
Что такое хорошая, нераспределенная, альтернативная подрывной деятельности, которая обладает отличной поддержкой ветвления и слияния?
Ответ 1
Вы обновили до Subversion 1.5? Он включает автоматическое отслеживание слияний. Это может решить вашу проблему. Похоже, вы уже знакомы с самим инструментом, и это бесплатно. Таким образом, если вы обновите свое текущее решение до 1,5, у вас почти не будет кривой обучения и нулевой стоимости - плюс вам не придется испытывать боль в переносе вашего существующего кода на новую систему управления исходным кодом.
Ответ 2
Вы изучали распределенное управление версиями, например Git? Каждый "checkout" - это, по сути, ветвь... это совершенно другой способ мышления об управлении источником.
Git является бесплатным, созданным Линусом Торвальдсом, и используется для Linux (среди многих других проектов, конечно).
Ответ 3
Perforce - отличный инструмент, но за пределами 2 пользователей это будет стоить вам, поскольку оно нацелено на профессионалов. Мы используем его с довольно тяжелой схемой ветвления (по одной ветки на каждую особенность во время основной разработки), и она работает хорошо. Вроде как разветвление "паутины", используемое Microsoft (которое использовало модифицированную более старую версию Perforce), но я не могу найти эту новость в Интернете сейчас.
Ответ 4
Я также устал от этих ограничений в старых версиях Subversion. Но никто в моей компании не использует ветвление и слияние. Каждый из них, при попытке новой функции, получил еще одну проверку, взломал-взломал и избавился от нее, если был плох, - совершить, когда хорошо. Просто иногда они совершали что-то плохое;)
Итак, я начал использовать git + svn. Смысл: у меня есть svn checkout, и в этом каталоге я начал git. Теперь у меня есть fast слияние и ветвление, и я не прерываю никаких других. Если мне нужно попробовать новую функцию X, просто откройте /checkout/hack -hack. Если мне нужно сейчас взять какое-то важное обновление из нашего SVN-репо: git stash, git мастер проверки, svn update, git commit -a, git функция проверки -X, git rebase, git применяется stash (все это потому, что git -svn не работает в Windows).
Похоже, много операций, но они быстры. Я имею в виду очень быстро. И дайте мне необходимую гибкость (см. моя статья о git + visual studio).
Я думаю, что Bazaar может делать подобные вещи, а может быть лучше в одном: он может легко поддерживать нераспространенный, центральный -резервуарная разработка.
Ответ 5
Любое из распределенных решений. Git, mercurial и т.д. Мое предпочтение было бы git.
Ответ 6
Я пришел из магазина Perforce в магазин Subversion и пропустил большую поддержку ветвления и слияния, которую имеет Perforce. Итак, Perforce будет моей первой рекомендацией, но тогда это будет стоить денег:).
Subversion 1.5 выглядит многообещающим для поддержки поддержки слияния, но он отмечен как основательный и не похож на то, что он будет иметь минимальную поддержку слияния, которую я готов принять (например, Perforce-like) в ближайшее время.
Итак, я склоняюсь к распределенной VCS, в частности Bazaar:
- Ветвление и слияние работают хорошо и в ожидании
- Он может использоваться с централизованным рабочим процессом
- Поддерживает ветки Subversion, рабочие копии и репозитории. Это означает, что моя команда может использовать Bazaar в более крупной организации, которая использует Subversion и по-прежнему использует код с ними.
Ответ 7
Вы должны проверить Accurev. Он создает и нажимает на создание новых потоков (например, ветвей, но лучше IMO), и вся концепция кода, протекающего через потоки, делает слияние гораздо менее болезненной и часто задаваемой задачей. Он очень прост в администрировании, имеет бесплатную 3-пользовательскую лицензию и имеет отличные инструменты визуализации.
Ответ 8
Я влюбился в это.
Ответ 9
Вы когда-нибудь спрашивали себя, почему у вас так много операций ветвления/слияния? Есть ли способ упростить процесс разработки?
Subversion, IMHO, является хорошим применением принципа KISS (Keep it simple, dupid). Перевод: По моему опыту вы получите гораздо больший прирост производительности от оптимизации процесса разработки, чем от получения более сложного инструмента.
Ответ 10
Я использовал Clearcase много. До тех пор, пока вы часто делаете свои слияния, это может быть довольно легко, и также возможно выполнение заданий слияния в фоновом режиме. Вы должны вмешаться, если есть конфликт слияния.
Однако это дорого, и может быть сложно найти квалифицированных администраторов Clearcase.
Ответ 11
Perforce предоставляется бесплатно для 2 пользователей.
Я не уверен, что 100% того, что вы ожидаете, может/должно быть автоматизировано, но perforce очень высокое качество. Вы можете легко создавать и поддерживать ветки, и вы можете легко слиться. Очень легко выбрать вишню конкретные изменения, внесенные вами в одну ветвь, и объединить их в другую ветки с высокой степенью автоматизации.
Ответ 12
Одна вещь, о которой еще не упоминалось, заключается в том, что вполне возможно использовать git в тот же централизованный способ, с которым вы привыкли Subversion. Это действительно выдающаяся часть программного обеспечения.
Ответ 13
Пластиковый SCM - все о разветвлении и слиянии... упрощено. Проверьте его графический интерфейс и сравните с другими альтернативами.
Ответ 14
git - http://git.or.cz/ (я очень люблю git, отличное ветвление и распределенное развитие) - http://github.com/ - отличный рабочий пример.
Ответ 15
Git, Mercurial, Bazaar, Darcs
Ответ 16
Я, вероятно, буду пылать за это, но если вы не собираетесь бесплатно скачать MS Team Foundation Server, стоит посмотреть. В отличие от других продуктов MS, которые останутся безымянными, контроль источника является прочным и полностью функциональным. Объедините это с интеграцией IDE, автоматическим механизмом сборки/тестирования и функциональностью управления работой, и это довольно удивительно. Разумеется, он ориентирован на компании и по цене.
Примечание: Я бы не стал это беспокоиться, если вы не разрабатываете в первую очередь Visual Studio.
Ответ 17
Это оформлено с точки зрения альтернатив CVS, а не SVN, но неважно - в нем перечислены несколько альтернатив, включая другие нераспределенные. http://better-scm.berlios.de/alternatives/
Ответ 18
В то время как альтернативы подрывной деятельности могут быть приятными, подрывная деятельность с помадой может быть прекрасной. Здесь обзор передних концов для подрывной работы, который выполняется на компьютерах Mac: http://www.geocities.com/~karlvonl/blog/2006/03/daddy-needs-new-subversion-gui.html
Ответ 19
Базар, создатели Ubuntu.
Зачем выбирать базар?
Ответ 20
Просто добавление в DarenW - для окон есть действительно хороший продукт сервера Subversion, который является бесплатным и делает жизнь мечтой - VisualSVN Server. Это упаковывает последнюю сборку Subversion в один установщик MSI и добавляет в очень полезную консоль управления.
Ответ 21
Как вы думаете, что сложнее в отношении DVCS, например GIT? В некоторых случаях это проще: нет клиента/сервера, нет репо в одном месте с рабочим каталогом в другом месте, управление пользователями не встроено (используйте ssh, если вам это нужно). Как сказал Джим Пульс, вы можете использовать DVCS как нераспространенные, если хотите. Я использую GIT для проектов с одним человеком, даже для тех, кто длится всего несколько недель. Там нет ничего подобного Tortoise, но gitk, qgit и git -gui лучше для тех функций, которые я видел с SVN. Раньше я предпочитал guis, но теперь я очень люблю командную строку GIT, но проверяю easygit для некоторых улучшений.