Вопрос

Несколько месяцев назад моя команда переключила систему управления версиями на Подрывная деятельность Apache От Безопасный визуальный источник, и мы никогда не были счастливее.

Недавно я рассматривал Сервер Team Foundation Server, и, по крайней мере, на первый взгляд, это кажется очень впечатляющим.Существует отличная интеграция с Visual Studio и множество отличных инструментов для администраторов баз данных, тестировщиков, менеджеров проектов и т.д.

Наиболее очевидным различием между этими двумя продуктами является цена.Трудно превзойти Apache Subversion (бесплатный).Team Foundation Server стоит довольно дорого, поэтому дополнительные функции действительно должны были бы надрать штаны Subversion.

  • Есть ли у кого-нибудь практический опыт работы с обоими?
  • Как они сравниваются?
  • Действительно ли Team Foundation Server стоит таких затрат?
Это было полезно?

Решение

Недавно я присоединился к проекту с открытым исходным кодом в CodePlex.Они используют TFS для управления версиями, и я должен сказать, что это абсолютно великолепно.Пока что я невероятно впечатлен этим.Я большой поклонник интеграции IDE и того, насколько легко разветвлять и помечать ваш код тегами.Добавление решения в систему управления версиями происходит примерно в два клика, если у вас уже все настроено должным образом.

Сейчас же.Стоит ли это такой высокой цены?Я так не думаю.Преимущество работы над проектами в CodePlex заключается в том, что это позволяет мне получить необходимый опыт работы с TFS на случай, если мне придется использовать его где-нибудь позже.Если вам нужна хорошая интеграция IDE для вашего системы управления версиями, пойдите и возьмите VisualSVN интеграционный пакет.Это гораздо, гораздо более дешевая инвестиция, чтобы получить множество тех же функций (кстати, бесплатно на компьютерах, не принадлежащих домену).

Другие советы

Вот самые большие различия между ними для меня, и я использовал оба варианта:

1) TFS довольно тесно связана с "способом разработки в Visual Studio". Это не означает, что TFS тесно связана с VS IDE, это означает, что TFS изо всех сил пытается сохранить знакомую парадигму Visual SourceSafe "регистрация" / "выезд", даже если это действительно больше не подходящая модель.Концепция Subversion "фиксации" / "обновления" намного более реалистична, когда у вас есть разработчики, которые могут проводить время, отключенные от сети.TFS ожидает, что разработчики всегда будут подключены к серверу.Это большой минус.Лично я считаю, что TFS не совсем прозрачна в отношении организации файлов на сервере и на вашем локальном диске из-за тесной интеграции Visual Studio.Даже более крупные сторонники TFS признают, что ее модель подключенной регистрации заезда / отъезда не является привлекательным вариантом для разработчиков, которые работают отключенно.В условиях, когда люди начинают обращать внимание на опции DVCS, такие как git и Mercurial, а не на SVN, модель TFS "check out" кажется немного похожей на динозавра.

2) Стоимость. Те, кто говорит, что TFS недорогая, вероятно, либо очень маленькие магазины, либо они не соблюдают условия лицензирования TFS.Вам нужна лицензия клиентского доступа практически для всего, что вы делаете.Вы менеджер, который просто устраняет ошибки?Вам понадобится ~ 250 КАЛ. долларов (5 из них включены в розничную лицензию TFS).Бизнес-пользователь, который просто хочет сообщить о своих проблемах?КАЛ за 250 долларов.Разработчик?250 долларов (если только у них нет MSDN, и в этом случае оно включено).Сервер?500 долларов (включены, если у вас есть MSDN).Конечно, кто-то, продающий вам копию TFS, скажет вам, что отслеживание рабочих элементов бесплатно для дополнительных пользователей, но эти дополнительные пользователи могут видеть только рабочие элементы, которые они сами создают, а не рабочие элементы всей команды, что не слишком полезно в ориентированной на команду гибкой среде.Все это складывается, когда у вас организация среднего размера, и становится трудно оправдать, когда так много лучших в своем классе продуктов, таких как SVN и дополнительные затраты CruiseControl.net, составляют 0 долларов.(Однако, справедливости ради по отношению к TFS, я все еще жду в самом деле хороший трекер проблем с операционной системой)

3) Структура проекта. В больших командах с меньшим количеством проектов TFS, вероятно, будет работать хорошо.Если у вас есть несколько небольших, несвязанных или слабо связанных между собой бизнес-приложений, структура TFS может начать становиться чрезмерной.Во-первых, невозможно определить таксономию самих проектов - вы можете настроить "Области" внутри проекта, но все проблемы и документы отслеживаются вместе в базовом контексте "проекта".Создание новых "проектов" часто отнимает много времени и является излишеством для небольших усилий.Конечно, SVN не имеет ничего подобного, поскольку он фокусируется только на управлении исходным кодом, но если вам нужна хорошая гибкость для небольших проектов, SVN и другой инструмент отслеживания проблем могут быть лучшим выбором.

Мое мнение, как бы там ни было, того стоит:

  • Для больших команд с большими проектами с хорошим бюджетом в магазине Microsoft, где разработчики работают почти исключительно в среде IDE, TFS является победителем.TFS также выигрывает, когда вам нужно централизованно применять политику в своих проектах.

  • Для ряда небольших команд с множеством разнообразных небольших проектов или магазинов, где стоимость является проблемой, или команд, в которых есть разработчики, работающие без системы управления версиями, используйте SVN.

Я удивлен, что у кого-то, кто использовал Subversion в прошлом, вообще могло возникнуть желание / потребность в управлении версиями TFS.

Мой опыт работы с TFS (2005) был довольно ужасным.Я прочитал всевозможные технические документы и руководства о том, как правильно структурировать ваш исходный код для различных нужд разработки.

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

Мои основные проблемы с TFS:

  • Слияние - это БОЛЬ по сравнению с subversion.
  • Есть не исправленные ошибки.Я наткнулся на статью о переименовании / слиянии, которая известна уже 2 года, и исправление никогда не будет выпущено в 2005 году.В итоге мы переместили нашу ветку в "поврежденную" папку и теперь игнорируем ее.
  • Установка блокировок только для чтения на ваши файлы сопряжена с трудностями.Кто сказал, что мне нужно редактировать пакетные файлы и создавать скрипты внутри TFS, чтобы она "проверила это" для меня?Подрывная деятельность знает какие файлы изменились.Там нет блокировок только для чтения.
  • Скорость.TFS работает очень медленно в глобальной сети, и на самом деле ее можно использовать, только если я подключаюсь по VPN к своему рабочему компьютеру, что в целом делает мою работу с разработчиками очень медленной.
  • Отсутствие хорошей интеграции командной строки и проводника.Интеграция с IDE действительно хороша для ежедневного обновления, добавления файлов и регистрации, но когда вам нужно что-то делать во многих проектах, приятно иметь в своем распоряжении хорошие инструменты.И прежде чем кто-нибудь вцепится мне в горло, утверждая, что tf.exe работает хорошо...на самом деле это не инструмент командной строки.Например, при проверке кода не должно появляться модальное диалоговое окно.

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

Мы - магазин VS.NET, и мы внедрили:

  1. Багзилла для отслеживания проблем
  2. Подрывная деятельность Apache в качестве серверного хранилища исходного кода
  3. Сервер VisualSVN для управления SVN на сервере
  4. TortoiseSVN (в проводнике Windows) и Анксвн или VisualSVN (в Visual Studio) на клиенте
  5. CruiseControl.NET для автоматизированных сборок

Стоимость:0 долларов Преимущества:Бесценный

Если у вас небольшая команда или вы не готовы участвовать в процессе TFS ВОЗ, вам подойдут SVN и инструменты с открытым исходным кодом.

Как указывали другие, TFS предоставляет вам гораздо больше возможностей, чем SVN, в виде управления проектами и тому подобного.Я использовал и то, и другое и работал с очень крупными компаниями при внедрении TFS, и вот мои два цента.

1) Если вы используете TFS 2005, обновитесь до TFS 2008.Ты будешь мне благодарен.В TFS 2008 есть масса улучшений, которые делают его работоспособным.

2) Если вы живете в Visual Studio и хотите интегрировать IDE, используйте TFS.Я использовал интеграцию с SVN и почти всегда возвращаюсь к использованию TortoiseSVN.

3) Если вам нравится идея интеграции учетных записей с проверкой подлинности Windows, используйте TFS.Управляемость с этой стороны приятная.Могут быть перехваты для SVN - я не уверен, но если вам нравится управление с графическим интерфейсом, TFS трудно превзойти.

4) Если вам нужно отслеживать показатели или у вас есть более простые способы реализации таких вещей, как политики регистрации, используйте TFS.

5) Если у вас есть люди, которые не будут внедрять это, если это не MSFT, используйте TFS.

6) Если вы занимаетесь чем-то большим, чем просто .NET (работа на Java, Eclipse и т.д.), используйте SVN.Да, существуют очень хорошие продукты (например, Teamprise), которые хорошо работают с TFS.Но если другие языки не являются небольшой частью вашего магазина, просто придерживайтесь SVN.

Помимо этого, функции SCM обоих примерно эквивалентны.Они оба выполняют ветвление и слияние, оба выполняют атомарные проверки, оба поддерживают переименования и перемещения.Я думаю, что для людей, которые только начинают знакомиться с концепцией ветвления и слияния, неплохо, чтобы ветви были видны в проводнике системы управления версиями.

TFS на самом деле не такая уж дорогая (может быть, 1200 долларов?).По сравнению с SVN это, пожалуй, так.Интеграция со службами reporting Services и SharePoint приятна, но опять же, если вы этим не пользуетесь, то это не имеет значения.

Что бы я бы посоветовал, так это загрузить 180-дневную пробную версию TFS и попробовать ее.Запустите пробную версию параллельно.Я думаю, ты будешь счастлива, независимо от того, каким путем ты пойдешь.

Как указывает Убигучи, TFS не является продуктом контроля версий.Покупка TFS с намерением использовать ее только для контроля версий явно была бы пустой тратой денег.TFS - это интегрированный набор инструментов для автоматизации всех аспектов управления жизненным циклом приложений (и в значительной степени ориентированный на "Предприятие".

Также согласно сообщению Бена С. - я не понимаю вашего комментария о блокировках.Блокировки вообще не требуются в TFS.Администраторы могут настроить TFS для работы как VSS (функции, требуемые некоторыми "неразумными" клиентами) для "Получения последней версии при оформлении заказа", что, я полагаю, также приводит к блокировке при выезде.

Но при "обычном" использовании TFS "проверка" запрашивает у пользователя тип блокировки - и по умолчанию должно быть "нет".Пользователь МОЖЕТ выбрать проверку (или блокировку регистрации), но это не обязательно.Если вам не нужны блокировки, не используйте их.

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

Я не очень хорошо знаком с SVN (я никогда им не пользовался) - поэтому я не могу прокомментировать, что "слияние хуже с TFS" - и не сталкивался с ошибкой слияния, о которой сообщил Бен С, - но я добился большого успеха с ветвлением и объединением с использованием TFS.

Один из вариантов использования, в котором, как я знаю, TFS все еще довольно слаба, предназначен для пользователей, которые регулярно находятся "в автономном режиме".TFS - это "Серверный продукт", который предполагает, что пользователи большую часть времени находятся на связи.Автономный интерфейс улучшился в выпуске 2008 года (в 2005 году он был мрачным), но ему еще предстоит пройти долгий путь.Если у вас есть разработчики, которым нужно (или которые хотят) часто отключаться от сети на длительные периоды времени - вам, вероятно, лучше использовать SVN.

Еще одной особенностью, которую следует учитывать поклонникам SVN, использующим TFS, является SVN - мост codeplex, который позволяет пользователям использовать TortiseSVN для подключения к TFS.Мой хороший друг и коллега широко использует его и ему это нравится.

Также меня удивляет комментарий об отсутствии командной строки - инструменты командной строки обширны (хотя многие требуют отдельной загрузки Электроинструменты TFS

Я подозреваю, что комментарии Бена основаны на оценке выпуска 2005 года, который явно был продуктом "Microsoft V1.0".В настоящее время продукт находится в версии 2.1, а версия 3 появится в ближайшем будущем.

TFS - это отвратительно.На данный момент я управляю версиями локально, используя SVN (с живой сеткой для резервных копий), потому что у меня много проблем с TFS.Основная проблема заключается в том, что TFS использует временные метки для записи, если у вас последняя версия, и сохраняет эти временные метки на сервере.Вы можете удалить свою локальную копию, получить последнюю версию из TFS, и она сообщит, что все файлы обновлены.Это глупая система, которая не дает вам никакой гарантии, что у вас правильная версия файлов.Это приводит к многочисленным неприятностям:

  • TFS необходимо информировать о редактировании любого файла, поэтому вы должны быть постоянно подключены к серверу.
  • TFS запутывается, если вы редактируете файлы вне IDE.Далее он устанавливает для всех файлов в NTFS режим только для чтения.

Хотя TFS поддерживает слияние, на самом деле это система проверки / оформления заказа.Если вы редактируете файл, вы часто обнаруживаете, что он заблокирован для других разработчиков.Есть способы обойти это, но система настолько запутана, что вы всегда будете сталкиваться с этой проблемой.Например, наши разработчики обнаружили, что они могут обойти настройку доступа ко всем файлам в NTFS только для чтения, проверив целое решение, которое устанавливает эксклюзивную блокировку для всех файлов.Я делал это несколько раз, потому что subversion имеет тот же синтаксис для проверки, который не получает блокировку.

Наконец, Team Explorer (клиент) занимает колоссальные 400 Мбайт, для установки сервера TFS требуется SharePoint и два дня.Установщик subversion one click занимает примерно 30 МБ, и он установит сервер для вас менее чем за минуту.TFS обладает множеством функций, но ее основа настолько шатка, что вы никогда не будете ими пользоваться или заботиться о них.TFS стоит дорого с точки зрения лицензии, и со временем разработчики будут тратить время на разглагольствования о stackoverflow вместо написания кода: P

Моя рекомендация: Командная система не стоит таких денег.Я использовал и то, и другое, и после использования Team System я попытался найти аналогичную замену.По сути, то, за что вы платите, - это интеграция, и вы могли бы возразить за поддержку настройки, но я смог создать замену командной системе, потратив немного времени и объединив инструменты вместе.

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

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

Вот версия VisualSVN с открытым исходным кодом, которая называется Анксвн.Теперь, когда collabnet взял это на себя, стало намного лучше.

Если все, что вам нужно, - это система управления версиями, TFS - это перебор.У одного из моих предыдущих работодателей на предприятии были TFS, VSS и Subversion.У нас на предприятии не было Active Directory или Exchange Server 2003, поэтому в итоге мы создали отдельных пользователей на сервере TFS, чтобы разработчики могли его использовать.У нас были те же проблемы со слиянием, о которых упоминал Бен Шиерман, наряду с другими ошибками, которые подтолкнули нас к Subversion.

То, подходит ли вам TFS, будет частично зависеть от вашего бюджета, размера вашей команды разработчиков и количества времени и персонала, доступных для настройки / обслуживания вашего решения.Если вам нужны дополнительные возможности отслеживания проблем, рабочих элементов и статистики проекта, предоставляемые TFS, возможно, вам стоит рассмотреть другие альтернативы.Такие продукты, как JIRA (от Atlassian Systems) или Trac, хорошо интегрируются с Subversion и обеспечивают контроль, который может осуществлять менеджер проекта или программы по более низкой цене.

В идеальной среде, с Active Directory, Exchange Server 2003 или выше и выделенным персоналом для работы с репозиторием, TFS, скорее всего, будет хорошим выбором.

Я пользовался им как на работе, так и дома.Они оба очень крутые сами по себе.Единственный раз, когда я бы рекомендовал использовать TFS, - это если вы будете использовать больше функций, чем просто систему управления версиями.Если все, что вам нужно, - это управление версиями, вы не ошибетесь с SVN, и вот почему.

  1. Сервер VisualSVN Это полноценный SVN-сервер с хорошим плагином для управления им.Это позволяет вам использовать проверку подлинности Windows прямо через пользовательский интерфейс.Легко.

  2. Черепаха Это черепаха, достаточно сказано.

  3. анксвн Это отличный SCC-плагин.Для тех, кто хочет полной интеграции с IDE, последняя версия представляет собой полноценный SCC-плагин.Таким образом, теперь вы получаете полную интеграцию бесплатно.

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

TFS - это не просто система управления версиями.Если вы используете весь пакет, который предлагает TFS, отслеживание ошибок, сборки, отчеты и т.д., то TFS - довольно надежный выбор (определенно лучше, чем Rational).TFS также хорошо интегрируется с Active Directory.

Хотя, если вы просто говорите о SCM, то я предпочитаю SubVersion.Мне не очень нравится интеграция с IDE.Мне также нравится соглашение SVN о структуре Trunk / Tags / Branches и относительная простота переключения между ветвями.Однако слияние казалось проще в TFS.Однако пользовательский интерфейс Tortoise превосходит возможности TFS, особенно в том, что касается добавления файла в репозиторий.

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

Широко использовав оба варианта, я думаю, Ведж не зря отметил, что "TFS включает отслеживание ошибок, рабочих элементов и другие функции, выходящие за рамки контроля версий".

Тем не менее, я могу честно сказать, что SVN и TFS кажутся довольно равными в отношении масштабируемости, и, во всяком случае, система управления версиями SVN имеет преимущество перед TFS из-за присущей ей простоты.

Если вам нужны рабочие элементы и отслеживание ошибок наряду с системой управления версиями, то вы либо используете TFS, либо SVN и некоторые другие, возможно бесплатные, инструменты, такие как bugzilla.Хотя TFS объединяет как систему управления версиями, так и отслеживание рабочих элементов вместе, я, честно говоря, думаю, что MS следовало бы раздать ее бесплатно в качестве извинения за то, что на протяжении многих лет злоупотребляла VSS столькими разработчиками.

Я использовал как SVN, так и TFS.Главным преимуществом использования TFS является ее тесная интеграция с Visual Studio.Отслеживание ошибок, Отслеживание задач - все это будет находиться в одном месте.А отчеты, сгенерированные для этих элементов, помогут заинтересованным сторонам быть в курсе состояния проекта.

Я работаю над проектом с участием 5 человек, и мы недавно перешли с SVN на TFS.Весь этот процесс был настоящим кошмаром.У нас есть автоматически сгенерированный код из XMLSpy, и TFS не распознает файлы, измененные за пределами VS2008.TFS Power Tools может просканировать вашу кассу и устранить эту проблему, но помнить об использовании этих инструментов - сплошная мука.Еще одна проблема, с которой мы постоянно сталкиваемся, - это инструмент слияния по умолчанию в TFS.Это, безусловно, худший инструмент слияния, который я когда-либо использовал.Можно было бы подумать, что TFS сможет обрабатывать слияния базовых решений, но до сих пор это было не так.

Встроенный пользовательский интерфейс очень полезен, но у него также есть недостатки.Если я выполняю проверку из своего обозревателя решений, иногда файлы, которые были добавлены, не извлекаются.Если я делаю это из окна Team Source Control, это работает отлично.Почему это так?Я с нетерпением жду появления TFS в VS2010, поскольку слышал о ней много хорошего, а SVN далек от совершенства, но я бы ожидал, что некоторые из этих функций будут функционировать немного более интуитивно.

Адам

TFS отлично подходит для управления проектами и отслеживания, однако я чувствую, что система управления версиями не так хороша, как SVN.Вот мои рекомендации по работе с TFS:

Модель заезда/выезда

Это огромный недостаток для системы управления версиями TFS.К сожалению, VS автоматически проверяет элементы для вас, даже если вы этого не хотите.Я был в ситуации, когда кто-то проверил некоторые файлы, а затем уехал в отпуск.Я отвечал за реструктуризацию структуры каталогов, но не смог этого сделать, потому что куча файлов была передана этому человеку.В графическом интерфейсе нет способа отменить проверку, что означало, что это должно было выполняться одно за другим в командной строке.Или мне нужно было придумать, как написать сценарий power shell для этого.

VS обязан делать все

Иногда мне хочется отредактировать текстовый файл и вернуть его обратно.Это требует, чтобы я запустил VS 2010, который является огромным чудовищем, просто чтобы отредактировать файл и зарегистрировать его.То, что с SVN заняло несколько секунд, теперь занимает у меня минуту.

Как указывали некоторые другие, файлы помечаются как доступные только для чтения, если они не извлечены.Если вы сделаете его доступным для записи и отредактируете за пределами VS, TFS это не распознает.Это делает редактирование чего-либо за пределами VS раздражающим.Это означает, что запускаем VS, извлекаем файл, редактируем его в другом редакторе, регистрируемся в VS.

Некоторые операции, которые были простыми в SVN, теперь доставляют массу хлопот

  • Возможно, я еще не разобрался в этом, но я обнаружил, что откат набора изменений в TFS был очень утомительным.

  • Добавление файлов в систему управления версиями, которые не являются частью решения, сопряжено с огромными трудностями.Проводник системы управления версиями TFS показывает только, какие файлы находятся в системе управления версиями, а какие нет (возможно, где-то есть настройка для этого, я не знаю).С Tortoise SVN я мог бы просто нажать Commit в папке и выбрать, какие файлы добавлять.

В настоящее время я возглавляю работу по оценке TFS в моей компании на основе Rational Suite, который мы в настоящее время используем.Пока что TFS 2008 использует clearcase + clearquest.Интеграция со средой разработки - это то, где она действительно блистает.

Мои 10 центов:

TFS2005 был шуткой - его было сложно установить и еще сложнее обслуживать TFS2008 был стабильным - проще в установке, обслуживании и автоматизированных сборках, которые работают.TFS2010 - это ЭПИЧНО!- установка очень проста.Управление очень простое;это все красиво оформленный пользовательский интерфейс.Интегрировать его с VS2008 не так просто, поскольку вы не можете создавать проекты в vs2008, вы должны использовать vs2010 (что глупо).TFS2010 также позволяет вам изменить местоположение проекта sharepoint вместо этих ужасных вложенных папок TFS2008.В TFS2010 также есть такие инструменты, как диаграмма анализа, которая действительно полезна для управления проектами.Это похоже на то, что TFS2010 предназначен для всей производственной команды, включая клиентов!Хотя это все равно стоит слишком дорого :(

Также имейте в виду, что TFS требует ГОРАЗДО больших мощностей от серверного оборудования.И, конечно, как минимум одна лицензия Windows server.

Наилучшей практикой, которой придерживается наша компания, является использование 2 серверов:внешний интерфейс (с интегрированным sharepoint) и выделенный sql-сервер в фоновом режиме (мы используем корпоративный кластер).TFS может быть установлена на 1 машину, но не должна.

Для сравнения, наш svn-сервер установлен на виртуальном linux-сервере с 256 МБ оперативной памяти и 1 процессором и по-прежнему работает на несколько величин быстрее при выполнении обычных задач, таких как checkout-all.Виртуальное оборудование было самым низким, какое только мог назначить vshpere!Однако диск работает быстро (SAN).

Я бы предположил, что для TFS требуется выделенное оборудование стоимостью не менее 5000 долларов, в то время как svn server (в Linux) может работать с любым оборудованием, которое устарело для текущей ОС на базе Windows.

На мой взгляд, это зависит от ситуации и окружения, в которых выполняется проект.Если у вас всего лишь простой, небольшой проект, то SVN - это здорово.Как уже некоторые писали, VisualSVN прекрасно интегрируется в Visual Studio s.t.вам не нужно выполнять проверку через собственную файловую систему.

TFS отлично подходит для контроля версий, но еще лучше, если вы действительно используете все ее возможности.На мой взгляд, это действительно стоит того, если вы используете, например, рабочие элементы в качестве интегрированного хранилища для обработки отчетов клиентов об ошибках, запросов на новые функции и для отслеживания хода выполнения вашего проекта путем управления задачами и соответствующими показателями расчетного времени, использованного времени и оставшегося времени.
Что также действительно интересно, так это использовать функцию связывания рабочих элементов с проверками исходного кода.Видишь здесь для получения дополнительной информации об этом.

Мы - небольшая команда, находящаяся в процессе перехода с SVN на TFS2010.Наша главная причина сделать это - интеграция в Visual Studio и WebAccess для отслеживания ошибок, который теперь является частью TFS.

@Адам:Надеюсь, у нас будет лучший опыт.Пока не могу сказать...

Я использовал SVN в течение последних 3 лет (ранее переходил с VSS), и недавно мне пришлось переключиться на TFS2010.Общее ощущение таково, что он более глючный, чем SVN, и, за исключением хорошей интеграции с задачами / ошибками, я не вижу в нем преимущества перед SVN.Скорость, по-видимому, также несколько медленнее, чем у SVN.

Если бы я сейчас выбрал sourcecontrol, я бы все равно выбрал SVN.

Что касается инструментов:- Плагин AnkhSVN Visual Studio так же хорош, как и система управления версиями TFS - Tortoise намного лучше, чем аналог TFS

TFS - это здорово, если вам не нужны люди, не являющиеся разработчиками, чтобы перейти к материалам pm.

Наша служба поддержки должна быть вовлечена в этот процесс, и она просто не справлялась с этим.

Кроме того, управление сборкой, по крайней мере, в tfs 2005, является привлекательным, и оно даже не может создавать SLN vs 2008.Мне действительно не нравится, что мой выбор системы управления версиями влияет на выбор развертывания, вот почему моя команда не является магазином svn.

Если это просто основываясь на системе управления версиями, я бы выбрал SVN.Бесплатная надстройка AnkhSVN для Visual Studio была значительно улучшена в своей новой версии.Кроме того, вы получаете исходный код для SVN, и документация отличная!Они изменились какие - то тайные вещи в системе управления версиями TFS 2010 и без исходного кода устранение неполадок может быть очень сложным делом.Кроме того, вы зависите от команды MSDN в выкачивании документов, и они делают это по своему собственному графику и на своей собственной глубине.

Это , как говорится, Очевидно, что TFS предлагает гораздо больше, чем просто управление версиями.Это важный элемент Милостыня инструмент.Объединение его с рабочими элементами, отчетностью, автоматизированными сборками, закрытый заезд, автоматизированное тестирование и т.д.может обеспечить некоторую очень большую ценность, которую вы можете получить, только подключив разрозненные инструменты к SVN.И, конечно, наличие исходного кода для SVN не является безотказным решением.Я сталкивался со сценариями с SVN, в которых все равно потребовались бы недели, чтобы полностью понять, что происходит.

Итак, я рекомендую вам взглянуть на это с точки зрения ALM и посмотреть, собирается ли ваша компания использовать все функции TFS или собирается использовать лучшую в своем классе стратегию (например,ДЖИРА).

TFS на милю.

Я непреднамеренно создаю для себя слишком много проблем с подходом, основанным на файлах SVNs.Проблемы с управлением версиями, с которыми я столкнулся:Проблемы с TFS – 0 за 2 года SVN – сбился со счета...

Да, я знаю, что цена TFS учитывает это для большинства компаний, и это такой позор.MS могла бы иметь гораздо большую долю рынка (и прибыль), если бы у них была разумная модель ценообразования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top