KiedyÅ› gdzieÅ› na jakiejÅ› prezentacji widziaÅ‚em bardzo ciekawÄ… i nadzwyczaj trafnÄ… definicjÄ™ sÅ‚owa Informatyka. DokÅ‚adnej jej treÅ›ci nie udaÅ‚o mi siÄ™ odszukać, ale brzmiaÅ‚o to jakoÅ› tak: Informatyka to ogóÅ‚ dyscyplin naukowych zajmujÄ…cych siÄ™ informacjÄ…, a w szczególnoÅ›ci jej komputerowym przetwarzaniem. I w rzeczy samej, najistotniejsze sÄ… dane a caÅ‚a reszta to tylko ich pewne przetwarzanie, w szczególnoÅ›ci gromadzenie i prezentacja w wygodnej formie. Jako że temat dzisiejszego artykuÅ‚u jest dość „niedzielny” pozwolÄ™ sobie na zwiÄ™kszonÄ… porcjÄ™ dywagacji. No wiÄ™c jak można przetÅ‚umaczyć sÅ‚owo Informatyka na jÄ™zyk angielski? W powszechnym obiegu równie czÄ™sto spotyka siÄ™ dwie możliwoÅ›ci: „Computer Science” i „Information Technology”. Które moim zdaniem jest wÅ‚aÅ›ciwsze? To zależy. Ci, którzy w Informatyce widzÄ… wiÄ™cej komputera powinni wybrać „Computer Science”. Ci, dla których podobnie jak dla mnie jest to raczej
nauka o przetwarzaniu informacji, w typowej sytuacji przy pomocy komputera, powinni skłonić się ku drugiej z możliwości.
Moje informacje, dane, bywa czasem, że sÄ… dla mnie nadzwyczaj cenne. Nadzwyczaj cenne sÄ… dla mnie dane zwiÄ…zane z mojÄ… pracÄ… magisterskÄ…, w szczególnoÅ›ci jej tekst i kod źródÅ‚owy aplikacji. Nie wiem czy jest to przypadÅ‚ość cechujÄ…ca wiÄ™kszość ludzi czy tylko tÄ… pedantycznÄ… część, w każdym razie zaobserwowaÅ‚em, nie tylko na samym sobie, istnienie syndromu przedwczesnego kasowania. Wydaje siÄ™ nam chwilowo, że pewien fragment kodu czy tekstu jest zÅ‚y, wiÄ™c zastÄ™pujemy go nowym, a stary oczywiÅ›cie z miejsca kasujemy i czÄ™sto niedÅ‚ugo po tym tego żaÅ‚ujemy. Kto nigdy w życiu nie użyÅ‚ Windows’owego kosza, czy DOS’owej lub Linux’owej komendy undelete niechaj pierwszy rzuci kamieÅ„. Pomijam tych, którzy nie używali analogicznego mechanizmu, bo go po prostu nie mieli. To, co proponujÄ™ i to, co sam robiÄ™, to używanie do skÅ‚adowania naszych ważnych danych repozytorium plików Subversion, w skrócie i pewnie dla analogii do starszego i gorszego, ale dobrze znanego CVS nazywanego także SVN. IdeaÅ‚em byÅ‚oby używanie repozytorium rezydujÄ…cego na jakimÅ› zdalnym serwerze, ale przy braku takiej możliwoÅ›ci dobrze bÄ™dzie mieć to nawet lokalnie. No wiÄ™c zaczynamy instalacjÄ™.
Zaczynamy od serwera Subversion. Ze strony projektu,
http://subversion.tigris.org/, pobieramy program instalacyjny. W chwili pisania tego artykułu najnowsza wersja to
1.4.3. Instaluje siÄ™ typowo dla Windows, klikajÄ…c kilkukrotnie guzik
Next. Przystępujemy do instalacji klienta TortoiseSVN. Instalator pobieramy ze strony projektu
http://tortoisesvn.tigris.org/. Do Subversion 1.4.3 pasuje TortoiseSVN w wersji
1.4.3 oraz 1.4.2, ale chyba nie ma powodu by używać starszej wersji. Instalacja znowu przebiega typowo dla Windows. Zanim przejdziemy do konfiguracji trzeba będzie zrestartować komputer.
Zaczynamy od utworzenia katalogu, który bÄ™dzie zawieraÅ‚ wszystkie nasze repozytoria. Standardowym katalogiem instalacji SVN jest C:\Program Files\Subversion. ProponujÄ™ utworzyć podkatalog repos w tym wÅ‚aÅ›nie katalogu, ale nie ma żadnych ograniczeÅ„ co do nazwy czy też lokalizacji. W katalogu repos tworzymy teraz podkatalog, który bÄ™dzie zawieraÅ‚ nasze repozytorium. Nazwijmy go testowe. Aby zrobić z tego zwykÅ‚ego katalogu repozytorium klikamy na nim prawym guzikiem myszy i z menu kontekstowego wybieramy opcjÄ™ TortoiseSVN > Create repository here, tak jak pokazano na poniższej ilustracji. Wybieramy jeden z dwu typów repozytorium. Oba bÄ™dÄ… równie dobre.

Musimy teraz skonfigurować zasady kontroli dostępu. W tym celu edytujemy plik testowe\conf\svnserve.conf. W najprostszym przypadku możemy po prostu wyłączyć uwierzytelnianie poprzez odkomentowanie linii:
anon-access = read
auth-access = write
i zmianę wartości read na write dla parametru anon-access. Plik svnserve.conf jest dobrze samoudokumentowany i powstrzymam się od tłumaczenia.
Środowisko mamy gotowe. Trzeba jeszcze tylko uruchomić serwer ze wskazaniem na katalog zawierający repozytoria. Serwer konfigurujemy jako usługę uruchamianą automatycznie przy starcie systemu operacyjnego. W tym celu z linii komend odpalamy polecenie:
sc create svn
binpath= "C:\Program Files\Subversion\bin\svnserve.exe
--service -r \"C:\Program Files\Subversion\repos\""
start= autooczywiÅ›cie zmieniajÄ…c odpowiednio, w razie potrzeby, Å›cieżki dostÄ™pów. Musimy także uważać na odstÄ™py dookoÅ‚a znaku =, przed = nie może być żadnej spacji, po musi być dokÅ‚adnie jedna. Gotowe! Aby utworzyć kopiÄ™ roboczÄ… (ang. working copy) repozytorium tworzymy pusty katalog o dowolnej nazwie, klikamy na nim prawym guzikiem myszy i z menu kontekstowego wybieramy
SVN Checkout. Jako URL repozytorium podajemy
svn://localhost/testowe, gdzie
testowe to nazwa naszego repozytorium. Musimy tylko pamiętać, że od tej pory nie jest to już zwykły katalog i że do wykonywania operacji na zawartych w nim plikach musimy używać opcji z menu
TortoiseSVN (albo innego klienta SVN). Do repozytorium możemy podłączyć się także z poziomu
Eclipse z użyciem jednej z dwu wtyczek (ang. plugin):
Subversive lub
Subclipse. Ta pierwsza jest bardziej rozbudowana funkcjonalnie, ale za to zdarza siÄ™, że coÅ› nie dziaÅ‚a jak trzeba. W najprostszym przypadku lepsza bÄ™dzie ta druga. WtyczkÄ™ do NetBeans’a można pobrać ze strony
http://subversion.netbeans.org/.
Ostatnim ogniwem w Å‚aÅ„cuchu bezpieczeÅ„stwa naszych danych sÄ… kopie zapasowe repozytorium. Od biedy, można by zwyczajnie kopiować katalog repozytorium, ale nie jest to z wielu wzglÄ™dów dobre rozwiÄ…zanie. Szczęśliwie
SVN dostarcza bardzo prostego mechanizmu. Aby utworzyć zrzut danych
repozytorium wystarczy uruchomić z linii poleceń komendę:
svnadmin dump
"C:\Program Files\Subversion\repos\testowe"
> "C:\Program Files\Subversion\backup\testowe.dump"i nie trzeba nawet w tym celu wyłączać serwera. Jak można siÄ™ domyÅ›lić spowoduje to utworzenie pliku testowe.dump zawierajÄ…cego kompletne dane repozytorium. Możliwe jest także tworzenie kopii przyrostowych. Plik kopii zapasowej bÄ™dzie zawieraÅ‚ wówczas tylko wybrany zakres rewizji. Aby odtworzyć dane z tak utworzonego pliku kopii uruchamiamy polecenie:
svnadmin load
"C:\Program Files\Subversion\repos\testowe"
< "C:\Program Files\Subversion\backup\testowe.dump"
Bardzo dobrym źródÅ‚em wiedzy o Subversion jak i o repozytoriach plików w ogólnoÅ›ci jest książka dostÄ™pna nie odpÅ‚atnie pod adresem http://svnbook.red-bean.com/.
Prawa autorskie (cytat ze strony autora) Wszelkie prawa do artykuÅ‚ów publikowanych na tym blogu należą do ich autora Mariusza LipiÅ„skiego. Dozwolone jest dowolne ich rozpowszechnianie, w caÅ‚oÅ›ci lub w części, pod warunkiem wyraźnego wskazania autora i pochodzenia, gdzie pochodzenie to www.mariuszlipinski.pl lub odpowiednia podstrona.