Основное отличие, на мой взгляд, состоит в том, что Subversion поддерживает (только) реальную оптимистическую стратегию блокировки, что означает, что вы обычно работаете параллельно друг с другом, а вторые (и более поздние) должны объединить свои изменения с из других.
В TFS вы должны сначала оформить заказ, то есть зарезервировать файл для ваших изменений, чтобы выполнить любую работу. Это приводит к более пессимистичной стратегии блокировки.
И да, одно большое отличие состоит в том, что работа в автономном режиме не подходит для TFS и отлично поддерживается Subversion.
TFS, на мой взгляд, лучше поддерживает ветвление и слияние (по крайней мере, здесь очень помогает интерфейс).
TFS и Subversion имеют разные термины с одинаковыми значениями при фиксации / регистрации. (Ниже приводится информация от сотрудника, который работал с обоими инструментами.)
Def: Редакция:
Операция фиксации SVN публикует изменения в любом количестве файлов и каталогов в виде одной атомарной транзакции -> http://svnbook.red -bean.com /
По умолчанию: Изменить набор:
Набор изменений - это логический контейнер, в котором Team Foundation хранит все, что связано с одной операцией регистрации, а именно: версии файлов и папок -> http://msdn.microsoft.com/en-us/library/ms181408%28v=vs.80%29.aspx
Во время регистрации каждый файл связан с номером регистрации (считается как в Subversion). Если вы просматриваете историю папки / файла, вы можете увидеть историю в виде таблицы со столбцами: changeSet Numbers / date / comment С моей точки зрения, хорошей функцией является функция @Annotate. С помощью этой функции вы можете видеть наборы изменений одного файла на уровне LOC (строка 2-5 была изменена набором изменений 2 "Добавление регистрации, строка 10 была изменена набором изменений 5" Проверка на нулевые значения ";-))