Subversion

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Subversion
system kontroli wersji
Producent Program budowany przez społeczność
Platforma sprzętowa wieloplatformowy
Pierwsze wydanie 2000-10-2020 października 2000
Aktualna wersja stabilna 1.8.9 / 14 maja 2014[1]
Aktualna wersja testowa 1.9.0-alpha2 / 14 kwietnia 2014[1]
Licencja Apache License 2
Książki w Wikibooks Książki w Wikibooks
http://subversion.apache.org/

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 itp.

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.

Przypisy

  1. 1,0 1,1 Apache Subversion News Archives (ang.). [dostęp 2014-05-16].

Linki zewnętrzne[edytuj | edytuj kod]