Systemy Kontroli Wersji

Podobne dokumenty
Systemy zarządzania wersjami

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

GIT. Rozproszony system kontroli wersji

Git rozproszony system kontroli wersji

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

CVS system kontroli wersji

KONFIGURACJA CVS MAREK GRZEŚ

Assembla.com zajęcia 1

Programowanie zespołowe

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

SVN sojusz, partnerstwo, współpraca

Platforma GitHub. 1 Cel laboratoriów. 2 GitHub. 2.1 Git. źródeł.

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Co zostanie wypisane na ekranie? (1)

Partnerzy: Laboratorium 15

Narzędzia programistyczne - GIT

Programowanie I

1. System kontroli wersji Instalacja programu kontroli wersji CVS

System kontroli wersji Git

SUBVERSION TOMASZ ŁUKASZUK

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Przygotowanie platformy projektowo-programowej

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

Instrukcja instalacji oprogramowania dla środowiska Windows

Wprowadzenie do systemu wersjonowania svn

Projektowanie oprogramowania systemów NARZĘDZIA PRACY GRUPOWEJ, KONTROLI WERSJI, DOKUMENTOWANIA I ŚLEDZENIA BŁĘDÓW

egroupware czy phpgroupware jest też mniej stabilny.

Git i platforma GitHub

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Techniki komputerowe w robotyce

Open Source w służbie developerom

PERFORCE SYSTEM KONTROLI WERSJI W ZASTOSOWANIACH

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

Nowy system kontroli wersji oprogramowania. Jacek Prucia

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Michał (plucho) Subversion Wykorzystanie i administracja repozytorium

Środowisko programisty. Środowisko programisty 1/35

Proces ciągłej integracji Git + Gerrit + Jenkins. autor : Maciej Pieszała

Porównanie aplikacji do tworzenia harmonogramów.

Rozproszony system kontroli wersji GIT. Piotr Macuk

UP: Zarządzanie konfiguracją i zmianami (ang. Configuration and Change Management)

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

System zarządzania wersjami I Subversion

Serwery Aplikacji "CC" Grzegorz Blinowski. tel (22) ; faks (22)

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Wersjonowanie baz danych podczas developmentu. Liquibase. Piotr Pelczar.

Q E M U.

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Dokument Detaliczny Projektu

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Politechnika Poznańska, Instytut Informatyki, Studia niestacjonarne. Inżynieria oprogramowania

System kontroli wersji git

BSD alternatywa dla Linuksa. (na przykładzie FreeBSD)

ponad pracowników ponad pracowników ponad pracowników ponad pracowników

ViLab- program służący do prowadzenia obliczeń charakterystyki energetycznej i sporządzania świadectw charakterystyki energetycznej

Zasady skutecznego działania Specyfikacja wymagań Kontrola jakości artefaktów

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

Instrukcja instalacji oprogramowania dla środowiska Windows

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

26.X.2004 VNC. Dawid Materna

Wprowadzenie do systemów kontroli wersji

Wprowadzenie do systemów kontroli wersji

EXSO-CORE - specyfikacja

SHOPER INTEGRATOR BY CTI INSTRUKCJA

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

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

Migracja z programu Symfonia Kadry i Płace wer 3.x do Kadr i Płac Forte

Dokument Detaliczny Projektu

MAMP Mac + Apache + MySQL + PHP. Kraków 8 czerwca 2009, Adam Strzelecki,

Open Source na Uniwersytecie Łódzkim

System kontroli wersji SVN

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Baza danych sql. 1. Wprowadzenie

CVS dla programisty lub amatora

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Wprowadzenie do systemów kontroli wersji RCS i CVS

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Załącznik nr 2. Zasady pracy aplikacji InteGrRej.

VIRTUEMART INTEGRATOR BY CTI INSTRUKCJA

Instrukcja pierwszego logowania do Serwisu BRe Brokers!

SHOPER INTEGRATOR XL BY CTI INSTRUKCJA

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki

INŻYNIERIA OPROGRAMOWANIA

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

Pojęcie systemu baz danych

Instrukcja instalacji oprogramowania dla środowiska MacOS

Zarządzanie projektami informatycznymi


Instrukcja Instalacji. Instalacja lokalna

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Instrukcja laboratoryjna cz.3

Transkrypt:

Systemy Kontroli Wersji zarzadzanie źródłami Marcin Gryszkalis dagoon@math.uni.lodz.pl Wydział Matematyki Uniwersytetu Łódzkiego Łódź 2003 Systemy Kontroli Wersji p.1/39

VCS a SCM Systemy Kontroli Wersji p.2/39

VCS a SCM VCS = Version Control System SCM = Software Configuration Management VCS SCM Systemy Kontroli Wersji p.3/39

Systemy SCM Zarzadzanie kodem źródłowym (VCS) Systemy Kontroli Wersji p.4/39

Systemy SCM Zarzadzanie kodem źródłowym (VCS) Zarzadzanie zmianami i obsługa błędów Systemy Kontroli Wersji p.4/39

Systemy SCM Zarzadzanie kodem źródłowym (VCS) Zarzadzanie zmianami i obsługa błędów Zarzadzanie budowaniem Systemy Kontroli Wersji p.4/39

Systemy SCM Zarzadzanie kodem źródłowym (VCS) Zarzadzanie zmianami i obsługa błędów Zarzadzanie budowaniem Obsługa procesów tworzenia (zatwierdzanie itp.) Systemy Kontroli Wersji p.4/39

Systemy SCM Zarzadzanie kodem źródłowym (VCS) Zarzadzanie zmianami i obsługa błędów Zarzadzanie budowaniem Obsługa procesów tworzenia (zatwierdzanie itp.) Zarzadzanie projektem Systemy Kontroli Wersji p.4/39

Systemy VCS Repozytorium plików Systemy Kontroli Wersji p.5/39

Systemy VCS Repozytorium plików Śledzenie zmian Systemy Kontroli Wersji p.5/39

Systemy VCS Repozytorium plików Śledzenie zmian Odtwarzanie stanów Systemy Kontroli Wersji p.5/39

Systemy VCS Repozytorium plików Śledzenie zmian Odtwarzanie stanów Regression bugs Systemy Kontroli Wersji p.5/39

Systemy VCS Repozytorium plików Śledzenie zmian Odtwarzanie stanów Regression bugs Współpraca wielu autorów (programistów) potrzebujacych dostępu do repozytorium Systemy Kontroli Wersji p.5/39

Jak działa system VCS Systemy Kontroli Wersji p.6/39

CVS: login login - logowanie do repozytorium konieczne przy zdalnym dostępie może bazować na różnych metodach autentykacji (pserver, GSSAPI) $ cvs -d :pserver:user@example.pl:/home/cvsroot login Logging in to :pserver:user@example.pl:/home/cvsroot CVS password: $ cvs -d :pserver:user@example.pl:/home/cvsroot checkout foo Systemy Kontroli Wersji p.7/39

CVS: login login - logowanie do repozytorium konieczne przy zdalnym dostępie może bazować na różnych metodach autentykacji (pserver, GSSAPI) $ export CVSROOT=:pserver:user@example.pl:/home/cvsroot $ cvs login Logging in to :pserver:user@example.pl:/home/cvsroot CVS password: $ cvs checkout foo Systemy Kontroli Wersji p.7/39

CVS: checkout checkout - pobranie pliku/projektu z repozytorium można operować na calych drzewach katalogów lub tzw. modułach można operować na różnych wersjach pliku update - pobranie pliku z repozytorium (uaktualnienie) Systemy Kontroli Wersji p.8/39

CVS: commit commit - zapisanie zmian w repozytorium czasami określane jako "check in" automatycznie zwiększa numer wersji oczekuje komentarza Systemy Kontroli Wersji p.9/39

Wersje pliki sa w różnych wersjach (ang. revision) aplikacje sa w różnych wydaniach (ang. release) Systemy Kontroli Wersji p.10/39

CVS: diff diff - porównanie różnych wersji pliku domyślnie porównuje lokalna kopię z aktualna wersja w repozytorium Systemy Kontroli Wersji p.11/39

CVS: log log - historia zmian danego pliku wyswietla liste zmian (komentarzy, które zostały podany podczas operacji commit) Systemy Kontroli Wersji p.12/39

CVS: annotate annotate - zawartość pliku, z oznaczeniem kto co zrobił czasami oznaczane jako blame Systemy Kontroli Wersji p.13/39

Gałęzie Jeden projekt może być rozwijany w kilku wydaniach jednocześnie np. jadro Linuxa: 2.2.x, 2.4.x, 2.5.x możliwość wielokrotnego rozdzielania gałęzi możliwość łaczenia gałęzi Systemy Kontroli Wersji p.14/39

Wydania - tagi Oznaczenie konkretnego momentu w życiu projektu Pozwala odnosić się do konkretnego wydania Pozwala wygodnie rozgałęziać tag HEAD - oś rozwoju Systemy Kontroli Wersji p.15/39

Słowa kluczowe Specjalne wzorce podmieniane w czasie operacji zapisu (commit) $Id$ - charakterystyczny identyfikator $Id: actions.txt,v 1.9 2003/04/10 01:22:55 mg Exp $ $Date$ - data zapisu wersji $Author$ - autor (kto zapisał) $Revision$ - numer wersji Systemy Kontroli Wersji p.16/39

Dostępne systemy VCS i SCM Systemy Kontroli Wersji p.17/39

Systemy VCS Open Source: RCS, CVS, Subversion Pół-komercyjne: BitKeeper, Perforce Komercyjne: SCCS, Microsoft SourceSafe, Forte Code Management Software, Rational ClearCase, Borland StarTeam Inne: VMS Filesystem Systemy Kontroli Wersji p.18/39

SCCS Source Code Control System Stary komercyjny system VCS Obecnie znaczenie raczej historyczne CSSC - Odpowiednik z rodziny GNU http://cssc.sourceforge.net Systemy Kontroli Wersji p.19/39

RCS Revision Control System Klasyczny system kontroli wersji OpenSource, Licencja - GPL Bezpośredni dostęp do plików wersji Tylko lokalny Bazuje na blokadach http://www.gnu.org/software/rcs/rcs.html Systemy Kontroli Wersji p.20/39

CVS Concurrent Versions System OpenSource, Licencja - GPL Format plików "prawie" zgodny z RCS "Concurrent" - pozwala na jednoczesne wprowadzanie zmian przez wiele osób http://cvshome.org Systemy Kontroli Wersji p.21/39

Subversion Zaprojektowany jako następca CVSa OpenSource, Licencja - Apache/BSD-style Dużo rozszerzeń względem CVSa Cały czas w trakcie intensywnego rozwoju http://subversion.tigris.org Systemy Kontroli Wersji p.22/39

BitKeeper Komercyjny system kontroli wersji Udostępnia możliwość darmowej obsługi projektów OpenSource Jadro Linuksa http://bitkeeper.com Systemy Kontroli Wersji p.23/39

Perforce Komercyjny, nowoczesny SCM Używany przez: SAP, Nvidia, SGI Możliwość darmowego wykorzystania przy projektach OpenSource (m.in. OpenWatcom) http://www.perforce.com Systemy Kontroli Wersji p.24/39

Microsoft SourceSafe Komercyjny VCS Standard dla narzędzi MS Oparty na współdzielonym katalogu Microsoft zaleca - nie przekraczać 3GB Nie obsługuje stref czasowych http://msdn.microsoft.com/ssafe/ Systemy Kontroli Wersji p.25/39

Forte Code Management Software Komercyjny produkt Sun Microsystems Dawniej Sun TeamWare, oparty na SCCS Kompletny system SCM http://wwws.sun.com/software/(...) Systemy Kontroli Wersji p.26/39

Rational ClearCase Komercyjny kompletny SCM Wspiera standard UCM (Unified Change Management) Prawdopodobnie jeden z najsilniejszych SCM wogóle Bardzo duże wymagania sprzętowe (serwer) http://www.rational.com/products/clearcase/ Systemy Kontroli Wersji p.27/39

Borland StarTeam Komercyjny kompletny SCM http://www.borland.com/starteam/index.html Systemy Kontroli Wersji p.28/39

System plików VMS System plików ze wsparciem dla kontroli wersji Dostępny w systemach VMS, także OpenVMS (dla platform VAX i Alpha) Obejmuje wszystkie działania w systemie http://www.openvms.org Systemy Kontroli Wersji p.29/39

Wady i Zalety: cvs, snv, bk Systemy Kontroli Wersji p.30/39

CVS - cechy Zalety Dojrzały system Bardzo szerokie wsparcie, integracja z narzędziami Standard Wady Problemy z plikami binarnymi i nie-ascii Brak obsługi rename Systemy Kontroli Wersji p.31/39

Subversion - cechy Wersjonowanie katalogów, rename, symlinks Atomic commits Apache/WebDAV jako podstawa komunikacji sieciowej Algorytmy obsługi plików binarnych (także diff!) Łatwo parsowalne wyjście Wsparcie dla plików tekstowych nie-ascii (UTF-8 i inne) Systemy Kontroli Wersji p.32/39

BitKeeper - cechy Hierarchiczne repozytoria Changesets Rollback (nazwy, zawartość) Triggery Dostępny na większości platform (klient?) Sumy kontrolne Systemy Kontroli Wersji p.33/39

CVS - narzędzia Systemy Kontroli Wersji p.34/39

CVS - klienci command-line SmartCVS (Java, zamknięty, darmowy w wersji "community") WinCVS (GTK, GPL) TortoiseCVS (tylko Windows, GPL) pluginy Systemy Kontroli Wersji p.35/39

CVS - klienci www Bonsai ViewCVS (Python) CVSWeb Systemy Kontroli Wersji p.36/39

CVS - inne cvsup (klient i serwer) CVS-NT (serwer) Systemy Kontroli Wersji p.37/39

Pytania? Systemy Kontroli Wersji p.38/39

Prosper Prezentacja wykonana przy użyciu pakietu prosper dla systemu L A T E X http://prosper.sourceforge.net Systemy Kontroli Wersji p.39/39