Systemy kontroli wersji

Post on 22-Feb-2016

58 views 0 download

description

Maciej Hryniszak. Not Yet Another Conference Kraków , 2010-06-19. Systemy kontroli wersji. Public enemy number one czy twój największy przyjaciel?. Przesłanie. - PowerPoint PPT Presentation

Transcript of Systemy kontroli wersji

Systemy kontroli wersjiPublic enemy number one czy twój największy przyjaciel?

Not Yet Another Conference

Kraków , 2010-06-19Maciej Hryniszak

Przesłanie

Zainteresowanie różnorodnością dostępnych systemów kontroli

wersji aby lepiej i bardziej efektywnie wykorzystywać

dostępne narzędzia

Agenda Po co nam to wszystko?

Początki bywają trudne The new age, czyli Subversion Git – skąd to się wzięło? Inne rozproszone systemy kontroli

wersji SVN/HG/Bazaar best practices

Początki…

Na początku był chaos…

TGZ + Patch

RCS

Początki…

Revision Control System (RCS), to komputerowy system do kontrolowania wersji plików tekstowych stosowany w środowiskach UNIX/Linux, np. tekstów źródłowych programów, dokumentów itp. Dzięki temu można dokumentować poszczególne zmiany wprowadzane w danym pliku oraz odtworzyć jego wcześniejsze wersje, gdy zajdzie taka potrzeba. RCS służy do kontrolowania zmian pojedynczych plików.

Wikipedia

EwolucjaEdit And Pray

Checkout Lock Modify Checkin

Checkout Modify Merge Checkin

Clone Modify Checkin Push

CLMC – to czego nikt nie lubi Każda zmiana w pliku może zostać

dokonana dopiero po bezpośrednim ustaleniu dostępu do tego pliku

Każdy plik zatwierdzany jest osobno

CVS, ClearCase

CLMC – to czego nikt nie lubi

Jola Monika

Karolina Dorota

Jolanta

CentralneRepozytorium

Kodu

CMMC na ratunek! Atomiczne zatwierdzanie zmian

Lepsza wydajność w rozproszonych środowiskach

Wygodniejsza obsługa

Światełko w tunelu

CMMC na ratunek!Jola Monika

Karolina Dorota

CentralneRepozytorium

Kodu

Systemy scentralizowane

Subversion Bazaar

CMCP – The new age

Centralizacja nie jest zła

Ale czasami bywa nieodpowiednia

Rozproszony model zarządzania kodem źródłowym

CMMC na ratunek!Jola Monika

Karolina Dorota

Systemy zdecentralizowane Git Bazaar Mercurial SVK

Best practicesJak sprawić by pracowało się przyjemnie…

Subversion w codziennej pracy Poprawna struktura repozytorium Śledzenie łączenia zmian (merge) Wyjmowanie wisienek Fizyka mergowania Praca w scentralizowanym

środowisku Problem powolnej sieci Performance

Subversion w codziennej pracy trunk branches tags releases

Subversion w codziennej pracy svn merge -c REVISION URL

svn merge --reintegrate URL

svn log filename.ext@rev

Subversion w codziennej pracy svnsync initialize DEST_URL

SRC_URL

svnsync synchronize DEST_URL

Bazaar w codziennej pracy

Śledzenie łączenia zmian (merge) Fizyka mergowania Praca w scentralizowanym

środowisku Praca w decentralizowanym

środowisku Performance

Bazaar w codziennej pracy

bzr branch bzr import-svn

bzr bind URL bzr unbind

Mercurial w codziennej pracy Fizyka mergowania Patch queues Performance

Mercurial w codziennej pracy hg qinit NAZWA

hg qrefresh

hg qfinish

hg qpush / hg qpop

Q & A