Nie ma narzędzi niezastąpionych i idealnych od pierwszej chwili. Eclipse i wtyczka do SVNa sprawdzała się do momentu, aż nie potrzebowałem sprowadzić informacji racjonalizatorskich do plików. Chodzi tu przede wszystkim o kontrolę niektórych ludzi w dziedzinie czasu pracy (czyt. czy mi nie siedzą do 4 nad ranem i później nie umierają w pracy). Przy okazji zabrałem się też za wykonanie niestandardowych szablonów kodu.
Szablony niestandardowe pomagają lepiej organizować kod i co ważne umożliwiają dodawanie dużej ilości meta danych. Informacje te nie tylko pogrubiają kod, ale okazują się wielce pomocne przy różnych durnych analizach dla PM.

Na początek w Eclipse Window>Preferences>Java>Code Style>Code Templates>Comments>Types i zamieniamy na coś takiego:

Listing 1. Szablon nowego pliku.

/**
 * @author ${user}
 *
 * ${tags}
 *
 * Info: $$Id$$
 */

Przy tworzeniu nowego pliku klasy, interfejsu czy innego enuma jak wstawimy komentarz javadoc do typu to otrzymamy dodatkową linijkę z napisem Info: $Id$. Do czego to służy? Otóż w drugim kroku wszystkim plikom w projekcie nadajemy ustawienia:

Listing 2. Dodajemy ustawienia svn.

>svn propset -R svn:keywords "Id".

Co to daje? W kodzie zostanie wyświetlone zamiast $id$ $Id: *plik numer\_rewizji data\_i\_godzina autor* $. Jeżeli chcemy teraz wiedzieć, co kto ostatnio robił wystarczy zapuścić odpowiedniego cata z grepem.

W obecnej fabryce będziemy na dniach tworzyć svna od zera. Obecnie jestem na etapie akceptowania papierów. Postaram się przepchnąć pewne ciekawe rozwiązania.