SVNKit
Deweloperzy | TMate Software Ltd. |
---|---|
Pierwsze wydanie | 5 listopada 2004 |
Wersja stabilna | 1.10.3 / 29 stycznia 2021
|
Napisane w | Jawa |
System operacyjny | Międzyplatformowe |
Typ | Biblioteka oprogramowania |
Licencja | Podwójna licencja: silna licencja w stylu copyleft dla projektów open source i licencja komercyjna dla projektów zamkniętych |
Strona internetowa | https://svnkit.com/ |
SVNKit to otwarta biblioteka oprogramowania Java do pracy z systemem kontroli wersji Subversion . Można go używać w projektach typu open source, ale wymaga zakupu licencji komercyjnej, aby móc korzystać z oprogramowania zastrzeżonego. Implementuje praktycznie wszystkie funkcje Subversion i zapewnia API do pracy z kopiami roboczymi Subversion, dostępu i manipulowania repozytoriami Subversion.
Cechy
Główne funkcje SVNKit to:
- Dostęp do repozytorium przez protokoły http(s)://, svn(+ssh):// i file://.
- Wsparcie dla wszystkich operacji kopiowania roboczego.
- Administracja repozytorium: operacje tworzenia, ładowania, zrzucania i odtwarzania.
- Niskopoziomowe API , które pozwala na interakcję z repozytorium Subversion bezpośrednio na poziomie protokołu Subversion .
- Kompletna implementacja API JavaHL.
- Wiadomo, że SVNKit działa w systemach Windows , Mac OS X , Linux , BSD , SunOS , OS/2 i OpenVMS .
- SVNKit jest kompatybilny z JDK 1.5.
Funkcje dostępne w natywnym kliencie Subversion, ale brakujące w SVNKit:
- Lokalny dostęp (file://) do repozytoriów opartych na Berkeley DB (SVNKit zapewnia lokalny dostęp tylko do domyślnych repozytoriów typu FSFS).
- Eksperymentalny dostęp HTTP „Serf” (SVNKit zapewnia tylko obsługę dostępu DAV ).
- Niektóre metody uwierzytelniania HTTP (np. SSPI ) nie są w pełni obsługiwane przez najnowszą wersję SVNKit.
Klient wiersza poleceń
Częścią biblioteki SVNKit jest klient Subversion z wiersza poleceń zaimplementowany na SVNKit. Jest kompatybilny z natywnym klientem wiersza poleceń Subversion i może być używany w środowiskach, w których nie jest możliwe zainstalowanie natywnego Subversion lub z poziomu aplikacji (np. Apache Ant ), które nie mogą polegać na natywnej obecności Subversion.
Konkurs
JavaHL to opakowanie JNI natywnego kodu Subversion C. JavaHL może być używany zamiast SVNKit w większości przypadków użycia.
Jednak SVNKit implementuje JavaHL API, dzięki czemu zarówno SVNKit, jak i Subversion JNI mogą być używane jednocześnie, aby umożliwić użytkownikowi wybór tego, co lepiej pasuje do jego środowiska. Rzetelne porównanie SVNKit i JavaHL można znaleźć w Subversion Book . Zarówno SVNKit, jak i JavaHL mają swoje zalety i wady.
Koncesjonowanie
SVNKit wdraża system podwójnego licencjonowania . Domyślnie SVNKit jest licencjonowany na warunkach podobnych do warunków licencji GPL , co ogólnie oznacza, że nie ma żadnych ograniczeń ani ograniczeń w korzystaniu z SVNKit, o ile jest używany w projekcie open source .
W przypadku projektów o zamkniętym kodzie źródłowym należy zakupić licencję komercyjną .
Historia
W 2005 roku firma programistyczna o nazwie TMate Software Ltd. ogłosiła wydanie 1.0.0 JavaSVN — czystej biblioteki klienckiej Java Subversion . Od tego czasu nazwa projektu została zmieniona na SVNKit.
Wersje SVNKit przed 0.9.3 były licencjonowane na warunkach licencji BSD , późniejszy schemat licencjonowania został zmieniony na podwójne licencjonowanie .
Przyjęcie
Wiadomo, że SVNKit jest używany w:
- SmartSVN Subversion GUI firmy WANdisco .
- IntelliJ IDEA IDE firmy JetBrains .
- TeamCity Continuous Integration Server firmy JetBrains .
- Subclipse — wtyczka Eclipse Subversion.
- Subversive Team Provider dla Eclipse - kolejna wtyczka Eclipse Subversion.
- JIRA firmy Atlassian .
- FishEye firmy Atlassian .
- JDeveloper firmy Oracle .
- i wiele innych produktów...