SVN по сравнению с [закрытым] сервером основы команды

Что такое NullPointerException?

Хорошим местом для начала является JavaDocs . Они охватывают это:

Брошено, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  • Вызов метода экземпляра нулевого объекта.
  • Доступ или изменение поля нулевого объекта.
  • Выполнение длины null, как если бы это был массив.
  • Доступ или изменение слотов с нулевым значением, как если бы это был массив.
  • Бросать нуль, как если бы это было значение Throwable.

Приложения должны бросать экземпляры этого класса для указания других незаконных видов использования нулевого объекта.

blockquote>

Также, если вы попытаетесь использовать нулевую ссылку с synchronized, который также выдаст это исключение, за JLS :

SynchronizedStatement:
    synchronized ( Expression ) Block
  • В противном случае, если значение выражения равно null, NullPointerException.
blockquote>

Как это исправить?

Итак, у вас есть NullPointerException. Как вы это исправите? Возьмем простой пример, который выдает NullPointerException:

public class Printer {
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public void print() {
        printString(name);
    }

    private void printString(String s) {
        System.out.println(s + " (" + s.length() + ")");
    }

    public static void main(String[] args) {
        Printer printer = new Printer();
        printer.print();
    }
}

Идентифицирует нулевые значения

. Первый шаг - точно определить , значения которого вызывают исключение . Для этого нам нужно выполнить некоторую отладку. Важно научиться читать stacktrace . Это покажет вам, где было выбрано исключение:

Exception in thread "main" java.lang.NullPointerException
    at Printer.printString(Printer.java:13)
    at Printer.print(Printer.java:9)
    at Printer.main(Printer.java:19)

Здесь мы видим, что исключение выбрано в строке 13 (в методе printString). Посмотрите на строку и проверьте, какие значения равны нулю, добавив протоколирующие операторы или используя отладчик . Мы обнаруживаем, что s имеет значение null, а вызов метода length на него вызывает исключение. Мы видим, что программа перестает бросать исключение, когда s.length() удаляется из метода.

Трассировка, где эти значения взяты из

Затем проверьте, откуда это значение. Следуя вызовам метода, мы видим, что s передается с printString(name) в методе print(), а this.name - null.

Трассировка, где эти значения должны быть установлены

Где установлен this.name? В методе setName(String). С некоторой дополнительной отладкой мы видим, что этот метод вообще не вызывается. Если этот метод был вызван, обязательно проверьте порядок , что эти методы вызывают, а метод set не будет называться после методом печати. ​​

Этого достаточно, чтобы дать нам решение: добавить вызов printer.setName() перед вызовом printer.print().

Другие исправления

Переменная может иметь значение по умолчанию setName может помешать ему установить значение null):

private String name = "";

Либо метод print, либо printString может проверить значение null например:

printString((name == null) ? "" : name);

Или вы можете создать класс, чтобы name всегда имел ненулевое значение :

public class Printer {
    private final String name;

    public Printer(String name) {
        this.name = Objects.requireNonNull(name);
    }

    public void print() {
        printString(name);
    }

    private void printString(String s) {
        System.out.println(s + " (" + s.length() + ")");
    }

    public static void main(String[] args) {
        Printer printer = new Printer("123");
        printer.print();
    }
}

См. также:

Я все еще не могу найти проблему

Если вы попытались отладить проблему и до сих пор не имеете решения, вы можете отправить вопрос для получения дополнительной справки, но не забудьте включить то, что вы пробовали до сих пор. Как минимум, включите stacktrace в вопрос и отметьте важные номера строк в коде. Также попробуйте сначала упростить код (см. SSCCE ).

76
задан BryanH 23 April 2013 в 19:52
поделиться

21 ответ

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

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

46
ответ дан bahrep 24 November 2019 в 11:02
поделиться

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

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

Также управление сборками в tfs 2005, по крайней мере, attrotious, и это не может даже создать по сравнению с 2008 slns. Мне действительно не нравится тот мой выбор управления исходным кодом, влияет на мой выбор развертывания, это - то, почему моя команда не является svn магазином.

0
ответ дан DevelopingChris 24 November 2019 в 11:02
поделиться

Я в настоящее время прилагаю усилия для оценки TFS в моей компании против Рационального Комплекта, который является тем, что мы в настоящее время используем. До сих пор TFS 2008 является pwning clearcase + clearquest. dev интеграция среды состоит в том, где она действительно сияет.

2
ответ дан rayray2030 24 November 2019 в 11:02
поделиться

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

3
ответ дан renil 24 November 2019 в 11:02
поделиться

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

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

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

3
ответ дан Ubiguchi 24 November 2019 в 11:02
поделиться

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

3
ответ дан Wedge 24 November 2019 в 11:02
поделиться

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

, Хотя, если Вы просто говорите о SCM, тогда я предпочитаю SubVersion. Мне действительно не нравится интеграция IDE. Мне также нравятся соглашение SVN Магистрального/Тега/Ответвления структуры и относительная простота переключения между ответвлениями. Слияние казалось легче в TFS все же. UI черепахи побеждает TFS'S БЕЗ ВСЯКИХ УСИЛИЙ хотя, особенно в отношении добавления файла к repo.

4
ответ дан swilliams 24 November 2019 в 11:02
поделиться

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

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

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

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

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

6
ответ дан pete blair 24 November 2019 в 11:02
поделиться

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

, Является ли TFS правильным призывом к Вам, будет зависеть частично от Вашего бюджета, размера Вашей группы разработчиков, и количества времени и персонала, доступного для конфигурации/обслуживания Вашего решения. Если Вы хотите дополнительное отслеживание ошибки, объект работы и возможности статистики проекта, которые обеспечивает TFS, это может стоить Вашего, в то время как посмотреть на другие альтернативы. Продукты как JIRA (от Систем Atlassian) или Trac интегрируются хорошо с Подрывной деятельностью и обеспечивают вид контроля, проект или диспетчер программ могли бы по более низкой цене.

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

7
ответ дан Scott Lawrence 24 November 2019 в 11:02
поделиться

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

8
ответ дан Donny V. 24 November 2019 в 11:02
поделиться

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

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

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

8
ответ дан Community 24 November 2019 в 11:02
поделиться

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

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

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

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

я не настоящий знакомый с SVN (я никогда не использовал его) - таким образом, я не могу прокомментировать, что "mergeing хуже с TFS" - и не поразили ошибку слияния, о которой Ben S сообщил - но я имел большой успех с ветвлением и слиянием использования TFS.

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

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

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

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

16
ответ дан fuzzbone 24 November 2019 в 11:02
поделиться

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

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

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

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

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

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

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

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

TFS действительно, который не является дорогим (1 200$, возможно?). По сравнению с SVN это, возможно. Интеграция с созданием отчетов о сервисах и SharePoint хороша, но снова, если Вы не используете это, тогда это не имеет значения.

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

23
ответ дан Cory Foy 24 November 2019 в 11:02
поделиться

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

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

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

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

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

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

48
ответ дан Dave Markle 24 November 2019 в 11:02
поделиться

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

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

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

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

Мое мнение, если это имеет значение:

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

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

87
ответ дан Dave Markle 24 November 2019 в 11:02
поделиться

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

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

1
ответ дан 24 November 2019 в 11:02
поделиться

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

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

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

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

10
ответ дан 24 November 2019 в 11:02
поделиться

Мы являемся магазином VS.NET, и мы реализовали:

  1. Bugzilla для отслеживания проблем
  2. Apache Subversion в качестве серверной части репозитория исходного кода
  3. VisualSVN Server для управления SVN на сервере
  4. TortoiseSVN (в проводнике Windows) и AhnkSVN или VisualSVN (в Visual Studio) на клиенте
  5. CruiseControl.NET для автоматизированных сборок

Стоимость: 0 долларов США Преимущества: бесценно

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

42
ответ дан 24 November 2019 в 11:02
поделиться

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

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

Adam

3
ответ дан 24 November 2019 в 11:02
поделиться

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

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

1
ответ дан 24 November 2019 в 11:02
поделиться

Мои 10 центов:

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

2
ответ дан 24 November 2019 в 11:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: