Różnica między SVN i VSS
- 3558
- 878
- Patrycy Ziółkowski
W każdym projekcie tworzenia oprogramowania nadchodzi moment, w którym komunikacja między uczestnikami staje się wąskim gardłem. Deweloperzy muszą przekraczać zmiany przez pewien czas, więc konieczne jest, aby wszyscy byli na tej samej stronie, upewniając się, że wszyscy mają najnowszą wersję niektórych kluczowych informacji.
W miarę wzrostu zakresu projektu liczba osób zaangażowanych w to. Z czasem staje się trochę złożone. Jednym z najlepszych sposobów poradzenia sobie z tą złożonością jest użycie systemów kontroli wersji.
Kontrola wersji to centralne repozytorium, które przechowuje zmiany w pliku lub zestawie plików w czasie, dzięki czemu różni członkowie zespołu zawsze mieli łatwy dostęp do najnowszych iteracji plików lub dokumentów związanych z projektem. Przyglądamy się dwóm popularnym systemom kontroli wersji - SVN i VSS.
Co to jest SVN?
Subversion, powszechnie skrócona jako SVN, jest bezpłatną wersją typu open source i systemem kontroli rewizji dystrybuowanej na licencji Apache używanej do utrzymania kodu źródłowego projektów Apache.
SVN to scentralizowany system kontroli wersji, który utrzymuje centralne repozytorium do przechowywania informacji w typowym hierarchicznym formacie plików i katalogów.
Repozytorium przechowuje pełną historię zmian kodu na centralnym serwerze. Jeśli programista chce połączyć się z repozytorium i uzyskać dostęp do pliku do wprowadzania zmian w tym pliku, musi wyciągnąć plik z centralnego repozytorium do własnego komputera, a następnie dodać lub zmodyfikować pliki i popchnąć zmiany do repozytorium.
Automatycznie aktualizuje lokalną kopię roboczą projektu, nad którym pracujesz, aby uwzględnić zmiany od każdego, kto pracuje nad projektem. Pozwala to każdemu uzyskać dostęp do najnowszych zaktualizowanych plików, które wypchałeś do centralnego repozytorium.
Co to jest VSS?
Visual SourceSafe (VSS) to rozproszony system kontroli wersji Microsoft, który automatyzuje proces śledzenia plików i sterowania wersją. Zaprojektowany do małych projektów tworzenia oprogramowania, VSS jest zwykle używany w trybie zintegrowanym z Microsoft Visual Studio. Podobnie jak SVN, utrzymuje centralną bazę danych, w której wszystkie pliki i dokumenty związane z projektem są przechowywane wraz z historią zmian w plikach w czasie.
Zasadniczo identyfikuje, organizuje i kontroluje zmiany w oprogramowaniu podczas jego rozwoju i konserwacji. Utrzymuje wiele wersji pliku, w tym zapis zmian, a archiwa i śledzi stare wersje plików. VSS był początkowo usługą zarządzania konfiguracją oprogramowania (SCM), ale z czasem przekształcono w system zarządzania kodem źródłowym. VSS umożliwia przechowywanie wszystkich rodzajów plików, w tym kod, grafiki, dokumentów, bibliotek, ikon, plików pomocy i tak dalej. Pliki te są przechowywane w bazie danych VSS w „projektach”. Działa jako wspólne repozytorium, w którym każdy może zapisać pliki związane z projektem, a także uzyskać dostęp do plików.
Różnica między SVN i VSS
Narzędzie SVN i VSS
- Microsoft Visual SourceSafe (VSS) był jednym z najpopularniejszych narzędzi kontroli i zarządzania źródłami Microsoft, które są zwykle używane zintegrowane z Microsoft Visual Studio. Narzędzie zostało pierwotnie opracowane przez firmę o nazwie One Tree Software, która później została przejęta przez Microsoft. VSS jest teraz wycofany.
Z drugiej strony SVN to bezpłatna wersja typu open source i system kontroli rewizji dystrybuowany na licencji Apache. SVN jest dość łatwy w użyciu, a przepływ pracy jest bardzo podobny do innych systemów kontroli wersji, więc ci, którzy już znają systemy kontroli wersji, nie będą mieli problemu z przejściem na SVN.
Atomowe zatwierdzenie
- Atomowe zatwierdzenie jest prawdopodobnie jedną z najlepszych praktyk w systemach zarządzania kodami źródłowymi, która jest niepodzielną zmianą, która popełnia wiele plików jako pojedyncze zameldowanie. Jest to zwykle uwzględniane jako podstawowa funkcjonalność w implementacjach SCM.
Jednym z powodów, dla których programiści wolą SVN niż inne systemy SCM, takie jak VSS, jest to, że SVN zezwala na zatrudnienie atomowe. Oznacza to, że kiedy popełnisz coś do SVN, albo wszystko, co chcesz się popełnić. Repozytorium nie przechodzi w stan niespójny, jeśli jakaś operacja zostanie przerwana w połowie. Jednak zobowiązania VSS nie są atomowe.
Tryb działania
- Kolejną podstawową różnicą między dwoma systemami kontroli wersji jest to, że tryb działania SVN nie jest blokowany. Oznacza to, że wielu użytkowników może uzyskać dostęp i modyfikować ten sam plik podczas pracy nad pracującymi kopiami bez tworzenia konfliktu.
SVN zapobiega wszelkim konfliktom między wieloma użytkownikami działającymi na tej samej kopii roboczej. Nic nie jest naprawdę zablokowane w SVN, a każdy członek zespołu, który ma dostęp do zatwierdze. Z drugiej strony z VSS nie ma gwarancji, że zmiany w tym samym pliku nie są ze sobą sprzeczne. Użytkownicy mogą zostać zablokowani podczas próby jednocześnie popełniania zmian w pliku wspólnym.
SVN vs. VSS: Wykres porównawczy
Podsumowanie SVN i VSS
Jedną z głównych różnic między SVN i VSS jest to, że tryb działania SVN nie jest blokowany, co oznacza, że wielu użytkowników może jednocześnie popełniać zmiany w pliku, bez podnoszenia żadnego konfliktu.
SVN to scentralizowany system kontroli wersji, który w czasie utrzymuje centralne repozytorium pełnej historii zmian kodu, ułatwiając każdemu dodawanie, modyfikowanie lub usuwanie dowolnego pliku w dowolnym momencie. Z drugiej strony VSS jest przerwaną usługą Microsoft, która kiedyś była jednym z powszechnie używanych narzędzi sterowania źródłem.