Archiwum z Maj 2009

Czas na zmiany …

wtorek, 26 Maj 2009

Po roku i trzech miesiącach przepracowanych w firmie GRIT – AGENCJA INTERAKTYWNA stwierdziłem, że nadszedł czas na pewne zmiany. Zgodnie z przemyśleniami postanowiłem przeprowadzić pewne działania, których wynikiem jest nowa praca w firmie Blue Media S.A w Sopocie, w której zostałem zatrudniony na stanowisku programisty php5 :) . Bardzo cieszy mnie ta zmiana ponieważ stwarza dla mnie nowe możliwości rozwoju, których zabrakło już w GRIT. Rozwijać się trzeba i nie wolno o tym zapomninać.

Powoli kończe studia – została już tylko obrona ( jak się uda to lipiec a jeśli wrzesień to  nic sie nie stanie ) i mogę już powiedzieć co nie co, odnosząc się się do mojego pierwszego posta na moim blogu “Studia dzienne a praca …” ale to już materiał na kolejnego posta :)

Nową pracę zaczynam od 1 czerwca. Przekonam się co to znaczy pracować dla większej firmy.

SVN externals

wtorek, 26 Maj 2009

Jeśli pracujesz w firmie, która używa  własnego frameworka dla wszystkich projektów oraz korzysta z systemu kontroli wersjami SVN to doskonałym  rozwiązanem jest użycie własności svn:externals. Umożliwia ona wspołdzielenie jednego projektu ( pewnego źródła danych ) dla wszystkich projektów pochodnych. Przykładowo każda aplikacja w twojej firmie korzysta z CMS’a, o bardzo podobnej funkcjonalności, czyli tak naprawdę korzysta z tych samych bibliotek. Dzięki svn możesz łatwo wspołdzielić te biblioteki dla każdego projektu.

Jakie są tego korzyści? Przykładowo, pracując nad pewną aplikacją zauważasz w bibliotece błąd, który natychmiast poprawiasz. Dzięki temu wszystkie projekty, które używają wspołdzielonych plików posiadają już aktualną, poprawioną wersję. Odpowiednie pliki wysyła się klientowi w ramach tak zwanego wsparcia dla projektu. Poza tym łatwiejszy jest rozwój projektu, nie  trzeba “skakać” po wszystich aplikacjach i zastepować pliki – robisz to w jednym miejscu.

Szybki sposób na svn:external.

Projekt składa się z katalogów: /frontend, /temp, /backend, /backend/cms, /library, z czego /library oraz /backend/cms dla każdego projektu są powielane. Stwórzmy z nich więc odrębne repo:

svnadmin create common_cms ( w nim jest /library oraz /cms)

Dalej tworzymy repozytorium dla nowego projektu, ktory będzie korzystał z common_cms.

svnadmin create nowy_projekt

Importujemy pliki oraz katalogi, które są tylko dla niego przeznaczone. Czyli /frontend, /temp, /backend  a następnie katalogi wspołdzielone.

Dodajemy więc własność svn:externals w przeznaczonym katalogu. Piszemy:

cd nowy_projekt/

svn ps svn:externals “library [protokoł]://nazwa_host/common_cms/library” .

svn commit -m “Dodaje katalog wspoldzielony library”

svn up

( zaciagnie się katalog library )

cd nowy_projekt/backend

svn ps svn:externals “cms [protokoł]://nazwa_host/common_cms/cms” .

svn commit -m “Dodaje katalog wspoldzielony cms”

svn up

( zaciagnie się katalog cms )

Jeśli chcemy usunać external z danego katalogu wykonujemy polecenie:

svn pd svn:external .

svn commit -m “usuwam katalogi wspoldzielone z biezacego katalogu”

Korzystam z tej możliwości w mojej firmie już od dłuższego czasu i potwierdzam wygodę takiego rozwiązania.

Zachęcam do wykorzystania tej możliwości SVN.