System zarządzania wersjami I Subversion

Podobne dokumenty
Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

INSTRUKCJA UŻYTKOWNIKA Instalacja KS - EDE w systemie KS - ZSA ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

Załącznik 1 instrukcje instalacji

Partnerzy: Laboratorium 15

Co zostanie wypisane na ekranie? (1)

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

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

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

Kopiowanie, przenoszenie plików i folderów

Programowanie I

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

Instalacja programu Warsztat 3 w sieci

Załącznik 1 instrukcje instalacji

INSTRUKCJA OBSŁUGI PROGRAMU IRF DLA BIURA RACHUNKOWEGO Program Rachmistrz/Rewizor. Strona0

Aby pobrać program FotoSender naleŝy na stronę lub i kliknąć na link Program do wysyłki zdjęć Internetem.

5.4. Tworzymy formularze

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

DOKUMENTY I GRAFIKI. Zarządzanie zawartością Tworzenie folderu Dodawanie dokumentu / grafiki Wersje plików... 7

SVN sojusz, partnerstwo, współpraca

1. System kontroli wersji Instalacja programu kontroli wersji CVS

Nowe funkcjonalności wersji

Assembla.com zajęcia 1

Instrukcja importu dokumentów z programu Fakt do programu Płatnik

Systemy zarządzania wersjami

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

CVS system kontroli wersji

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

W każdej sali najważniejszym narzędziem są prawdopodobnie Zasoby. Przyjrzyjmy się teraz temu narzędziu, któremu zmieniono poniżej nazwę na Wspólne

Aplikacja do podpisu cyfrowego npodpis

Aplikacja npodpis do obsługi certyfikatu (instrukcja użytkownika)

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Instrukcja obsługi programu DHL EasySHip v. 5.3.x

Aplikacja npodpis do obsługi certyfikatu

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

Archiwizowanie nagrań i naprawa bazy danych

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Przygotowanie środowiska Java do prawidłowej obsługi podpisu elektronicznego w epuap

Aplikacja npodpis do obsługi certyfikatu

Platforma e-learningowa

1. Instalacja Programu

Ustawienia widoku ikon

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

Nowa Netia administrator firmy Nagrywanie połączeń-zarządzanie

Aplikacja npodpis do obsługi certyfikatu

1. Logowanie do systemu

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

epuap Archiwizacja w Osobistym Składzie Dokumentów

Modelowanie obiektowe - Ćw. 1.

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Git, Bitbucket, IntelliJ IDEA

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

1. Wstęp Niniejszy dokument jest instrukcją użytkownika dla aplikacji internetowej DM TrackMan.

1. Pobieranie i instalacja FotoSendera

PRACA Z PLIKAMI I FOLDERAMI

BACKUP BAZ DANYCH FIREBIRD

Programy LeftHand - Obsługa plików JPK. Luty 2017

Kleos Mobile Android

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

Temat: Kopiowanie katalogów (folderów) i plików pomiędzy oknami

Platforma szkoleniowa krok po kroku. Poradnik Kursanta

Nowe funkcjonalności w wersji Automatyczne uzupełnianie zakładek w dokumentach WORD przy podpisywaniu

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

Platforma e-learningowa

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

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

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

MPH Mini. Instrukcja użytkownika ver 102 ( )

Hermes EFK Dokumentacja użytkownika. v

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Jeżeli w komputerze była już zainstalowana inna wersja Javy może pojawić się komunikat

Przewodnik dla klienta

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

OPERACJE NA PLIKACH I FOLDERACH

Rejestracja faktury VAT. Instrukcja stanowiskowa

Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure

Aplikacja npodpis do obsługi certyfikatu

Rejestr transakcji GIIF - instrukcja

Memeo Instant Backup Podręcznik Szybkiego Startu

Ministerstwo Finansów

Poradnik użytkownika pomoc techniczna

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig

TortoiseHg + Windows konfiguracja

Instalacja Czytnika Kart w systemie Windows 7

Transkrypt:

Subversion Na tych zajęciach poznamy reguły pracy z systemami zarządzania wersjami oraz przećwiczymy podstawowe, najczęściej wykonywane operacje w takich systemach. Bazować będziemy na systemie Subversion (SVN), jednak wiele schematów działania i zasad przenosi się bezpośrednio na inne systemy, m.in. rozproszone systemy Git czy Mercurial. Wyjątkiem są tutaj operacje tworzenia gałęzi oraz łączenia wyników pracy wielu użytkowników pracujących na jednym repozytorium, które mocno zależą od filozofii konkretnego systemu. Tutaj skupimy się tylko na wyjaśnieniu koncepcji, zostawiając ćwiczenia w wybranym systemie zainteresowanym studentom. Narzędzie nr 1: TortoiseSVN Narzędzie TortoiseSVN jest rozszerzeniem do Windowsa, które umożliwia pracę z repozytorium bardzo przezroczyście. Użytkownik traktuje zarządzanie wersjami jako element naturalny systemu, co ma tę zaletę, że uczy dobrych praktyk nie tylko w programowaniu, ale również w wersjonowaniu np. dokumentów. Znakomita większość operacji jest dostępna z menu kontekstowego, tj. menu dostępnego po naciśnięciu prawego przycisku myszy najczęściej na pliku lub folderze. Ćwiczenie 1.1. Checkout z repozytorium 1. Utworzyć katalog repo, np. w C:\temp\infXXXXX zamieniając XXXXX swoim numerem indeksu. Po zajęciach oczywiście po sobie sprzątamy i usuwamy taki katalog. 2. Na katalogu repo wybrać z menu kontekstowego SVN Checkout 3. Wypełnić okienko wstawiając URL: https://ophelia.cs.put.poznan.pl/svn/io2011/infxxxxx/lab02 i wybrać przycisk OK. 4. Gdy pojawi się pytanie o użytkownika i hasło, wpisać otrzymane od prowadzącego dane. 5. Komunikat typu Completed oraz odpowiednia ikonka na folderze repo (po odświeżeniu) informują nas, że operacja zakończyła się powodzeniem. 6. Sprawdzić, czy w repo pojawiły się katalogi branches, tags oraz trunk. Jest to skutek używania zalecanej struktury repozytorium i ma znaczenie przy tworzeniu gałęzi (o tym w części 3). strona 1 / 8

Ćwiczenie 1.2. Tworzenie folderów i zapis plików 1. W katalogu repo/trunk utworzyć katalog test. Nowo powstały folder nie będzie wyróżniony żadnym symbolem, gdyż folder ten nie znajduje się jeszcze na serwerze, w repozytorium. 2. Na nowym folderze wybieramy TortoiseSVN/Add i OK. Wskazany folder został oznaczony do dodania (ale tylko lokalnie, ciągle nie ma go w repozytorium!). 3. Do założonego katalogu należy zapisać plik Fibonacci.java. 4. Z menu kontekstowego pliku Fibonacci.java wybieramy opcję TortoiseSVN/Add i OK. 5. Zapis nowej wersji pliku na serwer można wykonać wybierając na katalogu test (lub repo albo trunk) SVN Commit W okienku należy wpisać komentarz do dodawanej wersji pliku, np. pierwsza wersja klasy. I wybrać OK. Ćwiczenie 1.3. Modyfikacja plików 1. Zasymulujemy modyfikację pliku nadpisując go zmienioną wersją (z pliku Fibonacci2.java, zmieniając nazwę na Fibonacci.java). 2. Zmiana powinna zostać wykryta: 3. Wprowadzoną zmianę (wypisywanie 20 a nie 10 liczb) można zapisać na serwerze przy pomocy operacji SVN Commit. W komentarzu wersji należy wpisać: wypisywanie 20 liczb. strona 2 / 8

Ćwiczenie 1.4. Wypisywanie logu zmian pliku 1. Na Fibonacci.java wybieramy TortoiseSVN/Show log 2. System wyświetli listę zmian, które są powiązane z danym plikiem. Ćwiczenie 1.5. Różnice 1. Zmodyfikuj plik Fibonacci.java zmieniając na Created on 2004-10-04 Created on 04-10-2004 2. Na naszym Fibonaccim wybieramy TortoiseSVN/Diff. Pokaże się wówczas okienko, które obrazuje, jakie są różnice wersji lokalnej w stosunku do wersji ostatnio pobranej z repozytorium. Ćwiczenie 1.6. Cofnięcie do wersji z repozytorium 1. Powiedzmy, że wprowadzone zmiany były niepoprawne i chcielibyśmy pobrać poprzednią wersję. 2. Klikamy prawym na naszym pliczku i wybieramy TortoiseSVN/Revert 3. Wyświetlając zawartość pliku zobaczymy poprzednią wersję: Created on 2004-10-04. Pamiętajmy, że powrót do poprzedniej wersji nie oznacza uaktualnienia do najnowszej wersji będącej w repozytorium, ale do wersji, którą ostatnio pobraliśmy z repozytorium! Operacja cofnięcia jest operacją lokalną, nie nawiązuje kontaktu z repozytorium. Należy o tym pamiętać przy współdzieleniu repozytorium z innymi. Narzędzie nr 2: Eclipse Eclipse sam w sobie nie jest oczywiście narzędziem do zarządzania wersjami, jednak od początku w jego projekcie przewidziana jest możliwość wpięcia plug-inów do komunikowania się z systemami zarządzania wersjami. Standardowo w Eclipse 3.3 dostarczane są wtyczki do obsługi repozytoriów CVS (od wersji 3.4 również SVN). Aby korzystać z Subversion należy doinstalować wtyczki Subversive albo Subclipse. Na zajęciach korzystamy z tego pierwszego. Poniższe ćwiczenia polegają z grubsza na tym samym co już przeprowadzone z narzędziem TortoiseSVN, więc ich opis jest bardziej uproszczony. Tam gdzie to istotne zaznaczono specyfikę Eclipse'a. Warto pamiętać, że większość operacji będzie wyglądała podobnie podczas pracy z innymi wtyczkami (Subclipse, praca z CVS), dzięki temu, że mechanizm zarządzania wersjami jest elementem platformy Eclipse. Ćwiczenie 2.1. Utworzenie projektu w repozytorium 1. W Eclipse utworzyć nowy projekt Java: File/New/Project... i Java/Java Project. 2. Podać nazwę, np. test-svn; upewnić się, że ustawienia rozdziału plików.java i.class są takie jak poniżej: strona 3 / 8

3. Kliknąć Finish. 4. Z menu kontekstowego projektu wybrać Team/Share project... 5. Wybieramy typ repozytorium SVN 6. Dalej podajemy URL i dane użytkownika (Uwaga: Proszę podać dokładnie taki URL jak w ćwiczeniu 1.1.) 7. Po poprzednim kroku mamy utworzoną informację o repozytorium. Może w nim być wiele projektów. Dlatego na następnym ekranie podajemy katalog, w którym ma być umieszczony nasz projekt, w ramach zdefiniowanego repozytorium. Możliwych jest wiele schematów układu katalogów projektów w repozytorium. Proszę użyć ustawień jak na rysunku poniżej; skutkują one strukturą uwzględniającą gałęzie i tagi na poziomie repozytorium (czyli w lab02, a poniżej projektu test-svn). strona 4 / 8

8. Po wciśnięciu Finish, Eclipse poprosi o podanie komentarza do Commita. Podajemy np. import projektu Eclipse. Ciekawostką jest fakt, że jest to drugi commit, zawartości projektu. Pierwszy został wykonany automatycznie i polegał na utworzeniu tylko folderu projektu w SVN najprostszy sposób, aby wykluczyć istnienie w repozytorium projektu o podanej nazwie. 9. Obecnie projekt jest obecny w repozytorium, oraz lokalnie. Kopia lokalna jest standardową kopią SVN, o czym można się przekonać wykonując dowolne operacje z poziomu TortoiseSVN na folderze projektu Eclipse. Oznacza to np. że dodając do projektu pliki z poziomu TortoiseSVN nie ryzykujemy niespójności repozytorium Eclipse działa tutaj jak nakładka na projekt, podobnie jak TortoiseSVN jako nakładka na system plików. Ćwiczenie 2.2. Dodawanie plików 1. Z poziomu Windowsa dodajemy do folderu src plik Fibonacci.java. 2. W Eclipse odświeżamy projekt (Refresh w menu kontekstowym projektu lub klawisz F5). 3. Rozwijając drzewko do poziomu dodanego pliku widzimy obok ikonkę ze znakiem zapytania. Oznacza ona, że plik jest nieznany z punktu widzenia repozytorium, tzn. został dodany lokalnie, ale w repozytorium go nie ma. Zwróćmy też uwagę na symbol > obok projektu. Oznacza on, że w tym projekcie są jakieś rozbieżności pomiędzy repozytorium a wersją lokalną (najczęściej zmodyfikowane lokalnie pliki). 4. Na projekcie wybieramy Team/Synchronize with Repository. Perspektywa, która się pokazała jest podstawową z punktu widzenia operacji na kopii lokalnej i repozytorium. strona 5 / 8

5. Widzimy, że Eclipse wykonuje automatycznie niektóre operacje, np. oznaczył do dodania plik Fibonacci.java. 6. Na projekcie wybieramy z menu kontekstowego Commit... i wpisujemy komentarz, np. dodano plik Fibonacci.java. 7. Eclipse informuje nas, że nie ma więcej zmian w stosunku do repozytorium; podobnie w perspektywie Java, nie widać oznaczań zmian lokalnych na ikonach w drzewku. Ćwiczenie 2.3. Pobieranie projektu z repozytorium Teraz spróbujemy pobrać projekt z repozytorium. Żeby było to skuteczne na projekcie wybieramy z menu kontekstowego Delete i zaznaczamy opcję Also delete contents under '...'. 1. Wybieramy z File/Import... i SVN/Projects from SVN. 2. Wybieramy nasz profil repozytorium z listy. 3. Zaznaczamy na liście folder trunk/test-svn i klikamy Finish. 4. Potwierdzamy checkout zasobu jako osobny projekt. 5. Sprawdzamy, czy w środku jest wszystko tak, jak przed rozpoczęciem ćwiczenia. Ćwiczenie 2.4. Modyfikacja i różnice w plikach 1. Z poziomu Windows podmieniamy zawartość Fibonacci.java (patrz ćwiczenie 1.3., krok 1.). 2. Odświeżamy w Eclipse projekt i przechodzimy do perspektywy Team Synchronizing. 3. Widzimy, że Eclipse wykrył zmianę w pliku: strzałka w prawo oznacza chęć Eclipse'a do wysłania zmian do repozytorium. 4. Aby przekonać się, co się zmieniło, dwukrotnie klikamy na zmieniony plik. W obszarze edytora otworzy się nowe okno, gdzie zaprezentowane są zmiany pomiędzy wersją lokalną a oryginalną z repozytorium. 5. Aby wysłać zmiany do repozytorium na projekcie wybieramy Commit. Narzędzie 3: Linia poleceń Historycznie patrząc, jest to pierwszy i referencyjny klient do SVN, rozwijany razem z serwerem. Większość operacji, które można wykonać z poziomu GUI (Eclipse, TortoiseSVN) można też wykonać z poziomu linii poleceń, jednak wymaga to większej liczby operacji i stuknięć w klawisze. Aby wywołać klienta należy wpisać w konsoli svn <komenda> gdzie <komenda> jest operacją, jaką chcemy wykonać. Zależnie od operacji może być wymagane podanie dodatkowych argumentów. Można się o tym dowiedzieć co będzie użyteczne w dalszych ćwiczeniach z pomocy uzyskanej poleceniem svn help <komenda>. strona 6 / 8

Ćwiczenie 3.1: Checkout z repozytorium Polecenie (jedna linia!) svn checkout https://ophelia.cs.put.poznan.pl/svn/io2011/infxxxxx/lab02 repo4 pobierze zawartość repozytorium do katalogu repo4. Ćwiczenie 3.2: Dodawanie plików Należy przejść do katalogu repo4/trunk. 1. Wykonać komendę SVN status. Nie powinno być żadnego komunikatu, co oznacza, że kopia lokalna jest czysta, bez zmian lokalnych. 2. Należy utworzyć nowy katalog i plik. Ponowna komenda status pokaże obok nowych elementów znak '?', co oznacza, że nie jest on znany dla SVN. 3. Wykonujemy komendę add. Ponowne sprawdzenie statusu pokazuje obok nowych elementów znak 'A', co wskazuje na oznaczenie elementów do dodania. 4. Należy zatwierdzić zmiany w repozytorium komendą commit. 5. Status katalogu powinien być czysty, jak w punkcie 1. Ćwiczenie 3.3: Kopiowanie plików Należy przejść do nowo utworzonego katalogu z plikiem. 1. Wykonać komendę SVN status. Nie powinno być żadnego komunikatu, co oznacza, że kopia lokalna jest czysta, bez zmian lokalnych. 2. Wykonujemy komendę copy SRC DST, gdzie SRC to nazwa istniejącego pliku lub katalogu, a DST to plik lub katalog do którego mają zostać skopiowane dane. Ścieżki można podać bezwzględne i względne. 3. Ponowna komenda status pokaże obok nowych elementów znak 'A'. 4. Należy zatwierdzić zmiany w repozytorium komendą commit. Ćwiczenie 3.4: Historia pliku 1. Wykonać komendę SVN log <nazwa_pliku>, gdzie <nazwa_pliku> to dane dowolnego wybranego pliku, np.: svn log Fibonacci.java 2. Na ekranie zostaną wyświetlone wszystkie zmiany jakie zostały wprowadzone. Poniżej przykład jednej z wielu linijek jakie mogą się pojawić: r2 infxxxxx 2011-09-30 19:24:51 +0200 (pią, 30 wrz 2011) 1 line Poza nazwą użytkownika, daty modyfikacji oraz komentarza (nie pokazane powyżej) wyświetlone są informacje o numerze wersji (r2) oraz liczbie zmodyfikowanych linii kodu (1 line). 3. Jeżeli istnieje potrzeba, można skopiować starą wersję pliku. W tym celu należy wykonać polecenie copy z parametrem -r wraz z numerem wersji pliku, np.: svn copy -r 3 Fibonacci.java Previous.java strona 7 / 8

4. Wykonanie komendy status pokaże obok nowych elementów znak 'A +'. Oznaczenia te są wyjaśnione w dokumentacji Subversion i na następującej stronie: http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.status.html Ćwiczenie 3.5: Przenoszenie pliku 1. Należy przejść do katalogu w którym znajduje się plik lub katalog który chcemy przenieść. 2. Za pomocą polecenia mv przenosimy wybrany zasób, np. svn mv *.java src Przed wykonaniem polecenia należy upewnić się, że pliki/katalogi źródłowe i docelowe istnieją. 3. Wykonanie komendy status pokaże, że pliki z katalogu źródłowego przeznaczone są do skasowania (flaga 'D'), a w katalogu docelowym znajdują się pliki do dodania (flaga 'A'). 4. Należy zatwierdzić zmiany w repozytorium komendą commit. strona 8 / 8