CVSComparison

Материал из OpenWiki
Перейти к: навигация, поиск

Оглавление


CVS

http://www.cvshome.org/

Классическая система управления версиями программного обеспечения. Имеется обычный и WEBbased интерфейс.

Главные недостатки
нет прямых средств для переименование файлов и директорий, неэффективное хранение бинарных файлов, не атомарные commit'ы.
Коммиты не атомарные
Перемещение и переименование файлов и директорий нет
Копирование файлов и директорий нет
Репликация, создание удаленной копии репозитория нет
Прием изменений из удаленного репозитория нет
Разграничение доступа к различным частям репозитория ограниченно, через "pre-commit hook scripts"
Changesets - объединение группы связанных изменений в разных файлах в один логический блок нет
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория да
Контроль изменений в рабочей копии, до commit'а в репозиторий да, cvs diff
Задание отдельного текста комментария для отдельного файла при commit'е нет, только на блок изменений
Качество и объем документации отлично
Простота установки, зависимость от стороннего ПО хорошо, cvs есть в пакетах к системе, ничего доустанавливать не нужно
Совместимость команд с CVS да
Сервер для доступа по сети да
Web интерфейсы пользователя множество (WebCVS, ViewCVS, Chora, wwCVS)
GUI интерфейсы пользователя множество (WinCVS, Cervisia (KDE)), встроенная поддержка во многих IDE
Лицензия GPL


  • OpenCVS - инициатива проекта OpenBSD по созданию защищенной реализации CVS, с поддержкой гибкой системы контроля доступа к репозиторию.

Subversion

http://subversion.tigris.org/

Система контроля версий программ, спозиционированная как замена CVS для Open Source разработчиков.

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий да
Репликация, создание удаленной копии репозитория да, с версии 1.4.0 (svnsync)
Прием изменений из удаленного репозитория через внешние скрипты (SVN::Mirror, svn-push)
Разграничение доступа к различным частям репозитория да, через средства WebDAV, с версии 1.3.0 - встроенными средствами
Changesets - объединение группы связанных изменений в разных файлах в один логический блок частично реализовано
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория да
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации отлично
Простота установки, зависимость от стороннего ПО При выборе Apache как сервера тянет Apache 2 и WebDAV. Часто есть в пакетах
Совместимость команд с CVS да
Сервер для доступа по сети WebDAV+DeltaV или собственный протокол
Web интерфейсы пользователя множество (ViewCVS, SVN::Web, WebSVN, ViewSVN, mod_svn_view, Chora, Trac, SVN::RaWeb::Light, SVN Browser, Insurrection)
GUI интерфейсы пользователя множество (TortoiseSVN, RapidSVN, Jsvn)
Клиенты для WIndows Есть (TortoiseSVN)
Лицензия Apache/BSD-style


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

svk

http://svk.elixus.org/

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

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий да
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория да
Changesets - объединение группы связанных изменений в разных файлах в один логический блок частично
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория да
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации документации мало
Простота установки, зависимость от стороннего ПО subversion + ряд perl модулей
Совместимость команд с CVS да
Сервер для доступа по сети есть
Web интерфейсы пользователя есть, как у subversion
GUI интерфейсы пользователя нет
Лицензия Perl License



Arch

http://gnuarch.org/

Стабильная распределенная система контроля версий, выросшая из набора shell скриптов (как и CVS). Поддерживает объединение ветвей и переименование файлов/директорий.

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий нет
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория дв
Changesets - объединение группы связанных изменений в разных файлах в один логический блок да
Подробная история построчных изменений только в ViewARCH
Возможность получения отдельной директории из репозитория только репозиторий целиком
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации удовлетворитольное
Простота установки, зависимость от стороннего ПО отлично
Совместимость команд с CVS частично
Сервер для доступа по сети отлично (FTP, SFTP, WebDAV,SMB)
Web интерфейсы пользователя ViewARCH, ArchZoom
GUI интерфейсы пользователя tlator, Octopy, ArchWay
Лицензия GNU GPL


Monotone

http://www.venge.net/monotone/

Распределенная система контроля версий, представляющая собой набор обособленных репозиториев (для каждого разработчика) с гибкими средствами синхронизации, превращающими их в единое целое. Команды похожи на CVS.

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий да
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория да
Changesets - объединение группы связанных изменений в разных файлах в один логический блок да
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория нет
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е да
Качество и объем документации хорошо
Простота установки, зависимость от стороннего ПО отлично
Совместимость команд с CVS частично
Сервер для доступа по сети хорошо (netsync)
Web интерфейсы пользователя нет
GUI интерфейсы пользователя нет
Лицензия GNU GPL




OpenCM

http://www.opencm.org/

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

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий нет
Репликация, создание удаленной копии репозитория нет
Прием изменений из удаленного репозитория нет
Разграничение доступа к различным частям репозитория права доступа привязаны к branch
Changesets - объединение группы связанных изменений в разных файлах в один логический блок да
Подробная история построчных изменений  ?
Возможность получения отдельной директории из репозитория нет
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е  ?
Качество и объем документации нормально
Простота установки, зависимость от стороннего ПО хорошо
Совместимость команд с CVS да
Сервер для доступа по сети есть клиент/сервер
Web интерфейсы пользователя нет
GUI интерфейсы пользователя нет
Лицензия GNU GPL, возможно поменяется на BSD или CPL



Aegls

http://aegis.sourceforge.net/

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий нет
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория да
Changesets - объединение группы связанных изменений в разных файлах в один логический блок
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория да
Контроль изменений в рабочей копии, до commit'а в репозиторий нет
Задание отдельного текста комментария для отдельного файла при commit'е да
Качество и объем документации среднее
Простота установки, зависимость от стороннего ПО работает под root, файлы SUID-root
Совместимость команд с CVS нет
Сервер для доступа по сети слабо развит
Web интерфейсы пользователя да
GUI интерфейсы пользователя tkaegis
Лицензия GNU GPL



Darcs

http://www.darcs.net

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий нет
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория нет
Changesets - объединение группы связанных изменений в разных файлах в один логический блок да
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория нет
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации хорошо
Простота установки, зависимость от стороннего ПО для сборки нужен Glasgow Haskell Compiler
Совместимость команд с CVS нет
Сервер для доступа по сети через HTTP, SSH или email
Web интерфейсы пользователя darcs.cgi
GUI интерфейсы пользователя нет
Лицензия GNU GPL



Vesta

http://www.vestasys.org/

Альтернатива комплекта CVS и make.

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий да
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория да
Changesets - объединение группы связанных изменений в разных файлах в один логический блок нет
Подробная история построчных изменений нет, но можно просто посмотреть файл
Возможность получения отдельной директории из репозитория только блоками
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации мало
Простота установки, зависимость от стороннего ПО средне
Совместимость команд с CVS нет
Сервер для доступа по сети интегрирован
Web интерфейсы пользователя Vestaweb
GUI интерфейсы пользователя нет
Лицензия GNU LGPL



BitKeeper

http://www.bitkeeper.com/

Хорошая коммерческая система


Perforce

http://www.perforce.com/

Хорошая коммерческая система.

Коммиты атомарные
Перемещение и переименование файлов и директорий ?
Копирование файлов и директорий ?
Репликация, создание удаленной копии репозитория ?
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория да
Changesets - объединение группы связанных изменений в разных файлах в один логический блок да
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория да
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации объём большой, качество среднее
Простота установки, зависимость от стороннего ПО ?; пакет полностью самодостаточен и не зависит от стороннего ПО
Совместимость команд с CVS нет?
Сервер для доступа по сети p4d, p2p
Web интерфейсы пользователя p4web
GUI интерфейсы пользователя p4v, p4win
Лицензия все компоненты пакета распространяются бесплатно в бинарном виде и являются полностью функциональными; исключение составляет сервер p2d, который без приобретения лицензии предоставляет возможность иметь 2-х пользователей и 5 рабочих пространств; для Open Source проектов лицензия предоставляется бесплатно


Достоинства
  • наличие документации к API и исходных текстов для написания собственного Perforce клиента
  • всеми компонентами пакета поддерживается большое количество ОС:
    • Linux 2.4.x for x86/PPC, 2.6.x for x86/x86_64
    • Solaris for x86/x86_64/IA64
    • FreeBSD for x86/x86_64/SPARC64; Darwin for x68/PPC
    • Mac OS X for x68/PPC
    • IBM AIX for PPC
    • SGI Irix for MIPS
    • Windows for x86/x86_64/IA64, Cygwin for x86
  • GUI компоненты, за исключением p4win, написаны на базе Qt, что делает их внешний вид и функциональность одинаковым под всеми поддерживаемыми ОС
Недостатки
  • высокая цена лицензии на сервер
  • распространяется в бинарном виде

Git

http://git-scm.org/

Система контроля версий, разработанная Линусом Торвалдсом самоё специально для Linux. Изначально рассчитана на работу с крупными проектами.

Коммиты атомарные
Перемещение и переименование файлов и директорий да
Копирование файлов и директорий нет
Репликация, создание удаленной копии репозитория да
Прием изменений из удаленного репозитория да
Разграничение доступа к различным частям репозитория нет
Changesets - объединение группы связанных изменений в разных файлах в один логический блок да
Подробная история построчных изменений да
Возможность получения отдельной директории из репозитория нет
Контроль изменений в рабочей копии, до commit'а в репозиторий да
Задание отдельного текста комментария для отдельного файла при commit'е нет
Качество и объем документации очень хорошо
Простота установки, зависимость от стороннего ПО да, C/shell/perl
Совместимость команд с CVS нет
Сервер для доступа по сети git, git+ssh, http
Web интерфейсы пользователя gitweb, cgit
GUI интерфейсы пользователя gitk, qgit, ...
Лицензия GNU GPL v2
Достоинства
  • высокая скорость.
  • мощные средства работы с бранчами.
Недостатки
  • there's more than one way to do it
  • Linus Torvalds on git - Линус рассказывает о Git, что, зачем и почему.

Ссылки