Symfony2: Nowa era frameworków... została rozpoczęta!

Dzisiejszy dzień jest wielkim dniem. Półtoraroczny wysiłek 250 osób z wielu krajów pod kierownictwem znanego z “części pierwszej” tej sagi Fabiena Potenciera zakończył się wydaniem stabilnej wersji Symfony2 - 2.0.0. Długo czekałem na tą chwilę, kiedy będę mógł w końcu spróbować swoich sił w pracy z finalną wersją, dlatego jako wielki fan symfony 1.x tym bardziej cieszę się z dzisiejszego wydania. W niniejszym wpisie chciałbym krótko uczcić to święto wszystkich programistów PHP - nowa era frameworków tego języka została oficjalnie uznana za rozpoczętą!

TortoiseSVN: Problem z odświeżaniem ikon statusu.

Narzędzia pochodzące ze strony Tigris.org są bardzo przydatne w pracy programisty. Szczególnie pod systemem Windows, gdzie mamy do wyboru kilka związanych z kontrolą wersji. Od kilku lat używam programu TortoiseSVN - klienta Subversion, który w bardzo wygodny dla użytkownika sposób integruje się z menu kontekstowym plików i katalogów dostępnym pod prawym przyciskiem myszy, pokazując także status danego elementu w formie nałożonego obrazka. Czasem jednak informacja ta jest przekłamana - w dzisiejszym wpisie chciałbym przedstawić kilka możliwości, za pomocą których można sobie z tym problemem poradzić.

[SVN] Synchronizacja [do wielu] repozytoriów.

Jeden z moich kolegów “po fachu” miał ostatnio problem ze swoim repozytorium SVN i zwrócił się do mnie z prośbą o pomoc w znalezieniu rozwiązania. Sprawa wyglądała następująco: na wewnętrznym dysku komputera zlokalizowana była kopia robocza [Working Copy], na której pracował i repozytorium kodu, do którego zamierzał commitować zmiany. Na dysku zewnętrznym “wymarzył sobie” za to backup tego repozytorium. Problem polegał na tym, że trzeba było w jakiś sposób ten backup zrobić oraz usprawnić jego wykonywanie na tyle, żeby kolega nie musiał “męczyć się” bardziej niż do tej pory. Sprawa była teoretycznie prosta, jednak rozwiązanie polegające na zwykłym kopiowaniu danych pomiędzy dyskami nie wchodziło w grę, ponieważ rozmiar repozytorium był rzędu gigabajtów [bardzo dużo danych binarnych]. Trzeba było zatem wymyślić lepszy, bardziej inteligentny sposób na rozprawienie się z używanym przez nas systemem kontroli wersji.