Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Сравнение систем контроля версий

Общие требования к системам контроля версий

Основные требования, предъявляемые к системе контроля версий, заключаются в следующем:

    Надежное хранение файлов, помещенных в систему. Отсутствие каких-либо программных и иных ограничений на тип помещаемых в систему файлов, на их объем и количество. Отсутствие каких-либо программных и иных ограничений на число хранимых версий файлов. Производительность системы не должна зависеть от объема и количества хранимых файлов. Скорость работы не должна зависеть от общего объема и количества измененных файлов. Наличие выделенного сервера. Возможность удаленной работы при условии обеспечения приемлемого уровня безопасности. Возможность использования различных программных продуктов и инструментов при работе с системой. Атомарность всех выполняемых операций. Возможность работы при недоступном сервере. Возможность расширения функциональности за счет внешних модулей, скриптов и т. д. Наличие интеграции с системами баг-трекинга. Возможность интеграции в среду Microsoft Visual Studio.

Сравнение

CVS

IBM Rational ClearCase

Perforce

Subversion

Microsoft Visual SourceSafe

Операции с репозиторием

Атомарные коммиты[1]

Нет

Да

Да

Да

Нет

Перемещение или переименование файлов и папок[2]

Нет

Да

Косвенно[3]

Да

Косвенно[4]

Копирование файлов и папок на уровне репозитория[5]

Нет

Ограниченно[6]

Да

Да

Ограниченно

Управление доступом[7]

Ограниченно

Да

Да

Да

Да

Поддержка массивов изменений[8]

Нет

Косвенно

Да

Неявно

Нет

Построчный отчет об изменениях[9]

Да

Да

Да

Да

Косвенно[10]

Поддержка ветвления

Ограниченно

Да

Да

Да

Ограниченно

Поддержка меток

Ограниченно

Да

Да

Да

Ограниченно

Установление зависимостей между различными репозиториями

Нет

Нет

Да

Да

Нет

Дополнительные возможности

Работа с отдельной папкой[11]

Да

Да

Да

Да

Да

Отслеживание несохраненных изменений

Да

Да

Да

Да

Да

Сообщения к коммитам

К каждому изменению

К набору изменений

К каждому изменению

К набору изменений

К каждому изменению

Возможность расширения плагинами и скриптами

Да

Да

Да

Да

Нет

Интеграция с системами баг-трекинга

Да

Да

Да

Да

Нет

Технические детали

Качество документации

Отличное

Хорошее

Хорошее

Хорошее

Среднее

Простота развертывания

Просто

Сложно

Просто

Сложно

Очень просто

Набор команд[12]

Небольшой набор

Большой набор

Очень большой набор

Очень большой набор

Маленький набор

Поддержка работы по сети

Хорошая (включая поддержку SSH)

Плохая

Хорошая

Отличная (включая HTTPS и SSH)

Плохая

Пользовательский интерфейс

Веб-интерфейс

Да

Да

Да

Да

Нет

GUI-средства

Да, большое число

Да

Да

Да, большое число

Да

Интеграция

Да

Нет

Да

Да

Да


[1] Поддержка атомарных коммитов означает то, что в случае внезапного прерывания операции над репозиторием, последний не останется в неопределенном состоянии.

[2] При перемещении и переименовании обязательно должна сохраняться история изменения файла и папки.

[3] Поддерживается путем копирования и последующего удаления оригинала.

[4] Довольно неуклюжая поддержка переименования достигается командами «share-rename, move, delete».

[5] Копирование должно выполняться на уровне репозитория с обязательным сохранением истории изменений.

[6] Ограничения в среде Windows вызваны особенностями реализации.

[7] Подразумевает настройку прав доступа к отдельным папкам в репозитории.

[8] Набор изменений – отдельный набор относящихся друг к другу файлов, атомарно сохраняющийся в репозитории.

[9] Позволяет получить отчет о том, кто и когда внес изменения в отдельную строку файла.

[10] Путем сравнения двух версий файла.

[11] Поддержка работы с отдельной папкой, а не с проектом в целом.

[12] Совместимость с набором команд CVS, являющимся стандартом де-факто.