CVS - podstawy. Koło Naukowe Systemów Open Source Wyzsza Szkoła Biznesu - National-Louis University. Krzysztof Walo

Podobne dokumenty
CVS system kontroli wersji

1. System kontroli wersji Instalacja programu kontroli wersji CVS

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Co zostanie wypisane na ekranie? (1)

Programowanie I

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

System kontroli wersji Git

Edytor materiału nauczania

GIT. System Kontroli wersji GIT. Rafał Kalinowski

SERWER AKTUALIZACJI UpServ

Zarządzanie projektami informatycznymi

git krótki przewodnik

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

Co nowego w systemie Kancelaris 4.11 STD/4.21 PLUS. Co nowego w systemie Kancelaris 4.12 STD/4.22 PLUS

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

Edycja strony: W edycję danej strony wchodzimy poprzez naciśnięcie opcji

Użycie Visual Basic for Applications ("VBA")

Git rozproszony system kontroli wersji

System kontroli wersji git

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

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

KONFIGURACJA CVS MAREK GRZEŚ

Program dla praktyki lekarskiej

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

SERWER AKTUALIZACJI UpServ

Temat: Organizacja skoroszytów i arkuszy

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Wprowadzenie do projektu QualitySpy

1 Podstawy c++ w pigułce.

Systemy zarządzania wersjami

Assembla.com zajęcia 1

CVS dla programisty lub amatora

GIT. Rozproszony system kontroli wersji

KS-ZSA. Mechanizm centralnego zarządzania rolami

Mazowiecki Elektroniczny Wniosek Aplikacyjny

Wykład 8: klasy cz. 4

Technologie Informacyjne - Linux 2

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

SERWER AKTUALIZACJI UpServ

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

Memeo Instant Backup Podręcznik Szybkiego Startu

Laboratorium Systemów Operacyjnych

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

1.1.3 Praca online. Chcąc edytować plik mamy dwie możliwości korzystając z pełnej aplikacji (1) lub z wersji w przeglądarce (2).

Partnerzy: Laboratorium 15

Środowisko programisty. Środowisko programisty 1/35

(aktualizacja 30 kwietnia 2018)

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Systemy Operacyjne - Operacje na plikach

Ćwiczenie: JavaScript Cookies (3x45 minut)

SUBVERSION TOMASZ ŁUKASZUK

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Podręcznik administratora Systemu SWD ST Instrukcja instalacji systemu

Pliki. Informacje ogólne. Obsługa plików w języku C

5.4. Tworzymy formularze

Modele danych walidacja widoki zorientowane na model

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

7. Pętle for. Przykłady

System zarządzania wersjami I Subversion

Backup Premium Podręcznik Szybkiego Startu

Podstawy technologii WWW

Pracownia Komputerowa wyk ad II

1.Formatowanie tekstu z użyciem stylów

MATLAB tworzenie własnych funkcji

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

1. Tworzenie integracji

Subversion - jak dziaªa

VinCent Administrator

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Panel Administracyjny (wersja beta)

Podręcznik administratora Systemu SWD ST Instrukcja instalacji systemu

Systemy Kontroli Wersji

Paczki przelewów w ING BankOnLine

I. Program II. Opis głównych funkcji programu... 19

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

System SZOP, Przypadki użycia: Szczegółowy opis modyfikacji dokumentu. Agata Chrobak Kornel Jakubczyk Tomasz Klukowski Przemek Kosiak

finiownia loginów. W zależności od ustawionej opcji użytkownik login:

I. Interfejs użytkownika.

Backend Administratora

Tworzenie szablonów użytkownika

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Instrukcja obsługi: Moduł Reklamacje

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Programowanie obiektowe

Dokładny opis instalacji programów RFD można znaleźć w pliku PDF udostępnionym na stronie w zakładce Downland > AutoCAD > Instalacja

System obsługi wag suwnicowych

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Udostępnianie plików i folderów

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

Przypisy i przypisy końcowe

Instrukcja automatycznego tworzenia pozycji towarowych SAD na podstawie danych wczytywanych z plików zewnętrznych (XLS).

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Transkrypt:

CVS - podstawy Koło Naukowe Systemów Open Source Wyzsza Szkoła Biznesu - National-Louis University Krzysztof Walo kwalo@wsb-nlu.edu.pl

Czym jest CVS? CVS to system kontroli wersji. Służy do zapisywania i przechowywania zmian w plikach źródłowych. Umożliwia wielu programistom pracę nad jednym projektem. Zapewnia dostęp do źródeł w dowolnej wersji. Synopsis: I\YAI\YUVZOUTYCIUSSGTJAIUSSGTJUVZOUTYCAIUSSGTJGXMYC cvs options - Opcje globalne. Mają wpływ na wszystkie komendy command - Komenda. Ma główny wpływ na zachowanie programu command options - Opcje dla danej komendy command args - Argumenty - najczęściej jest to plik (katalog), lista plików, albo moduł Pomoc - Pomoc na temat opcji globalnych I\YNKRVUVZOUTY - Lista wszystkich komend I\YNKRVIUSSGTJY - Opcje pojedynczej komendy I\Y.IUSSGTJ Pobieranie źródła CVS w przeciwieństwie do innych systemów kontroli wersji, nie blokuje tych plików, które są poddawane edycji. Ściąga za to źródła w odpowiedniej wersji z repozytorium do katalogu roboczego. Komenda: I\YJA SKZUJG CYIOK QGJUXKVU _ZUXO[SINKIQU[ZSUJ[R Pobiera źródła w najnowszej wersji z gałęzi głównej. Metoda określa sposób dostępu do repozytorium. Główne metody dostępu: * :local: - dostęp do zasobów lokalnych * :ext: - zasoby zewnętrzne * :server: - jak wyżej

* :pserver: - dostęp chroniony hasłem Moduł to jakiś katalog ze źródłami, znajdujący się w repozytorium. Ścieżkę do repozytorium można zapisać w zmiennej środowiskowej CVSROOT: K^VUXZ)<9855:#YIOK QGJUXKVU _ZUXO[S I\YINKIQU[ZSUJ[R Usuwanie źródeł Komenda: I\YXKRKGYKJQGZGRUM Usuwa źródła i sprawdza, czy wszystkie pliki są zatwierdzone. Zatwierdzanie plików zastępuje w pewnym sensie blokowanie w innych systemach kontroli wersji. Tworzenie nowego repozytorium Repozytoria to miejsca, gdzie cvs przechowuje pliki historii, oraz inne pliki konfiguracyje. Stąd są pobierane źródła w odpowiedniej wersji do katalogu roboczego. Repozytorium powinno być dostępne (lokalnie, lub przez jakieś połączenie) z wszystkich miejsc, które chcą z niego kożystać. Ilość miejsca na dysku powinna być trzykrotnie większa niż szacowany rozmiar projektu. Repozytorium tworzy się komendą: I\YJ[YXRUIGRI\YXUUZOTOZ Opcja '-d' możne być zastąpiona zmienną środowiskową CVSROOT. W katalogu CVSROOT, w repozytorium znajdują się różne pliki konfiguracyjne. W pozostałych katalogach, są pliki historii. Pliki historii są zakończone ',v'. Tam są przechowywane wszystkie informacje o zmianach, jakie były przeprowadzone.

Dodawanie projektu do repozytorium Przykładowo, jeśli mamy źródła w katalogu ~/myproj i chcemy je dodać do repozytorium cvs, wykonujemy nast. komendy: IJdS_VXUP I\YJ[YXRUIGRI\YXUUZOSVUXZVXUPKQZ_S_VXUPS_VXUPYZGXZ Cvs otworzy edytor teksu, aby wpisać wiadomość do historii. Edytor można zdefiniować w zmiennej środowiskowej EDITOR, jeśli zmienna nie jest zainicjowana, zostanie użyty vi. Zamiast otwierać edytor, można podać wiadomość po opcji '-m', np. I\YJ[YXRUIGRI\YXUUZOSVUXZS/SVUXZS_VXUPVXUPKQZ_S_VXUPS_VXUPYZGXZ Kolejne argumenty 'projekty/myproj' to nazwa modułu, myproj i start to odpowiednio: główny tag (vendor tag) i tag wydania (release tag). Zatwierdzanie zmian W przeciwieństwie do większości systemów kontroli wersji, CVS nie tworzy blokad na plikach, które podlegają edycji, tylko tworzy kopie robocze, na których developerzy pracują niezależnie. Po skończonej pracy, zmiany należy zatwierdzać. Do zatwierdzania zmian, służy polecenie: I\YIUSSOZS1USKTZGX VROQ Jesli nie użyje się opcji -m, cvs otworzy edytor, aby wpisać komentarz do wprowadzonych zmian. Edytor możemy wybrać, ustawiając zmienną środowiskową EDITOR. Jeżeli wielu programistów pracuje nad jednym plikiem, może zajść sytuacja, kiedy będziemy próbowali zatwierdzić plik, który został zmodyfikowany przez kogoś innego. Należy wtedy przywrócić plik do najnowszej wersji (np. komendą update), nałożyć swoje zmiany i ponownie próbować zatwierdzić. Jeśli nie mamy praw zapisu w repozytorium, możemy wysłać developerowi wynik polecenia: I\YJOLLVROQ Polecenie to wyświetla na ekran różnice między lokalnie zmodyfikowanym, a ostatnio zatwierdzonym plikiem. Zmiany te można dodać do pliku za pomocą polecenia patch.

Dodawanie/usuwanie plików Do dodawania/usuwania plików do/z repozytorium służą komendy: I\YGJJ I\YXKSU\K Dodawanie: Zanim dodamy jakiś plik musimy go stworzyć w katalogu roboczym: ZU[INVROQ I\YGJJVROQ I\YIUSSOZVROQ @GZ]OKXJ GS_ SOGT_ Usuwanie: XSVROQ I\YXKSU\KVROQ I\YIUSSOZVROQ Katalogów w cvs nigdy nie usuwamy!!! Spowodowałoby to, że nie możnaby odzyskać źródeł sprzed usunięcia katalogu! Zamiast tego usuwamy/przenosimy wszystkie pliki z katalogu, który chcemy 'usunąć'. Podczas pobierania źródeł do komend update, albo checkout dodajemy opcję -P. I\Y[VJGZK6 Dzięki temu cvs nie pobierze pustych katalogów. Jeśli chcemy pobierać puste katalogi z opcją -P, można w nich utworzyć ukryte pliki, np. ZU[INV[YZ_EQGZGRUM GINU]GPESTOK I\YIUSSOZV[YZ_EQGZGRUM GINU]GPESTOK Tagi Tagi służą do nadawania nazw zatwierdzonym plikom. Dzięki nim można mieć dostęp do poprzednich wersji plików, tworzyć gałęzie, itp. Rozróżniamy następujące rodzaje tagów: * Rewizje - każdy plik otrzymuje numer rewizji, wzrasta on za każdym razem, kiedy zatwierdzamy plik. Numer jest przydzielany automatycznie * symboliczne tagi - nadają nazwy odpowiednim numerom rewizji * tagi gałęzi - nazwy nadawane gałęziom projektu

Rewizje Rewizje to numery, które identyfikują wersję pliku. Numery rewizji mają zawsze nieparzystą ilość kropek. Przykładowe numer rewizji: Za każdym razem kiedy zatwierdzamy jakiś plik, ostatnia liczba w numerze rewizji jest zwiększana o 1. Rewizje, które mają więcej niż jedną kropkę, reprezentują pliki w gałęziach. Przypisywanie numerów rewizji: Z reguły nie ma potrzeby zmieniać numerów rewizji. Jest to jednak możliwe. Jeżeli np. mamy program, który doczekał się wersji 2.0, możemy przypisać wszystkim plikom numer rewizji 2.0. Wydajemy komendę w katalogu roboczym: I\YIUSSOZX Przydzielanie tagów Plikom o odpowiednim numerze rewizji, można nadawać symboliczne nazwy - tagi. Nazwy tagów nie mogą się składać z białych znaków. Do przydzielania tagów plikom o numerach rewizji aktulanie znajdującym się w repozytorium służą komendy: I\YZGMTG ]GZGM[VROQ I\YXZGMTG ]GZGM[SUJ[R Komenda 'rtag' operuje wyłącznie na modułach, a 'tag' na plikach. Tagi można przydzielać także innym wersjom plików, np. I\YZGMXVOKX]Y _VROQ Przydziela tag 'pierwszy' plikowi 'plik' o numerze rewizji '1.1'. Jeśli projekt posiada numery wydania, każde wydanie powinno mieć swój tag. Tagi dla wydania powinny mieć specjalne nazewnictwo, np. nazwa i numer wydania oddzielony znakiem minus, zamiast kropki. Przydzielenie tagów dla wersji: I\YXZGMXKRS_VXUP

Przeglądanie, wybieranie tagów Przeglądanie: I\YYZGZ[Y\VROQ Wyświetla wszystkie tagi, jakie zostały przypisane do pliku. Wybieranie: Wiedząc jakie plik ma przypisane tagi, można ściągnąć projekt w odpowiedniej wersji: I\YINKIQU[ZXZGMVROQ Np. jeśli chcemy zobaczyć projekt w wersji 1.0, możemy użyć polecenia: I\YINKIQU[ZXXKRSUJ[R Usuwanie, przenoszenie, zmienianie nazw tagów Zwykle nie należy modyfikować nazw tagów. Służą one do wydobywania informacji z poprzednich wersji plików. Jedyne dopuszczalne przypadki, to kiedy się popełni błąd przy nadawaniu nazwy. Usuwanie: Przenoszenie: I\YZGMJZGMVROQ I\YZGMX,YZGHRKVROQ Przenosi tag 'stable' z pliku o numerze rewizji 1.4 na aktualnie używany plik. Zmienianie nazwy: Zmiana nazwy polega na przeniesieniu starej nazwy na nową i usunięciu starej nazwy. I\YZGMXYZGX_,TU]_VROQ I\YZGMJYZGX_VROQ

Sticky tags Sticky tags występują, kiedy używamy opcji -r przy komendach checkout, lub update. Zwykle odpowiadają gałęzi, albo uniemożliwiają modyfikację jakiegoś pliku/katalogu. Sprawdzanie, czy występują: I\YYZGZ[YVROQ Usunięcie 'sticky tags': I\Y[VJGZK Jeśli chcemy pobrać plik w odpowiedniej wersji, ale bez przypisywania 'sticky tag': I\Y[VJGZKVXZGMVROQ$VROQ Opcja '-p' wypisuje zawartosc pliku na standardowe wyjście. Za pomocą operatora przekierowania '>' wynik polecenia cvs wstawiany jest do pliku 'plik'. Gałęzie i scalanie Gałęzie służą do tworzenia osobnej częsci projektu. Zmiany nanoszone w gałęzi nie mają wpływu na zmiany w gałęzi głównej. Gałęzie tworzymy komendą: I\YZGMHTG ]GMGRK OVROQ Gałąź możemy scalić z główną gałęzią projektu. Scalanie polega na wprowadzeniu zmian między miejscem rozdzielenia, a ostanio zmodyfikowanym plikiem gałęzi do gałęzi głównej. Scalanie do gałęzi głównej: I\Y[VJGZKPTG ]GMGRK OVROQ Dobrze jest oznaczyć miejsce scalenia tagiem: I\YZGMUYZGZTOKYIGRKTOKVROQ W ten sposób przy ponownym scalaniu, można się posłużyć tym tagiem do określenia miejsca, względem którego będziemy scalać: I\Y[VJGZKPUYZGZTOKYIGRKTOKPMGRG VROQ

Numey gałęzi Numery gałęzi są podobne do numerów rewizji. Składają się z liczb oddzielonych parzystą liczbą kropek. Numery rewizji plików, znajdujących się w gałęzi mają dołączoną po kropce liczbę. Np. gałąź o numerze 1.2.4 może mieć pliki o numerach rewizji 1.2.4.1, 1.2.4.2, itd. Pliki znajdujące się w gałęzi oznaczonej tym samym tagiem mają różne numery gałęzi.