Jak używać Susy i Compass w projekcie Symfony2

18 March 2012

Od czasu napisania poniższego artykułu wydanych zostało wiele nowych wersji Symfony2 oraz Susy, dlatego informacje w nim zawarte mogą nie być aktualne.

To jest opis mojego, sposobu radzenia sobie z zarządzaniem małymi projektami za pomocą SVN. Każdy ze swoich domowych projektów mam w oddzielnym repozytorium. Wszystkie projekty/eksperymenty trzymam na partycji home w folderze "Projects". Powiedzmy, że tworzę nowy projekt o nazwie "example". Przewiduję istnienie takich oto folderów:

Projects (tu są wszystkie projekty)
   example (nazwa projektu)
       src (kod źródłowy)
       nbproject (pliki NetBeans)
       repository (repozytorium SVN)

Zaczynamy od utworzenia głównego folderu projektu:

mkdir /home/<username>/Projects/example
cd /home/<username>/Projects/example

Będąc w głównym folderze projektu tworzymy następujące foldery:

mkdir src
mkdir repository

Następnie możemy utworzyć początkowe pliki/foldery w obrębie src, tak aby było co potem dodać do repozytorium:

cd src
touch file.txt
echo "inital state of this project" > file.txt
cd ..

Możemy teraz założyć nowe lokalne repozytorium. Będzie ono znajdowało się w folderze o wiele mówiącej nazwie: "repository". Będąc w głównym folderze projektu wykonujemy:

svnadmin create repository

Zalecanym sposobem prowadzenia repozytorium jest utworzenie w nim trzech folderów: trunk, branches, tags. W folderze trunk będzie bieżąca - rozwojowa wersja kodu. Do niego właśnie zaimportujemy początkową zawartość folderu src. Będąc w głównym folderze projektu wykonujemy:

svn import src file:///home/<username>/Projects/example/repository/trunk

W momencie prawidłowego wykonania tego polecenia (o ile ścieżka do repozytorium została wpisana poprawnie) powinien otworzyć się preferowany edytor tekstu, w którym będzie można wpisać opis wprowadzanych zmian. Aby zakończyć edycję tekstu w moim przypadku musiałem wcisnąć CTRL+X a następnie Y aby potwierdzić zapis tekstu.

Pomimo, że pliki projektu znajdują się już w repozytorium, zawartość folderu src nie uległa w żaden sposób zmianie - SVN nie traktuje naszych plików z src jako roboczą wersję repozytorium. Aby tak się stało trzeba zrobić checkout plików z repozytorium. Będąc w głównym folderze projektu wykonujemy:

svn checkout src file:///home/<username>/Projects/example/repository/trunk

Od tej pory zmiany w plikach projektu będą śledzone. Możemy teraz postępować zgodnie ze schematem opisanym w tym wspaniałym przewodniku po SVN. Będąc w folderze src, zmodyfikujmy teraz nasz plik tekstowy:

echo "modified line of this file..." >> file.txt

Aby sprawdzić jakie pliki zostały przez nas zmienienione względem poprzedniej wersji kodu wykonujemy polecenie:

svn status

Aby opublikować własne zmiany w repozytorium wykonujemy commita:

svn commit -m "Oto opis wprowadzonych zmian"

Aby zbadać opisy wprowadzonych poprzednio commitów wykonujemy polecenie:

svn log

Ktoś mógłby się zdziwić dlaczego po wykonaniu svn log nie widać opisu dopiero co opublikowanej zmiany. Dzieje się tak dlatego, że commit wędruje do repozytorium a robocza kopia pozostaje bez zmian - w dotychczasowej wersji. Aby uaktualnić roboczą kopię kodu wykonujemy:

svn update

W przypadku gdy inni użytkownicy zmienili w międzyczasie pliki, to powyższe polecenie spowoduje, że zmiany zostaną wprowadzone do roboczej wersji projektu. Teraz gdy wykonamy ponownie svn log powinniśmy zobaczyć opis wykonanego wcześniej commita.

Teraz pozostaje już tylko przeczytać pozostałą część tego oto skromnego (bo tylko 400 stronnicowego) darmowego przewodnika po SVN.