Konfiguracja i administracja systemem kontroli wersji SVN



Podobne dokumenty
Kompilacja jądra systemu Linux

Instytut Teleinformatyki

SUBVERSION TOMASZ ŁUKASZUK

1 Tworzenie własnego zaproszenia dla powłoki bash

Zarządzanie projektami informatycznymi

Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje

Michał (plucho) Subversion Wykorzystanie i administracja repozytorium

Co zostanie wypisane na ekranie? (1)

Programowanie I

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

SVN sojusz, partnerstwo, współpraca

Subversion. System wersjonowania projektów. Instytut Informatyki Politechnika Poznańska

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Systemy kontroli wersji

trainxx tramxx

Instytut Teleinformatyki

GIT. System Kontroli wersji GIT. Rafał Kalinowski

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

1 Tworzenie własnego zaproszenia dla powłoki bash

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

System kontroli wersji, system zarządzania kodem źródłowym

System kontroli wersji git

CVS system kontroli wersji

git krótki przewodnik

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Pracownia Komputerowa wyk ad II

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 15 PRACA W TRYBIE MS-DOS. Opracował Sławomir Zieliński

Linux: System Plików

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Kopiowanie, przenoszenie plików i folderów

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Rozproszony system kontroli wersji GIT. Piotr Macuk

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Subversion - jak dziaªa

Archiwum DG 2016 PL-SOFT

Przygotowanie bazy do wykonywania kopii bezpieczeństwa

Pracownia Komputerowa wykład III

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

MBUM #2. Zarządzanie kopiami konfiguracji RouterOS. Jacek Rokicki

Instytut Teleinformatyki

Pracownia Komputerowa wykład II

7 Business Ship Control dla Symfonia Handel

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

System zarządzania wersjami I Subversion

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

KONFIGURACJA SERWERA USŁUG INTERNETOWYCH

7 Business Ship Control dla Systemu Zarządzania Forte

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Bash - wprowadzenie. Bash - wprowadzenie 1/39

System backup ów Bacula

VinCent Administrator

Systemy zarządzania wersjami

Co to jest BCD? Jak możemy edytować magazyn BCD?

GIT. Rozproszony system kontroli wersji

Laboratorium - Praca z poleceniami wiersza poleceń w systemie Windows

Wprowadzenie do systemu wersjonowania svn

PSK. Jak przygotować maszynę wirtualną? 1. Utworzenie maszyny wirtualnej

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański

Zarządzanie użytkownikami w

Instrukcjaaktualizacji

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Pracownia komputerowa. Dariusz wardecki, wyk II

Memeo Instant Backup Podręcznik Szybkiego Startu

Windows Server Active Directory

Instalacja Wirtualnego Serwera Egzaminacyjnego

System kontroli wersji Git

Ćwiczenia z podstaw systemu Linux

Silent setup SAS Enterprise Guide (v 3.x)

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Arkusz Optivum. Praca z repozytorium wymaga połączenia z Internetem i zalogowania się do Sigmy.

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Laboratorium Badanie topologii i budowa małej sieci

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Instalacja programu dreryk

Wyszukiwanie plików w systemie Windows

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

Uruchamianie bazy PostgreSQL

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

mfaktura Instrukcja instalacji programu Ogólne informacje o programie biuro@matsol.pl

Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Ping. ipconfig. getmac

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Dodatki. Dodatek A Octave. Język maszyn

Transkrypt:

Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska Laboratorium Administrowania Systemami Komputerowymi Konfiguracja i administracja systemem kontroli wersji SVN Ćwiczenie numer 13

2 Spis treści SPIS TREŚCI... 2 1. WSTĘPNE INFORMACJE... 3 TEMAT ĆWICZENIA... 4 ZAGADNIENIA DO PRZYGOTOWANIA... 4 CEL ĆWICZENIA... 4 2. PRZEBIEG ĆWICZENIA... 5 PRZYGOTOWANIE ĆWICZENIA... 6 ĆWICZANIE 1 TWORZENIE REPOZYTORIUM... 7 ĆWICZENIE 2 MANIPULACJA STRUKTURĄ FOLDERÓW... 7 ĆWICZENIE 3 IMPORTOWANIE ISTNIEJĄCEGO PROJEKTU... 9 ĆWICZENIE 3 TWORZENIE KOPII ROBOCZEJ PLIKÓW... 10 ĆWICZENIE 4 DODAWANIE PLIKÓW I ZATWIERDZANIE ZMIAN... 11 ĆWICZENIE 5 USUWANIE PLIKÓW I ZMIANA NAZW PLIKÓW... 12 ĆWICZENIE 6 WERSJONOWANIE... 12 ĆWICZENIE 7 ZDALNE REPOZYTORIUM... 13 ĆWICZENIE 8 ZRZUCENIE / ŁADOWANIE REPOZYTORIUM... 14 ZAKOŃCZENIE CWICZENIA... 14 OPRACOWANIE ĆWICZENIA I SPRAWOZDANIE... 15

3 1. Wstępne informacje

4 Temat ćwiczenia Tematem ćwiczenia jest jest konfiguracja i administracja Systemem kontroli wersji SVN w środowisku Linux Debian Squeez. Zagadnienia do przygotowania Przed przystąpieniem do wykonania ćwiczenia należy zapoznać się z następującymi zagadnieniami: -Czym jest system kontroli wersji -Jakie są korzyści płynące ze stosowania go Cel ćwiczenia Dzięki temu ćwiczeniu wykonujący pozna: -Jak tworzyć nowe repozytorium -Jak pracować na repozytorium zdalnym i lokalnym -Jak zmieniać strukturę plików i folderów w repozytorium -Jak importować istniejące projekty do repozytorium -Jak pracować z projektem pod kontrolą repozytorium -Jak przenosić całą zawartość repozytorium

5 2. Przebieg ćwiczenia

6 Przygotowanie ćwiczenia Aby utworzyć drzewo katalogowe z plikami uruchom skrypt createproject.sh z folderu lab-svn cd /lab-svn sh createproject.sh utworzy on następującą strukturę katalogów: cd /lab-svn/project tree -a. -- bin `-- binaries -- doc `-- index.html `-- src -- Makefile `-- main.cpp 3 directories, 4 files

7 Ćwiczanie 1 Tworzenie repozytorium Aby stworzyć nowe repozytorium użyj komendy : svnadmin create /lab-svn/svn Spowoduje to utworzenie zbioru plików I katalogów w /lab-svn/svn. Aby zobaczyć utworzone pliki możesz użyć tree /lab-svn/svn lub ls /lab-svn/svn Plików przechowywanych w repozytorium nie da się zobaczyć jak w zwykłym katalogu, należy go traktować jako wirtualny katalog aby zobaczyć pliki znajdujące się w repozytorium /lab-svn/svn można użyć polecenia svn ls file:///lab-svn/svn W chwili obecnej po wywołaniu tej linii nie otrzymamy żadnych danych gdyż repozytorium jest puste Warto zauważyć że użyta opcja svn ma tę samą nazwie co polecenie systemowe ls. Svn pozwala na manipulowanie plikami i katalogami przy pomocy komend podobnych do standardowych np. mkdir, rm, ls, cat,cp,mv Repozytorium może znajdować się w wielu różnych miejscach : na dysku lokalnym, na zdalnej maszynie lub serwerze. Aby ułatwić korzystanie ze zdalnych repozytoriów SVN używa URL do identyfikacji zasobów. Dlatego gdy odwołujemy się do bazy na naszym dysku twardym używamy przedrostka file://. Ćwiczenie 2 Manipulacja strukturą folderów Aby utworzyć folder w wewnętrznej strukturze repozytorium można użyć komend analogicznych do komend używanych na normalnych katalogach Używając dodatkowo flagi m możemy dodawać komentarze do logów w wywołaniu komendy przy wprowadzonych zmianach co pomaga w późniejszej identyfikacji dla wielu komend komentarz jest niezbędny jego brak w poleceniu spowoduje uruchomienie domyślnego edytora tekstu do którego należy wpisać komentarz Utwórz nowy folder w repozytorium używając komendy:

8 svn mkdir file:///lab-svn/svn/folder -m "Dodano folder" Committed revision 1. Sprawdź obecność folderu przy pomocy komendy: svn ls file:///lab-svn/svn folder Usuń stworzony folder przy pomocy komendy : svn rm file:///lab-svn/svn/foo -m "Usunieto folder" Committed revision 2. Sprawdź ponownie obecność folderu. Wszystkie operacje które wprowadziliśmy są zachowane I możemy bardzo łatwo przywrócić stan sprzed np. usunięcia folderu. SVN zapamiętuje tylko samą treść zmian w plikach i katalogach w ten sposób znacznie redukuje ilość pamięci potrzebnej do zapisania wszystkich kopii plików Wszystkie dokonane zmiany można przeglądnąć używając komendy : svn log file:///lab-svn/svn ------------------------------------------------------------ r2 root 2010-09-29 13:34:03 +0100 (Thu, 23 Oct 2010) 1 line Dodano folder ----------------------------------------------------------- 1 root 2010-09-29 13:33:33 +0100 (Thu, 23 Oct 2010) 1 line Usunieto folder Wrócimy do tego omawiając kontrole wersji

9 Ćwiczenie 3 Importowanie istniejącego projektu W rzeczywistości najczęściej nie tworzy się ręcznie wszystkich folderów w repozytorium, ale importuje strukturę katalogów wcześniej utworzoną Np. wstępnie utworzony projekt Aby uruchomić kontrole wersji nad tymi plikami (importować pliki do repozytorium) należy: usunąć lub przenieść wszystkie pliki których nie chcemy w repozytorium (np. pliki binarne) cd projekt rm -f bin/binaries a następnie importować strukturę katalogów do repozytorium przy pomocy polecenia : svn import /lab-svn/project/ file:///lab-svn/svn/project/ -m Initial import /lab-svn/project/ /lab-svn/project/doc /lab-svn/project/doc/index.html /lab-svn/project/src /lab-svn/project/src/main.cpp /lab-svn/project/src/makefile /lab-svn/project/bin Committed revision 3. Samo importowanie projektu do SVN sprawi tylko że obecne pliki będą przechowywane w repozytorium. Obecne pliki nie będą jednak kopią roboczą plików. Niemożliwe zatem będzie ich dalsze wersjonowanie.

10 Ćwiczenie 3 Tworzenie kopii roboczej plików Stworzymy kopie roboczą plików na miejscu oryginalnych plików projektu Aby to zrobić należy najpierw usunąć stare pliki projektu: cd.. rm -rf project A następnie utworzyć kopie roboczą w wybranym miejscu przy pomocy następującej komendy : svn checkout file:///lab-svn/svn. A project/doc A project/doc/index.html A project/src A project/src/main.cpp A project/src/makefile A project/bin Checked out revision 3. Po tej komendzie kontrolowana kopia projektu będzie dostępna w /lab-svn/project.można to sprawdzić obecnością folderu.svn ls a project... bin doc src.svn Lub też komendą: svn info project Path: project URL: file:///lab-svn/svn Repository UUID: 841f1b90-4a8b-4ade-bd52-067be8227151 Revision: 3 Node Kind: directory Schedule: normal Last Changed Author: root Last Changed Rev: 3 Last Changed Date: 2010-10-30 17:17:42 +0100 (Mon, 14 Oct 2010)

11 Ćwiczenie 4 dodawanie plików i zatwierdzanie zmian Stwórz dodatkowe dwa pliki w folderze kopii roboczej a następnie wprowadźmy zmiany w pliku main.cpp i Makefile (dowolne zmiany ) Możesz to zrobić samodzielnie lub następującymi komendami: cd /lab-svn/project/ touch src/class.cpp touch src/class.h echo wprowadzone zmiany >> src/main.cpp echo wprowadzone zmiany >> src/makefile SVN odnajdzie zmiany które zaszły w folderze kopii roboczej i przedstawi je po wywołaniu komendy: svn status? src/class.cpp? src/class.h M src/main.cpp M src/makefile? przy nazwie pliku oznacza że ten plik jest nieznany i nie jest wiadomo co z nim należy zrobić M (Modifed) oznacza że plik jest kontrolowany ale od czasu ostatniego zatwierdzenia zmian plik został zmieniony Nieznane pliki możemy dodać pod kontrolę SVNa przy pomocy polecenia : svn add src/class.h src/class.cpp A src/class.h A src/class.cpp Dodane pliki są teraz oznaczone flagą A svn status A src/class.cpp A src/class.h M src/main.cpp M src/makefile Wszystkie wprowadzone zmiany muszą zostać jeszcze zatwierdzone Zrób to używając polecenia :

12 svn commit -m 'Dodanie klasy class' Sending src/makefile src/class.cpp src/class.h Sending src/main.cpp Transmitting file data... Committed revision 4. Ćwiczenie 5 usuwanie plików i zmiana nazw plików Plik można usunąć ręcznie z kopii roboczej lub za pomocą komendy :. svn rm file:/// lab-svn/svn/project/src/makefile m rm Makefile Committed revision 5. Analogiczne polecenie służy do zmiany nazwy pliku svn rename file:///doc/index.html file:///doc/doc.html -m rename Committed revision 6. Po wykonaniu powyższych komend zmiany są od razu zatwierdzane. Ćwiczenie 6 Wersjonowanie Z każdym kolejnym zatwierdzeniem zmian numer aktualnej wersji wzrasta o 1. Niektóre komendy np.: stworzenie folderu automatycznie zatwierdzają zmiany. W każdym momencie można stworzyć kopię roboczą z dowolnej wersji projektu.

13 Aby stworzyć kopię roboczą wersji 4 w folderze /tmp projektu użyj komend : cd /tmp/ svn checkout -r 4 file:///lab-svn/svn project A project/project A project/project A project/project/doc A project/project/doc/index.html A project/project/src A project/project/src/main.cpp A project/project/src/class.cpp A project/project/src/class.h A project/project/src/makefile A project/project/bin Checked out revision 4. Utworzoną w ten sposób kopię można teraz niezależnie zmieniać Można także w jej miejscu utworzyć kopie innej wersji Nadpisz wersje 4 kopii roboczej przy pomocy wersji 3 cd /tmp/ svn checkout -r 3 file:///lab-svn/svn project U project/project/trunk/src/main.cpp U project/project/trunk/src/makefile D project/project/trunk/src/class.cpp D project/project/trunk/src/class.h Checked out revision 3. Zauważ że podczas zmiany wersji kopii roboczej SVN zmienia tylko te elementy które różnią się w obu wersjach Ćwiczenie 7 Zdalne repozytorium Najczęściej SVN zlokalizowany jest na zdalnej maszynie w takim wypadku niemożliwe jest używanie URL file:// Należy go zamienić na URL dostępu zdalnego. Najbardziej popularnym sposobem dostępu do zdalnegu repozytorium jest protokół svn który może być dodatkowo szyfrowany przez ssh

14 Używamy go w następujący sposób svn+ssh://hostname/lab-svn/svn. Gdzie hostname to nazwa lub adres zdalnego komputera Aby wykonać polecenie na zdalnej maszynie wystarczy tylko zamienić lokalizator repozytorium Np. aby utworzyć lokalną kopie roboczą ze zdalnego repozytorium wystarczy : svn checkout svn+ssh://hostname/lab-svn/svn project Do wykonania tego ćwiczenia należy dobrać się parami Wykonaj Ćwiczenia 1 i 2 na komputerze drugiej osoby z pary używając dostępu zdalnego svn+ssh Ćwiczenie 8 zrzucenie / ładowanie Repozytorium W przypadku gdy zajdzie konieczność przeniesienia całej bazy danych na inny komputer lub do Ingo repozytorium nie powinno się przenosić bazy kopiując folder ją zawierający. Może to prowadzić do wielu problemów gdyby baza była w użyciu podczas kopiowania. Najlepszym rozwiązaniem jest zrzucenie całej zawartości do pliku. Przed robieniem kopii repozytorium wskazane jest zatwierdzenie wszystkich niezatwierdzonych zmian Zrzuć zawartość repozytorium do pliku przy pomocy komendy : svnadmin dump /lab-svn/svn > /tmp/mydumpfile.db Można zrzucić np. tylko interesujące nas wersje w ten sposób zmniejszając rozmiar pliku i ograniczając nadmiarowe dane. svnadmin dump /lab-svn/svn -r 1:4 > /tmp/mydumpfile0-7.db Stwórz nowe repozytorium i importuj do niego przed chwilą utworzony plik. svnadmin create /tmp/newsvn/ svnadmin load /tmp/newsvn/ < /tmp/dumpfile.db Zakończenie cwiczenia Po zakończeniu ćwiczenia należy wywołać skrypt

15 sh cleanafterlab.sh Usunie on wszystkie niepotrzebne pliki po zakończonym ćwiczeniu Opracowanie ćwiczenia i sprawozdanie Wykonanie ćwiczenia polega na praktycznej realizacji wszystkich zadań Rozdziału 2 niniejszej instrukcji zatytułowanego Przebieg Ćwiczenia. Należy sporządzić sprawozdanie z wykonania ćwiczenia (w formie dokumentu elektronicznego) i w ciągu najdalej dwóch tygodni od dnia wykonania ćwiczenia oddać je prowadzącemu zajęcia. Kompletne opracowanie ćwiczenia powinno zawierać: Część opisową odnoszącą się do teorii przerabianego ćwiczenia. Ta część sprawozdania powinna wykazać dobrą ogólną znajomość zagadnień leżących u podstaw przerabianego tematu, znajomość odnośnej literatury, samodzielność myślenia i umiejętność pisania opracowań o charakterze technicznym. Wnioski praktyczne wynikające z wykonania ćwiczenia, a w tym: uwagi odnoszące się do przebiegu ćwiczenia (np. czy dane ćwiczenie może być wykonane z pełnym rozumieniem zawartych w nim czynności i problemów, czy ćwiczenie jest możliwe do wykonania w czasie przeznaczonym na zajęcia, czy ćwiczenie jest zbyt trudne/ zbyt łatwe, itp., uwagi odnoszące się do sposobu przygotowania i jakości (waloru dydaktycznego) instrukcji do ćwiczenia, uwagi odnoszące się do ewentualnych utrudnień technicznych lub organizacyjnych pojawiających się w trakcie wykonywania ćwiczenia, postulaty merytoryczne i techniczne dotyczące usprawnienia/ulepszenia jakości wykonywanego ćwiczenia, inne Wnioski z drugiej części sprawozdania posłużą do usprawnienia i poprawy zajęć laboratoryjnych w latach następnych.