Subversion
Z Wikipedii
Subversion (znany również jako SVN) jest zaawansowanym systemem kontroli wersji, który powstał w celu zastąpienia CVS. Funkcjonalnie jest z nim zgodny w większości przypadków, z kompatybilności zrezygnowano tylko tam, gdzie było to niezbędne.
[edytuj] Zmiany w stosunku do CVS
[edytuj] Historia zmian nazw katalogów i plików
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.
[edytuj] Zmiany są transakcjami atomowymi
Zmiany w kilku plikach lub katalogach odnoszą skutek tylko wtedy, gdy każda modyfikacja została zakończona 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.
[edytuj] Możliwość użycia serwera Apache
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.
[edytuj] Dostępny samodzielny serwer
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 utworzenia połączeń szyfrowanych.
[edytuj] Szybkie tworzenie gałęzi i znaczników
W odróżnieniu do CVS gdzie dodawanie gałęzi (branches) i znaczników (tags) z powodu organizacji mogło być czasochłonne, w SVN operacje te bazują na szybkim kopiowaniu – kopie zajmują małą, stałą przestrzeń.
[edytuj] Podział kodu na moduły
Subversion zaprojektowano w architekturze klient–serwer. W celu ominięcia niektórych problemów CVS kod został podzielony na moduły. Aplikacje zewnętrzne mogą się z nimi komunikować za pomocą dobrze opisanych interfejsów.
[edytuj] Pozostałe funkcje
- 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.
- Licencja Open Source typu Apache.
- Repozytorium przechowywane w bazie danych lub w systemie plików.
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- Strona domowa Subversion
- RapidSVN Graficzna nakładka dla Win32 i Linux
- TortoiseSVN Graficzna nakładka dla Win32
- Subversion HOWTO opis instalacji i konfiguracji Subversion w systemie linuksowym