GAJDAW


SZKOLENIA

Szkolenie Symfony 2.0 od podstaw

MOJE KSIĄŻKI

Książka pt. Symfony w przykładach
Książka pt. GIMP. Praktyczne projekty. Wydanie II
Książka pt. PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych
Książka pt. PHP. Praktyczne projekty

PROGRAMY

1 2 3 4 5 6 7 8 9 10 11 12 13


Subversion — system kontroli wersji

Włodzimierz Gajda

1. Systemy kontroli wersji

Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze, przechowuje pliki projektu. Programista, który chce wykonać poprawki lub zmiany w kodzie źródłowym, pobiera aktualny kod projektu z serwera. Po dokonaniu zmian w plikach, kod projektu jest przesyłany przez programistę ponownie na serwer. Oprogramowanie kontroli wersji scala pliki przesłane przez programistę z kodem przechowywanym na serwerze.

Proces scalania jest niemal całkowicie automatyczny. Nawet, jeśli wielu programistów wykonało zmiany w projekcie i przesłało nowe wersje kodu na serwer w tym samym czasie, oprogramowanie kontroli wersji poprawnie scali wszystkie dokonane zmiany (być może w wielu plikach naraz, być może w niektórych plikach w wielu miejscach). Jedynie wykluczające się wzajemnie zmiany dotyczące dokładnie tego samego miejsca w jednym pliku nie mogą być rozstrzygnięte automatycznie. Wówczas potrzebna jest ingerencja jednego z programistów, który musi ręcznie wybrać jedną wersję wprowadzonych modyfikacji. Co ciekawe, takie kolizje w rzeczywistości są dość rzadkie (pod warunkiem, że poszczególni developerzy mają ściśle określone zadania).

Opisany model pracy jest określany jako kopiuj-modyfikuj-scal (ang. copy-modify-merge). W modelu tym, poza specjalnymi przypadkami, nie występują blokady. Żaden z plików projektu nie jest zablokowany. Programista może pobrać kod całego projektu, i pracować nad dowolnym plikiem w dowolnej chwili. Nie musi czekać, aż któryś z kolegów zakończy pracę, czy wykona uaktualnienia. Programiści są wzajemnie niezależni.


Reklama

Szkolenia z Zend Framework 2.0


1 2 3 4 5 6 7 8 9 10 11 12 13