Systemy kontroli wersji

24
Systemy kontroli wersji Public enemy number one czy twój największy przyjaciel? Not Yet Another Conference Kraków , 2010-06-19 Maciej Hryniszak

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

Page 1: 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

Page 2: Systemy kontroli wersji

Przesłanie

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

wersji aby lepiej i bardziej efektywnie wykorzystywać

dostępne narzędzia

Page 3: Systemy kontroli wersji

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

Page 4: Systemy kontroli wersji

Początki…

Na początku był chaos…

TGZ + Patch

RCS

Page 5: Systemy kontroli wersji

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

Page 6: Systemy kontroli wersji

EwolucjaEdit And Pray

Checkout Lock Modify Checkin

Checkout Modify Merge Checkin

Clone Modify Checkin Push

Page 7: Systemy kontroli wersji

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

Page 8: Systemy kontroli wersji

CLMC – to czego nikt nie lubi

Jola Monika

Karolina Dorota

Jolanta

CentralneRepozytorium

Kodu

Page 9: Systemy kontroli wersji

CMMC na ratunek! Atomiczne zatwierdzanie zmian

Lepsza wydajność w rozproszonych środowiskach

Wygodniejsza obsługa

Światełko w tunelu

Page 10: Systemy kontroli wersji

CMMC na ratunek!Jola Monika

Karolina Dorota

CentralneRepozytorium

Kodu

Page 11: Systemy kontroli wersji

Systemy scentralizowane

Subversion Bazaar

Page 12: Systemy kontroli wersji

CMCP – The new age

Centralizacja nie jest zła

Ale czasami bywa nieodpowiednia

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

Page 13: Systemy kontroli wersji

CMMC na ratunek!Jola Monika

Karolina Dorota

Page 14: Systemy kontroli wersji

Systemy zdecentralizowane Git Bazaar Mercurial SVK

Page 15: Systemy kontroli wersji

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

Page 16: Systemy kontroli wersji

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

środowisku Problem powolnej sieci Performance

Page 17: Systemy kontroli wersji

Subversion w codziennej pracy trunk branches tags releases

Page 18: Systemy kontroli wersji

Subversion w codziennej pracy svn merge -c REVISION URL

svn merge --reintegrate URL

svn log filename.ext@rev

Page 19: Systemy kontroli wersji

Subversion w codziennej pracy svnsync initialize DEST_URL

SRC_URL

svnsync synchronize DEST_URL

Page 20: Systemy kontroli wersji

Bazaar w codziennej pracy

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

środowisku Praca w decentralizowanym

środowisku Performance

Page 21: Systemy kontroli wersji

Bazaar w codziennej pracy

bzr branch bzr import-svn

bzr bind URL bzr unbind

Page 22: Systemy kontroli wersji

Mercurial w codziennej pracy Fizyka mergowania Patch queues Performance

Page 23: Systemy kontroli wersji

Mercurial w codziennej pracy hg qinit NAZWA

hg qrefresh

hg qfinish

hg qpush / hg qpop

Page 24: Systemy kontroli wersji

Q & A