Pierwszy post z jakże ciekawej serii “co za idiota napisał ten kod” mogliście przeczytać tutaj. W kontynuacji tej kategorii będę opisywał błędy, idiotyczne rozwiązania z jakimi spotykam się na co dzień. A powstają one z różnych powodów:
- bo coś źle się wgrało
- bo się pomyliłem
- bo wgrałem pliki z innego projektu
- bo właśnie robiłem kupę i tak wyszło…
Dzisiaj zajmiemy się sprawą korzystania z repozytorium SVN. Obecnie system kontroli wersji jest narzędziem codziennego użytku w każdym polskim domu, co za tym idzie korzystanie z niego nie powinno przysparzać problemów. Jakże mylne jest to stwierdzenie.
Na pierwszy ogień idzie tworzeniu wielu głównych katalogów (modułów) w ramach jednego repozytorium svn. I tak powstają kwiatki typu: /trunk/dzbany, /trunk/dzbanek, /trunk/dzbany2, /trunk/DZBANY.
Druga sprawa to wrzucanie plików tymczasowych do repozytorium, a w szczgólności Thumb.db pod windosem. Wybrane pliki można dodać do ignorowanych i problem mamy z głowy.
Apropos wgrywania niepotrzebnych plików na serwer, oddzielną kategoria są pliki konfiguracyjne (np. config.ini). Te pliki również powinny być ignorowane. Można jedynie zamieścić szablon pliki konfiguracyjnego np. pod nazwą config.sample
I na miłość boską, rozwiązaniem konfliktu nie jest ‘prawy przycisk i mark as merget’. Jeżeli wystąpił konflikt sprawdź co go spowodowało i popraw go ręcznie.
Dodaj mój rss to swojego czytnika.

Wednesday, October 29, 2008 10:44 pm
Wszytko to kwestia umowy i jej egzekwowania. W porządnym projekcie (zarządzanym tak jak w ITIL na przykład) powinna wykształcić się rola Właściciela Repozytorium (Repository Owner). Jego zadaniem było by zarządzanie repozytorium i bicie po łbach idiotów robiących w nim bardak.
Sunday, May 11, 2008 9:02 pm
Osoby o których wspominasz na pewno nie miały problemu ze skorzystaniem z SVN (przynajmniej tak im się wydaje), ale dopóki nikt im nie powie jak to robić poprawnie to będą robić “jak im pasuje” - to tak jak każdemu się wydaje że zna MS Word a później robi spacjami wcięcia/wyrównuje ;)
Sunday, November 16, 2008 7:39 pm
SVN jest narzędziem bardzo pożytecznym i często ratującym “życie” programisty… ale pod warunkiem, że stosujemy się do kilku zasad.
Te najważniejsze (z mojego punktu widzenia):
1. Komentarze, komentarze i jeszcze raz komentarze. Jeśli ktoś, chociaż raz, musiał wyszukać w SVN odpowiednią wersję pliku, wie o czym piszę. Dla mniej wtajemniczonych: podczas commitowania zmodyfikowanego pliku opisujemy najważniejsze zmiany. Póżniej klikamy na pliku “show log” i oprócz numerów zmian mamy ich opis :).
2. Standardowe formatowanie kodu (chyba juz było coś na ten temat na blogu :)) Narzędzie porównywania różnych wersji plików pokaże nam realne zmiany a nie np. różnice w ilości spacji, jeśli wszystkie osoby modyfikujące plik w ten sam sposób formatują kod.
3. Używanie tagów np. $Id: $ w plikach. Ułatwia identyfikację aktualnej wersji pliku i co ważniejsze autora ostatnich zmian :)