Zliczenie ilości commitów dla poszczególnych użytkowników SVN

Jeśli interesuje was ile poszczególni użytkownicy SVN’a wykonali commitów, to w głównym folderze repozytorium z poziomu linii komend Linuksa wystarczy wydać komendę:

svn log |grep "^r.*|.*" |awk '{print $3}' | sort |uniq -c

Powinniśmy otrzymać coś w tym stylu:

     83 janek
    177 franek
    221 heniek
      8 bolek
    485 marian

Dzięki temu, mamy pogląd na zaangażowanie naszych kolegów w rozwój repozytorium 🙂

Read more

Porządek w SVN, część 2, czyli jak łatwo użyć svn:ignore

Często zdaża się, że w projekcie, który wersjonujemy w SVN mamy foldery, które chcemy wykluczyć z zarządzania wersjami. Takie foldery to przeważnie katalog na logi, cache, upload i tym podobne. W tej sytuacji rozwiązaniem są SVN Properties, a konkretnie svn:ignore.

Read more

svn:externals – czyli jak utrzymać porządek w wersjonowanym kodzie

Tworząc nowy  projekt w Symfony zdecydowałem się na ORM’a Doctrine. Niestety instalacja tej wtyczki nie przebiega standardowo, za pomocą Pake-Taska, ponieważ trzeba zrobić sobie checkouta z repozytorium Symfony. I tutaj pojawił się pewny problem. Ponieważ cały projekt jest wersjonowany przy pomocy SVN’a, to przy każdym wywołaniu, na przykład svn status otrzymywałem:

?   plugins/sfDoctrinePlugin

Dodawanie tej ścieżki do repozytorium nie pomagało, bo pojawiał się komunikat, że ten folder jest już wersjonowany (bo istotnie tak było – przecież zrobiliśmy checkout z repo Symfony). Z pomocą przyszedł svn:externals.

Read more

Metody synchronizacji projektu z serwerem produkcyjnym

Większość z programistów aplikacji webowych wie, że transfer na serwer produkcyjny to często tzw. „pain-in-the-ass” (po polsku: źródło nieszczęścia). W tym poście opowiem trochę, o znanych mi sposobach przesyłania aplikacji na serwer produkcyjny.

Read more