Mimo, ze oficjalne ogłoszenie wyników GSoC09 odbyło się prawie dwa miesiące temu, dla mnie google’owe lato z kodowaniem zakończyło się dopiero parę dni temu kiedy to kurier dostarczył do mnie paczkę z koszulka i certyfikatem.
Co do samego projektu, to niestety nie udało mi się go skończyć w wyznaczonym terminie. Osobiście stopień zaawansowania oceniam na 75-80%. Mimo to Reinhard (mój mentor) uznał, że wykonałem na tyle dobrą pracę że ukończyłem pozytywnie GSoC.
Koniec Summer of Code nie oznacza dla mnie końca współpracy z developerami Cocoon’a, zwłaszcza, że nie wykonałem w pełni stawianych sobie celów. Dodatkowo na horyzoncie pojawiły się nowe interesujące pomysły na rozwój modułu monitorującego trzecią wersję Cocoon‘a.
Ostatnio pisząc o Summer of Code wspominałem o artykule traktującym o Spring JMX, miał on się ukazać w ciągu 2-3 tygodni … cóż nie udało się ale nie wydaje mi się by jego los był przesądzony
. Wszystko jest ciągle kwestią czasu … jest to jedna z rzeczy którą chciałem zrealizować w czasie GSoC i ciągle pozostaje na mojej (dość, długiej(sic!) już) liście TODO.
EDIT:
Zapomniałem o jednej bardzo ważnej rzeczy … 90% napisanego przeze mnie kodu podczas GSoC znajduje się już w repozytorium ASF, a dokładniej mówiąc to jest tutaj. Natomiast całość kodu dostępna jest w archiwum znajdującym się pod koniec tej listy.
Konia z rzędem temu kto potrafi zmusić GIT’a do generowania patch’y kompatybilnych z SVN’em (a zwłaszcza z TortoiseSVN) !
Jeżeli nie uda się mi zmusić GIT’a do tego żeby wygenerował patch’e zgodne z SVN niestety będę musiał zakończyć w Summer of Code ‘09 przygodę z GIT’em … na prawdę będzie mi z tego powodu przykro
Oto prosty sposób na przeniesienie repozytorium GIT na pendrive, czy inną przenośna pamięć.
- Dla uproszczenia dodamy sobie nasze wymienne repozytorium do pliku /etc/fstab w tym celu:
ls -l /dev/disk/by-uuid # odnajdujemy na liście nasz urządzenie,
w moim przypadku sdb1
mkdir /mnt/git-gsoc # tworzymy odpowiedni katalog do montowania
chown lock:lock /mnt/git-gsoc # zmieniamy właściciela
przy użyciu ulubionego edytora edytujemy /etc/fstab. Dodajemy następującą linie:
UUID=<uuid z pierszego polecenia> /mnt/git-gsoc <system plików> user,rw,noauto 0 0
- Teraz przydało by się zawartość naszego obecnego repo przenieść do nowego … wystarczy skopiować główny katalog repozytorium
(prostota git’a)
Mając już sklonowane repozytorium przydał by się jeszcze jakiś skrypt który za nas wykona zbędne rzeczy (tj. podmontuje pamięć, odpali git-deamon, a potem po sobie posprząta
).
#! /usr/bin/bash
# Copyrighted, 2009
# Developed by Dariusz Luksza <dariusz[at]luksza[dot]org>
# License: GPL v2
case "$1" in
connect)
echo -n Montuje urzadzenie ...
mount /mnt/git-gsoc &> /dev/null
if [ "$?" -eq "0" ]
then
echo " DONE."
echo -n Startuje git gaemona ...
git daemon --export-all --base-path=/mnt/git-gsoc/backup --detach \
--pid-file=/mnt/git-gsoc/git-daemon.pid --enable=receive-pack --listen=localhost
echo " DONE."
exit 0
else
echo Wystapil blad podczas montowania, sprawdz urzadzenie!
exit 1
fi
;;
disconnect)
if [ -e /mnt/git-gsoc/git-daemon.pid ]
then
echo -n Zatrzymuje git daemona ...
kill `cat /mnt/git-gsoc/git-daemon.pid`
rm /mnt/git-gsoc/git-daemon.pid
echo " DONE."
echo -n Odmontowuje urzadzenie ...
sync
umount /mnt/git-gsoc/
echo " DONE."
exit 0
else
echo Daemon nie zostal uruchomiany
exit 1
fi
;;
*)
echo Uzycie:
echo " " $0 "[connect|disconnect]"
;;
Oczywiście każdy sam musi sobie dostosować ścieżki dostępu
Kiedy mamy już wszystko poustawiane warto by sprawdzić czy wszytko działa poprawnie tj. uruchamiamy powyższy skrypt z parametrem connect i po chwili powinniśmy mieć uruchomionego daemona GITa. Teraz wystarczy do naszego lokalnego repozytorium dodać to które właśnie utworzyliśmy:
git remote add backup git://localhost/<nazwa repo>
i używać uchwytu backup
Miłej zabawy ;>
Najpierw przygotowania, potem dwa tygodnie nerwów oraz oczekiwania … i oto są wyniki tegorocznej edycji Google Summer of Code … w którym będe brał udział jako student w Apache Software Fundation;>
W ciągu tych paru miesięcy będę implementował system monitoringu dla Cocoon’a 3 pod opieką Reinhard’a Poetz’a … wow, no nie mogę uwierzyć, będzie się działo ;D