Dzban IT #2: Jak nie korzystać z svn’a.

wtorek, 28 października 2008

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.

Społeczność: Powiązane posty:

Komentarze

  1. Koziołek

    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.

  2. Szymon Szczepaniak

    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 ;)

  3. Beata

    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 :)

Dodaj komentarz