2009-07-02 2 views
4

Мы делаем разработку как для .NET (с использованием VS 2008), так и для Java (с использованием eclipse)Межплатформенный контроль источника?

В настоящее время мы используем CVS, но на Visual Studio 2008 на самом деле нет хорошего плагина, поэтому я «Я смотрю на то, чтобы перейти к чему-то, что лучше поддерживает VS 2008 и Eclipse.

Моя первоначальная мысль была SVN, поскольку она действительно близка к CVS, но я немного соблазнился использовать что-то вроде Mercurial. Я ищу что-то простое в использовании и имеет хорошую поддержку плагинов для обеих платформ.

+1

Subversion не может быть худшим выбором для вас, тем более, что относительно легко переносить репозиторий CVS на Subversion. Не пробовал никаких плагинов для VS, хотя (обычно для этого используется Tortoise SVN). – Daff

+0

Вы уверены, что смена систем контроля версий - это не просто лечение симптомов, а не причина? Почему вы пытаетесь улучшить скорость проверок? Некоторые разработчики только совершают один раз в неделю, что приводит к длительным сеансам слияния/сломанным сборкам? – jared

+0

Он будет лечить симптом. Проблема в том, что некоторые разработчики просто не проверяют вообще, если не спросят, и слияние - это королевская боль, если они сменяют месячные изменения. – Jesse

ответ

6

Я могу сказать, что есть действительно красивые плагины для Subversion для Eclipse и Visual Studio 2008 (AnkhSVN для Visual Studio). Вы должны обязательно загрузить ежедневные сборки AnkhSVN, если вы планируете использовать его с последней версией подрывной версии. Кроме того, есть инструменты (http://cvs2svn.tigris.org/), чтобы перенести данные из CSV в SVN.

Для Mercurial oder Git - у меня нет опыта с ними.

Я думаю, что SVN даст вам плавную transision - но это не даст вам «большую революцию» (если это то, что вы после)

+0

Я согласен. SVN, безусловно, лучший выбор, если вы не хотите слишком сильно качать лодку. Мне очень нравится GIT, но для этого требуется другой набор разума. – GreenKiwi

0

Мы используем как VSS (и теперь подрывной) для обоих J2EE и .NET для разных проектов. Оба, похоже, работают нормально.

Почему вы так зацикливаетесь на пульверизаторах IDE? Лично я мог бы взять или уйти ... Я положил их в ведро «kitch, которое не добавляет реальной ценности».

Cheers. Кит.

+1

Я думаю, что они довольно приятные, потому что они работают, потому что вы проводите большую часть времени (если вы используете IDE) - например. Я действительно думаю, что окно ожидающих изменений в Visual Studio отличное. – bernhardrusch

+0

У нас есть несколько разработчиков, которые, как правило, забывают проверять вещи, если они используют управление источником вне IDE. – Jesse

0

Существует постоянная дискуссия между AnkhSVN и VisualSVN, если вы решите пойти с SVN.

Лично мне нравится Анк. Это бесплатно, более интуитивно понятное для меня и дает более полезные отзывы о состоянии моего проекта. Однако у меня были некоторые проблемы с коррупцией, но ничего, что стоило мне больше нескольких минут.

+2

Действительно ли AnkhSVN готов к прайм-тайм? В прошлый раз, когда я это пробовал, это заставило Visual Studio сбой каждые несколько минут. – OregonGhost

+0

Его, конечно, лучше. Никогда не было крушения - использовали его с февраля. – JoshJordan

+0

Мы (два разработчика) используем его полный рабочий день, и он работает хорошо. Некоторые вещи лучше решаются с помощью Tortoise SVN, но для ежедневного цикла «обновления, изменения кода, фиксации» это хорошо работает – bernhardrusch

0

Vault Я использую из SourceGear. Он прост в использовании и имеет отличную интеграцию IDE с Visual Studio и Eclipse. Он также полностью протестирован на Linux с помощью Mono.

Он может использоваться для одиночных пользователей, поэтому вы можете попробовать, прежде чем покупать.

Проверьте и посмотрите, что вы думаете. http://www.sourcegear.com/vault/

1

Используя svn с Eclipse и Visual Studio, я обнаружил, что плагины eclipse (особенно subversive), как правило, более легко интегрируются в среду IDE. Ankh и VisualSVN работают очень хорошо, но я предпочитаю ToirtoiseSVN при работе с .net. В Eclipse я почти никогда не прибегаю к ToirtoiseSVN.

Если честно, я думаю, что плагин IDE не должен слишком сильно принимать ваше решение.

+0

Как указано в другом ответе, нужно заставить людей чаще регистрироваться. В противном случае мы просто останемся с CVS. – Jesse

0

Попробуйте Plastic SCM, работающих с Linux, Mac и Windows. Репликация на основе графического интерфейса, отраслевой проводник, эффективное разветвление и объединение (отслеживание слияния включено, перемещение и переименование тоже), безопасность на основе ACL ...

0

Лично мне нравится Perforce. Не бесплатный, но кросс-платформенный и очень хороший.

2

Мы в .NET, Java и Rails магазин

Мы использовали Subversion в течение многих лет, и его фантастической системы, сделали все, что мы думали, нам нужно от SCM. Около 9 месяцев назад мы начали играть с Github.com, разрабатывая приложение Rails (неизбежное в сообществе Rails).

С тех пор мы полностью перешли на Github.com, используя частные репозитории для разработки коммерческих программ с закрытым исходным кодом.

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

Сказанное, Subversion займет у вас неделю или две, чтобы получить опыт работы, Гит занимает не менее месяца, особенно если вы приехали из Subversion или CVS. Если вы притворитесь, что это просто более современный SVN или CVS, вы разочаруетесь в отсутствии улучшения в рабочем процессе кодирования, и вы будете раздражены множеством команд.

У нас есть установка с тремя ветвями: исправление < -> master < -> разработка. В нормальных условиях команда разработчиков будет работать в отрасли развития. Для каждого пользовательского рассказа разработчик создаст ветку разработки: разработка < -> пользовательская история. Когда история завершена, история пользователя сливается с разработкой, и ветка истории пользователя может быть удалена. Это продолжается и продолжается, и мастер остается стабильным и незатронутым, пока менеджер сборки не решит, что он сэкономят все изменения в развитии обратно в мастер. Если в то же время клиент звонит и требует исправления, это тоже делается изолированно от основного и может быть объединено с остальной частью базы кода (мастер &) в подходящий момент в будущем.

Теперь обратитесь к графическим интерфейсам и SCM. Мы избегаем их, как чумы. Графические интерфейсы плохо подходят для работы с SCM. Я знаю - спорный, но выслушай меня. Командная строка замедлит вас больше, чем делает GUI, и когда вы работаете с SCM, и есть вероятность, что вы собираетесь сделать что-то плохое или разрушительное для своего центрального репо, медленное - это хорошо. Медленно заставляет задуматься о своих действиях. Все типичные графические интерфейсы, которые я видел (EclipseSVN, TortoiseGit/SVN), все предварительно выбирают ваши недавние изменения как часть комманды, которую вы собираетесь совершить, независимо от того, готовы ли эти изменения к совершению или нет. ПЛОХО!!!! Вам нужно подумать о своих коммитах и ​​о том, насколько они сложны или сложны, - командные строки работают лучше, чем GUI в этом отношении. Все наши .NET-кодеры, которые, естественно, обращаются к выполнению задач с помощью графических интерфейсов, используют командную строку Git и используют командную строку SVN до этого только по тем причинам, которые были изложены выше. Это дало им большее чувство контроля.

+0

Хранит ли Github весь репозиторий локально? Это больше для скорости или для избыточности? Как вы убеждаете своих разработчиков переключиться на использование командной строки над графическим интерфейсом, и что еще более важно, как вы гарантируете, что они проведут проверку своего кода своевременно? – Jesse

+0

Отличный комментарий - но я должен сказать, что мне очень приятно иметь интегрированный в IDE интерфейс управления версиями (если вы используете IDE), и если вы используете GUI IDE, то есть с помощью инструмента управления версией графического интерфейса). Я могу понять ваше бронирование - но для ежедневного цикла разработки очень приятно иметь ваше обновление - изменить код - совершить цикл в одном инструменте. Это делает использование vc более простым для обычного пользователя. По всем остальным я понимаю ваши проблемы. – bernhardrusch

+0

@ Джесси Гит (не Github per se) полностью распределен. Каждое место, где хранится репозиторий (например, Github), является полной копией всего репозитория, что звучит много, но на самом деле это не так. У нас около 30 миллионов лет разработки, занимающих около 400 миллионов дисковых пространств. Наличие всего репо локально означает, что работа с репо очень быстрая. Subversion сравнительно медленна в этом отношении, поскольку любые операции, такие как diff, проверка состояния или проверка файлов журналов, Subversion необходимо выполнять по всей сети. – Ijonas

0

Я не эксперт в этом, но я был огорчен в GUI или расширениях IDE SCM.Я использую SVN и GIT довольно хорошо с проектами, размещенными на sourceforge. Мой 2 центов стоит. CHEERS!

Смежные вопросы