С точки зрения контроля версий, как операции TFS сравниваются с SVN? - PullRequest
2 голосов
/ 18 ноября 2011

Каковы реальные различия между TFS и SVN для пользователя с точки зрения контроля версий?

Например: на SVN у нас есть основные команды:

  • Выезд
  • Экспорт
  • Commit
  • Обновление
  • Удалить
  • Revert

И каждый файл имеет свой номер ревизии.

Есть ли в TFS и эти команды? Каждый файл имеет свой номер ревизии?

Пожалуйста, отвечайте только с точки зрения контроля версий. Отслеживание ошибок, ALM и ценообразование не имеют отношения к этому вопросу.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Основное отличие, на мой взгляд, состоит в том, что 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" Проверка на нулевые значения ";-))

0 голосов
/ 19 ноября 2011

Команды, которые вы перечислили, поддерживаются ВСЕМИ системами контроля источников, поскольку они являются абсолютным минимумом, который любой SC должен даже считать функциональным.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...