Upload
lise
View
51
Download
0
Embed Size (px)
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
Citation preview
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