Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

SVNKit - это чистая программная библиотека Java с открытым исходным кодом для работы с системой контроля версий Subversion . Его можно использовать в проектах с открытым исходным кодом, но для разработки с использованием проприетарного программного обеспечения необходимо приобрести коммерческую лицензию. Он реализует практически все функции Subversion и предоставляет API для работы с рабочими копиями Subversion, доступа и управления репозиториями Subversion.

Особенности [ править ]

Основные особенности SVNKit:

  • Доступ к репозиторию по протоколам http (s): //, svn (+ ssh): // и file: //.
  • Поддержка всех операций с рабочей копией.
  • Администрирование репозитория: операции создания, загрузки, дампа и воспроизведения.
  • Низкоуровневый API , позволяющий взаимодействовать с репозиторием Subversion непосредственно на уровне протокола Subversion .
  • Полная реализация JavaHL API.
  • Известно, что SVNKit работает в Windows , Mac OS X , Linux , BSD , SunOS , OS / 2 и OpenVMS .
  • SVNKit совместим с JDK 1.5.

Функции, доступные в собственном клиенте Subversion, но отсутствующие в SVNKit:

  • Локальный доступ (file: //) к репозиториям на основе Berkeley DB (SVNKit предоставляет только локальный доступ к репозиториям типа FSFS по умолчанию).
  • Экспериментальный "крепостной" HTTP-доступ (SVNKit поддерживает только DAV- доступ).
  • Некоторые методы аутентификации HTTP (например, SSPI ) не полностью поддерживаются последней версией SVNKit.

Клиент командной строки [ править ]

Часть библиотеки SVNKit - это клиент Subversion из командной строки, реализованный поверх SVNKit. Он совместим с собственным клиентом командной строки Subversion и может использоваться в средах, где невозможно установить собственный Subversion, или из приложений (например, сценариев Apache Ant ), которые не могут полагаться на наличие встроенного Subversion.

Конкурс [ править ]

JavaHL - это оболочка JNI для собственного кода Subversion C. JavaHL можно использовать вместо SVNKit в большинстве случаев использования.

Тем не менее, SVNKit реализует JavaHL API, и, таким образом, и SVNKit, и оболочка Subversion JNI могут использоваться одновременно, чтобы пользователь мог выбирать, что лучше подходит для его среды. Справедливое сравнение SVNKit и JavaHL можно найти в Subversion Book . И SVNKit, и JavaHL имеют свои преимущества и недостатки.

Лицензирование [ править ]

SVNKit реализует схему двойного лицензирования . По умолчанию SVNKit лицензируется на условиях лицензирования, аналогичных условиям GPL , что в целом означает, что нет никаких ограничений на использование SVNKit, пока он используется в проекте с открытым исходным кодом .

Для проектов с закрытым исходным кодом необходимо приобретать коммерческую лицензию .

История [ править ]

В 2005 году компания-разработчик программного обеспечения TMate Software Ltd. объявила о выпуске 1.0.0 JavaSVN - чистой клиентской библиотеки Java Subversion . С тех пор проект был переименован в SVNKit.

Версии SVNKit до 0.9.3 лицензировались в соответствии с условиями лицензии BSD , позже схема лицензирования была изменена на двойное лицензирование .

Принятие [ править ]

Известно, что SVNKit используется в:

  • SmartSVN Subversion GUI- клиент от компании WANdisco .
  • IntelliJ IDEA IDE от компании JetBrains .
  • Сервер непрерывной интеграции TeamCity от компании JetBrains .
  • Subclipse - плагин Eclipse Subversion.
  • Subversive Team Provider для Eclipse - еще один плагин Eclipse Subversion.
  • Система отслеживания ошибок JIRA от компании Atlassian .
  • Браузер контроля версий FishEye от компании Atlassian .
  • JDeveloper от Oracle .
  • и многие другие товары ...

Внешние ссылки [ править ]

  • Домашний сайт SVNKit
  • Домашний сайт Subversion
  • Книга о Subversion