Kontrola wersji w SVN

tech • 598 słów • 3 minuty czytania

SVN (Subversion) jest systemem kontroli wersji, będący następcą wysłużonego już CVS-a. Jest to bardzo pomocne narzędzie, szczególnie dla programistów, nie tylko przy grupowej pracy nad projektem, bo często bywa też wykorzystywany przez pojedynczego użytkownika. Jego głównym celem jest kontrola wersji, rejestrowanie wszystkich zmian w projekcie (w każdym pliku) oraz łatwe przejście pomiędzy różnymi wersjami… etc.

Nie ma co przyciemniać zbytnio, bo w sieci można znaleźć szersze opisy tego systemu. Chociażby na Wikibook polecam zajrzeć do małego podręcznika o Subversionie. Bardzo ciekawy i wprowadzający artykuł opublikował też Paweł Niewiadomski na swoim blogu pt. “Subversion - szybkie wprowadzenie”.

Jak na razie są to głównie informacje dotyczące wersji dostępnej spod konsoli, gdzie trzeba znać te wszystkie polecenia i komendy. A co z szarym użytkownikiem, który chciałby skorzystać z dobrodziejstw SVN-a bez zabawy klientem tekstowym? Na szczęście oni też mogą skorzystać z tego systemu w bardzo łatwy i wygodny sposób, w graficznej oprawie :)

Dzięki artykułowi Macieja Miąsika o dźwięcznym tytule Subversion dla każdego natrafiłem na swojego bohatera - TortoiseSVN. Jest to niezwykły graficzny klient Subversiona, który pięknie integruje się z Windowsem i sprowadza całą pracę wokół repozytoriów SVN do prostej obsługi znanej z innych programów z przejrzystym interfejsem GUI. Dla wszystkich, którzy chcą szybko opanować podstawowe procedury korzystania z SVN-a za pomocą klienta TortoiseSVN, polecam właśnie ten artykuł, przedstawiający w krokach całą tę “zabawę”…

Ja sam właśnie zainstalowałem sobie TortoiseSVN razem ze spolszczeniem i nie ukrywam, że mi się bardzo spodobał. Prostota i wygoda korzystania z SVN-a wręcz sama przemawia do tego, aby program ten stał się moim głównym klientem, a SVN głównym narzędziem w zarządzaniu projektami i ich wersjami. I poniekąd tak też się już stało…

Mimo intuicyjnego interfejsu trochę się nagłówkowałem z keywords’ami. W plikach miałem wstawione odpowiednie “tagi”, ale niestety przy zatwierdzaniu zmian SVN nie podmieniał ich na odpowiednie informacje. A bardzo mi zależało głównie na wstawianiu aktualnego tagu $Id$ jak to miało miejsce w CVS-ie:

$Id: index.php,v 1.0.1 2006/06/23 15:38:40 malcom Exp $

Namęczyłem się zanim doszedłem do sedna problemu. Bo nie wystarczy tylko w plikach wstawić odpowiednie tagi, ale również we właściwościach pliku w dedykowanej zakładce, dodawanej przez TortoiseSVN, należy ustawić z jakich tagów korzysta się w danym pliku.

Dlatego, aby w pliku ciąg:

$Id$

został zamieniony na:

$Id: engine.php 8 2006-07-06 00:15:26Z MalCom $

trzeba jawnie ustawić, że w danym pliku projektu tag $Id$ ma być przekształcany.

Można oczywiście ustawić dla każdego pliku różne tagi (np. dla 2 plików $Author$ i $Date$ a dla innych samo $Id$), albo dla wszystkich rekurencyjnie w właściwościach folderu roboczego.

Przy okazji spodobał mi się też Trac. Jest to system zarządzania projektami, posiadający wbudowaną przeglądarkę repozytoriów SVN, issue/bug tracker i Wiki. Poszukiwałem w necie darmowych serwerów hostingujących projekty właśnie z Trac’em i SVN-em. Bo nie podobają mi się zbytnio systemy typu SourceForge.net czy berliOS.de, a Trac ładnie wygląda i wydaje się być dużo “przyjemniejszy” w obsłudze.

Znalazłem 2 darmowe hostingi projektów z SVN i systemem Trac:

  • OpenSVN.csie.org - Założony przez grupę studentów z Tajwanu, którzy udostępnili za darmo serwer, gdzie można umieścić swój projekt. Wymagań nie ma żadnych1, więc każdy może się zarejestrować.
  • TracOS - Darmowy hosting dla projektów open-source z SVN, Trac, emailem, shellem…

To tyle wśród darmowych serwerów z tym systemem. W sieci jest wiele hostingów dla projektów, ale niestety na innych systemach lub pobierających jakieś opłaty (niekoniecznie wygórowane).

Warto jeszcze wspomnieć o innym serwisie/serwerze, do tego polskim, który może nie udostępnia Traca, ale całą inną gamę potrzebnych narzędzi (w tym serwer Jabbera) dla małego, średniego projektu i to za free! Jest to core.segfault.pl :)


Przypisy

  1. A przynajmniej ja żadnych takowych nie znalazłem na ich stronie, ani w sieci… ↩︎

Komentarze (0)

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/