Systemy zarządzania wersjami



Podobne dokumenty
SVN sojusz, partnerstwo, współpraca

Środowisko programisty. Środowisko programisty 1/35

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

Co zostanie wypisane na ekranie? (1)

Programowanie I

Michał (plucho) Subversion Wykorzystanie i administracja repozytorium

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

Wprowadzenie do systemu wersjonowania svn

SUBVERSION TOMASZ ŁUKASZUK

CVS system kontroli wersji

System kontroli wersji git

System kontroli wersji Git

Systemy Kontroli Wersji

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Git rozproszony system kontroli wersji

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Assembla.com zajęcia 1

System zarządzania wersjami I Subversion

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

Subversion - jak dziaªa

GIT. Rozproszony system kontroli wersji

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

Programowanie zespołowe

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

Partnerzy: Laboratorium 15

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

Przygotowanie platformy projektowo-programowej

Open Source w służbie developerom

Techniki komputerowe w robotyce

1. System kontroli wersji Instalacja programu kontroli wersji CVS

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

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

git krótki przewodnik

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

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

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

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

Konfiguracja serwera Apache jako serwera repozytorium kodu SVN

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

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

SERWER AKTUALIZACJI UpServ

PERFORCE SYSTEM KONTROLI WERSJI W ZASTOSOWANIACH

Zarządzanie projektami informatycznymi

11. Rozwiązywanie problemów

SERWER AKTUALIZACJI UpServ

Systemy kontroli wersji git od wewnatrz Użycie gita Koniec. git. Rozproszony system kontroli wersji. sphere.pl. Koło Naukowe Sfera

Drupal i GIT. Schemat pracy.

BACKUP BAZ DANYCH FIREBIRD

Konfiguracja i administracja systemem kontroli wersji SVN

System kontroli wersji SVN

Klient poczty elektronicznej

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

TortoiseHg + Windows konfiguracja

Załącznik 1 instrukcje instalacji

Narzędzia programistyczne - GIT

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Automatyczne publikowanie rozkładów zajęć

OpenLaszlo. OpenLaszlo

RAPORT KOŃCOWY PROJEKTU

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Podstawowy warsztat informatyka

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Laboratorium - Poznawanie FTP

Telesprzedaż by CTI Instrukcja

Forum Client - Spring in Swing

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Część II: Instalacja systemu Mediqus

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

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Rozproszony system kontroli wersji GIT. Piotr Macuk

Praca w sieci równorzędnej

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Instrukcja instalacji oprogramowania dla środowiska Windows

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

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Rozpoczęcie pracy z programem.

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

IBM SPSS Statistics dla systemu Windows Instrukcje dotyczące instalacji (jeden użytkownik)

Wykaz zmian w programie WinAdmin Replikator

Git i platforma GitHub

Baza danych sql. 1. Wprowadzenie

nie trzeba pobierać wszystkich plików z serwera na stację roboczą. Teraz można pobierać tylko te

Podstawowe możliwości programu Spectro Market Faktura

SERWER AKTUALIZACJI UpServ

Finanse VULCAN. Import planu finansowego z Sigmy

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

Nowy system kontroli wersji oprogramowania. Jacek Prucia

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

Przykłady wykorzystania polecenia netsh

Instrukcja obsługi aplikacji X-Trade DDE To MetaStock Chart 1.1

Załącznik 1 instrukcje instalacji

Problemy techniczne SQL Server

Analiza malware Remote Administration Tool (RAT) DarkComet

Transkrypt:

24 października 2007

Po co? Dla kogo? Dlaczego? aby ułatwić kontrolę nad projektem aby panować nad wersjami aby móc śledzić zmiany dla każdego projektu, przy którym pracuje więcej niż jedna osoba dla ludzi ekstremalnych: zawsze :) bo jest to wygodne bo jest to praktyczne bo tak robią profesjonaliści - czyli MY :)

Przykładowe systemy zarządzania wersjami CVS Subversion Git - używany przez kernel.org IBM Rational ClearCase Microsoft Visual SourceSafe (dla małych projektów) Visual Studio Team System (dla dużych projektów) Mercurial (napisany w Python ie) Darcs (napisany w Haskell u) SVK (napisany w Perl u)

CVS zalety projekt open-source jeden ze starszych systemów (powstał w 1980 roku) dobrze udokumentowany i przetestowany system o dużej funkcjonalności wady od dawna nie dodaje się do niego nowej funkcjonalności nie wspiera atomowych operacji commit nie pozwala zmieniać nazw plików poddanych zarządzaniu wersjami słabe wsparcie dla Unicode nie pozwala zarządzać dowiązaniami symbolicznymi (są one potencjalnie niebezpieczne)

Subversion (SVN) zalety projekt open-source naprawia braki CVS a - powstał jako jego następca w 2000 roku (CollabNet Inc.) jest aktywnie rozwijany bardzo efektywnie przechowuje pliki binarne pozwala na niemal dowolne zmiany statusu plików, nie powodując utraty historii wersji wady problemy ze zmianą nazwy pliku - działa na zasadzie kopiuj-usuń trudne administrowanie repozytorium

Wygodne nakładki graficzne esvn - wielosystemowa, oparta o QT KDESvn - zaprojektowana specjalnie dla KDE Netbeans - zawiera moduł integracji z Subversion RapidSVN - wielosystemowa TortoiseSVN - prawdopodobnie najlepsza nakładka dla Windows, integruje się z explorerem

Interfejsy web owe ViewVC używane przez MPlayer a WebSVN wspierana przez Tigris sventon aplikacja napisana w Java do przeglądania repozytoriów

Na zachętę - kto używa SVN? MPlayer GCC Apache KDE GNOME Google Code :)

Darmowe repozytoria SVN MIMUW students Server - potrzebne wtyki u wykładowców :) SourceForge (sourceforge.net) Berlios.de (www.berlios.de) CVSDude (cvsdude.com) Google (code.google.com/hosting) CodeSpaces (www.codespaces.com)

Elementy instalacji Subversion svn klient Subversion svnadmin narzędzie do tworzenia i zarządzania repozytoriami svnserve samodzielny serwer repozytoriów Subversion inne dla zaawansowanych :)

Trochę teorii Subversion system scentralizowany, którego centrum jest repozytorium repozytorium przechowuje dane poddane zarządzaniu wersjami oraz historię ich zmian repozytorium posiada typową hierarchę drzewiastą - jak większość systemów plików :) metodologia copy-modify-merge kopie lokalne o katalog.svn

Subversion - najważniejsze polecenia help najważniejsze!!! - wyświetla pomoc import wgrywa strukturę katalogów do repozytorium list wyświetla strukturę repozytorium checkout pobiera dane z serwera SVN i tworzy lokalną kopię roboczą danego repozytorium commit wysyła zmiany wprowadzone w kopii roboczej do repozytorium update aktualizuje kopię roboczą do wersji znajdującej się w repozytorium status pokazuje zmiany w kopii roboczej w stosunku do ostatnio pobranej wersji z repozytorium add / delete / copy / move podstawowe zarządzanie plikami revert cofnij wprowadzone zmiany log wyświetla historię zmian

polecenie: svn help składnia svn help [KOMENDA] ważniejsze parametry brak działanie wyświetla listę możliwych komend; gdy podana jest komenda wypisuje pomoc na jej temat

polecenie: svn import składnia svn import [ŚCIEŻKA] URL ważniejsze parametry -m opis dodaj opis do informacji o aktualizacji - -username użytkownik nazwa użytkownika - -password hasło hasło dla użytkownika działanie wykonaj operację commit na pliku (bądź katalogu) nie podlegającym kontroli wersji. Zazwyczaj używa się go aby wgrać pierwszą wersję źródeł do repozytorium

polecenie: svn list składnia svn list [CEL[@WERSJA]] ważniejsze parametry -r wersja komenda odnosi się do wersji wersja - -xml wyświetl w formacie XML działanie wyświetl strukturę plików i katalogów repozytorium w wersji WERSJA (lub aktualnej, jeśli WERSJA nie została podana)

polecenie: svn checkout składnia svn checkout URL[@WERSJA]... [ŚCIEŻKA] ważniejsze parametry -r wersja komenda odnosi się do wersji wersja działanie pobierz repozytorium spod adresu URL w wersji WERSJA i utwórz lokalną kopię roboczą w ŚCIEŻKA

polecenie: svn commit składnia svn commit [ŚCIEŻKA] ważniejsze parametry -m opis dodaj opis do informacji o aktualizacji (WYMAGANE!!) -F plik pobież opis z pliku plik działanie wyślij zmiany dokonane w lokalnej kopii roboczej do repozytorium

polecenie: svn update składnia svn update [ŚCIEŻKA] ważniejsze parametry -r wersja komenda odnosi się do wersji wersja działanie pobierz zmiany z repozytorium do lokalnej kopii roboczej. W trakcie pobierania danych Subversion będzie wypisywał nazwy zmodyfikowanych plików wraz z kodami literowymi oznaczającymi wprowadzoną zmianę: A dodany D usunięty U zaktualizowany C spowodował kolizję G złączony (operacją merge)

polecenie: svn status składnia svn status [ŚCIEŻKA] ważniejsze parametry brak działanie wyświetl informacje o zmianach wprowadzonych do lokalnej kopii w stosunku do wersji pobranej przy ostatniej synchronizacji z repozytorium. Wypisuje nazwy plików oraz literowy kod oznaczający wprowadzoną zmianę. Kodów tych nie przytaczamy, gdyż jest ich dużo. Można o nich poczytać po wykonaniu polecenia svn help status.

polecenie: svn add / delete / copy / move składnia svn [add OR delete OR copy OR move] ŚCIEŻKA1 [ŚCIEŻKA2] ważniejsze parametry -m opis dodaj opis do informacji o aktualizacji działanie wykonaj operację [dodawania OR usuwania OR kopiowania OR przenoszenia] pliku w repozytorium. Zmiany zostają zatwierdzone po wykonaniu najbliższej operacji commit

polecenie: svn revert składnia svn revert ŚCIEŻKA ważniejsze parametry brak działanie przywróć dany plik do stanu z poprzedniej synchronizacji z repozytorium

polecenie: svn log składnia svn log [ŚCIEŻKA] ważniejsze parametry - -limit liczba ustaw limit wyświetlanych wiadomości na liczba działanie wyświetl historię zmian dla repozytorium lub pliku ŚCIEŻKA

Rozwiązywanie kolizji jeżeli po wprowadzeniu zmian w lokalnej kopii pliku wykonamy polecenie update możemy otrzymać kolizję rozwiązywanie kolizji jest proste a zarazem trudne :) Subversion dodaje do pliku znaczniki zmian.... i tworzy pliki tymczasowe zawierające Twoją wersję pliku; wersję z repozytorium oraz wersję z poprzedniego update po rozwiązaniu kolizji wykonujemy svn resolved nazwa pliku

Trochę biologii - o gałęziach gałąź linia rozwojowa istniejąca niezależnie od innych linii rozwojowych, posiadająca jednak wspólną z nimi historię (do pewnego momentu) Subversion nie posiada wewnętrznego pojęcia gałęzi wszystko odbywa się poprzez kopiowanie poddrzewa plików

Bibliografia http://en.wikipedia.org/wiki/concurrent Versions System http://en.wikipedia.org/wiki/subversion (software) http://en.wikipedia.org/wiki/list of revision control software http://en.wikipedia.org/wiki/comparison of revision control software http://subversion.tigris.org http://svnbook.red-bean.com