Logo programu | |
Autor | Program budowany przez społeczność |
---|---|
Pierwsze wydanie | (dts) | 20 października 2000
Platforma sprzętowa | wieloplatformowy |
Rodzaj | system kontroli wersji |
Licencja | Apache License 2 |
Strona internetowa |
Subversion (znany również jako SVN) – system kontroli wersji, który powstał w celu zastąpienia CVS. Z założenia SVN jest w większości przypadków funkcjonalnie zgodny ze swoim poprzednikiem, z kompatybilności zrezygnowano tam, gdzie było to niezbędne do wprowadzenia nowych rozwiązań. SVN jest wolnym i otwartym oprogramowaniem na licencji Apache.
Zmiany w stosunku do CVS
[edytuj | edytuj kod]Historia zmian nazw katalogów i plików
[edytuj | edytuj kod]Brak historii wprowadzanych zmian nazw katalogów był jedną z najczęściej krytykowanych wad CVS. Subversion zapisuje nie tylko zawartość pliku oraz informacje, czy dany plik istnieje, ale także położenie pliku w katalogach, jego kopie, zmiany nazw. Pozwala również zapamiętywać właściwości danego pliku lub katalogu, np. flagi wykonywalności.
Zmiany są transakcjami atomowymi
[edytuj | edytuj kod]Zmiany w kilku plikach lub katalogach odnoszą skutek tylko wtedy, gdy wszystkie modyfikacje zostały zakończone pomyślnie. W CVS możliwa była sytuacja, gdy część plików została zaktualizowana, a część nie, np. w przypadku zerwania połączenia sieciowego.
Możliwość użycia serwera Apache
[edytuj | edytuj kod]Subversion może używać protokołu bazującego na HTTP – WebDAV/DeltaV do komunikacji sieciowej, serwer webowy Apache zapewnia dostęp do sieci po stronie repozytorium. To daje Subversion przewagę nad CVS i wprowadza za darmo ważne funkcje takie jak: uwierzytelnianie i autoryzację użytkowników, kompresję przesyłanych danych oraz podstawowy dostęp do repozytorium.
Dostępny samodzielny serwer
[edytuj | edytuj kod]Subversion umożliwia dostęp do repozytorium przez dedykowany serwer, niezależny od serwera http. Jest on uruchamiany jako usługa inetd lub oddzielny demon. Oferuje on podstawowe uwierzytelnianie i autoryzację użytkowników. Umożliwia także tworzenie połączeń szyfrowanych.
Szybkie tworzenie gałęzi i znaczników
[edytuj | edytuj kod]W odróżnieniu do CVS, gdzie dodawanie gałęzi (branches) i znaczników (ang. tags) z powodu organizacji mogło być czasochłonne, w SVN operacje te bazują na szybkim kopiowaniu – kopie zajmują małą, stałą przestrzeń.
Pozostałe funkcje
[edytuj | edytuj kod]- Własny protokół klient/serwer.
- Protokół umożliwia przesyłanie różnic w plikach od klienta do serwera i odwrotnie.
- Rozmiar przesyłanych danych przy zmianie pliku jest proporcjonalny do rozmiaru zmian, a nie pliku.
- Efektywna obsługa plików binarnych.
- Repozytorium przechowywane w bazie danych lub w systemie plików.
Linki zewnętrzne
[edytuj | edytuj kod]- Subversion. Apache Software Foundation. (ang.).