Apache Subversion

Apache Subversion

Informacja
Twórca CollabNet
Opracowany przez Fundacja oprogramowania Apache
Pierwsza wersja 20 października 2000
Ostatnia wersja 1.14.1 (10 lutego 2021 r)
Kaucja svn.apache.org/repos/asf/subversion/trunk
Napisane w VS
System operacyjny GNU / Linux , Microsoft Windows , macOS i BSD ( d )
Rodzaj Scentralizowane zarządzanie wersjami ( d )
Licencja Licencja Apache w wersji 2.0
Stronie internetowej subversion.apache.org

Subversion (w skrócie svn ) to oprogramowanie do kontroli wersji , wydane na licencji Apache . Został zaprojektowany, aby zastąpić CVS . Jego autorzy dobrowolnie opierają się na tych samych koncepcjach (w szczególności na zasadzie scentralizowanego i pojedynczego repozytorium ) i uważają, że model CVS jest dobry, tylko jego implementacja może zostać ulepszona.

Dlatego Subversion działa w trybie klient-serwer , z:

Projekt został uruchomiony w Luty 2000przez CollabNet , z zatrudnieniem przez Jima Blandy'ego z Karla Fogela , który już pracował nad nowym oprogramowaniem do kontroli wersji.

Plik 14 lutego 2010, SVN oficjalnie stało się projektem Fundacji Apache , przyjmując nazwę Apache Subversion .

Wkład Subversion

Subversion zostało napisane w celu wypełnienia niektórych luk w CVS .

Oto główne wkłady:

Z punktu widzenia zwykłego użytkownika, główne zmiany przy przejściu na Subversion to:

Gałęzie i tagi

Jedną z osobliwości Subversion jest to, że nie rozróżnia etykiety , gałęzi i katalogu . To prosta konwencja nazewnictwa dla użytkowników. To sprawia, że ​​porównanie etykiety i gałęzi lub innego krzyża jest bardzo łatwe .

Niezależnie od systemu kontroli wersji, wielocyfrowe numery wersji są trudne do zapamiętania. Z tego powodu wiele systemów pozwala użytkownikowi zdefiniować tagi jako łatwiejsze do zapamiętania synonimy. Ale to, co Subversion zaleca używanie jako znacznika, ma zupełnie inny charakter: po wykonaniu polecenia svn copyznacznik Subversion absolutnie nie pamięta, z jakiego numeru wersji pochodzi. Podczas gdy w większości innych systemów tag jest odniesieniem , „tag” Subversion jest tylko kopią. Dostępnych jest tylko kilka predefiniowanych odniesień: HEAD, PREV, BASE, COMMITTED.

Inną różnicą jest to, że tagi w innych systemach są punktami w czasie, podczas gdy Subversion zaleca definiowanie tagów jako punktów w przestrzeni systemu plików.

Ten brak tagu w zwykłym sensie sprawia, że ​​niektóre operacje w Subversion są trochę mniej praktyczne. Na przykład znalezienie tego, co zmieniło się z jednego znacznika na inny w pliku, jest nieco bardziej skomplikowane niż uruchomienie prostego polecenia: svn diff -r tag1:tag2 monfichierw katalogu roboczym.

Inne operacje stają się niemożliwe: na przykład polecenie takie jak svn log -r tag1:tag2 monfichiernie działa i nie ma alternatywy, która działa.

Aby przezwyciężyć te niedociągnięcia, na listach dyskusyjnych SVN zaproponowano dodanie „etykiet” lub „aliasów”. Etykiety te byłyby równoważne tagom z innych systemów, takich jak CVS , git lub inne. W 2010 r. Sugestia ta nie wyszła poza etap dyskusji.

Główne polecenia Subversion

Zamówione Znaczenie
Dodaj Zadeklaruj dodanie nowego zasobu dla następnego zatwierdzenia.
winić Pozwala dowiedzieć się, który współautor przesłał wiersze pliku.
kasy (co) Lokalnie pobiera wersję i jej metadane z repozytorium.
sprzątać Wyczyść kopię lokalną, aby przywrócić ją do stabilnego stanu.
zatwierdzić (ci) Zapisuje lokalne zmiany w repozytorium tworząc nową wersję.
kopiuj (cp) Skopiuj zasoby do innej lokalizacji (lokalnie lub w repozytorium).
usuń (rm) Zadeklaruj usunięcie istniejącego zasobu dla następnego zatwierdzenia (lub bezpośrednio usuń zasób z repozytorium).
diff (di) Oblicza różnicę między dwiema wersjami (umożliwia utworzenie poprawki do zastosowania w kopii lokalnej).
eksport Pobiera wersję bez metadanych z repozytorium lub kopii lokalnej.
import Wysyła lokalne drzewo do repozytorium.
info Zawiera informacje o pochodzeniu lokalnej kopii.
lista (ls) Wyświetla wpisy w katalogu repozytorium.
zamek Blokuje plik.
log Daje komunikaty o zatwierdzeniu zasobu.
łączyć Oblicza różnicę między dwiema wersjami i stosuje tę różnicę do kopii lokalnej.
ruch (mv) Deklaruje ruch zasobu.
propdel (pd) Usuwa własność pliku.
propedit (pe) Edytuj wartość właściwości.
propget (pg) Zwraca wartość właściwości.
proplist (niemęskoos.) Wyświetla listę właściwości.
propset (ps) Dodaje właściwość.
zdecydowany Służy do deklarowania, że ​​konflikt modyfikacji został rozwiązany.
Odwracać Przywraca daną wersję zasobu. Lokalne zmiany są nadpisywane.
status (st) Wskazuje wprowadzone zmiany.
przełącznik (sw) Przełącz się na inną wersję / gałąź repozytorium.
aktualizacja (w górę) Aktualizuje istniejącą kopię lokalną z ostatniej wersji dostępnej w repozytorium.
odblokować Usuń blokadę.

Aplikacje klienckie i serwerowe

Oprogramowanie klienckie

Dostęp do serwera subversion można uzyskać za pomocą jego natywnego protokołu (domyślny port TCP: 3690) lub przez połączenie HTTP (serwer musi wtedy obsługiwać rozszerzenia WebDAV). Te dwa tryby dostępu można zabezpieczyć w warstwie transportowej (tunel SSH lub HTTPS), co jest szczególnie zalecane w przypadku serwerów w sieci publicznej takiej jak Internet.

Oprócz narzędzia wiersza poleceń istnieje kilka programów wyposażonych w interfejs graficzny, w postaci samodzielnych plików wykonywalnych , ale także wtyczek, w szczególności dla EDI .

Oprogramowanie serwera

Obecnie dostępne są dwa typy serwerów subversion:

Oprogramowanie pomocnicze

Na serwerach Windows oprogramowanie VisualSvn Server umożliwia pakowanie Apache + Subversion z automatyczną konfiguracją i graficzną konsolą administracyjną serwera do zarządzania prawami z serwera Active Directory ...

Po stronie serwera

Zobacz też

Linki zewnętrzne

Uwagi i odniesienia

  1. „  https://subversion.apache.org/docs/release-notes/release-history.html  ”
  2. „  Apache Subversion 1.10.7 wydany  ” (dostęp 10 lutego 2021 )
  3. „  Subversion  ” , w directory.fsf.org , Free Software Directory ,2013(dostęp 11 września 2013 )
  4. Listy mailingowe Subversion
  5. "  Zarządzanie wersjami za pomocą Subversion  "
  6. Witryna www.visualsvn.com
  7. USVN witryny
  8. Site sventon