Archiwum kategorii: SVN

SVN: automatyczna aktualizacja strony po zmianach w repozytorium

Repozytoria SVN czesto wykorzystuje sie do sledzenia zmian w kodach stron a także trzymania podstawowej wersji strony (tzw. produkcyjnej). Jak zagwarantowac że zmiany od razu trafią do katalogu strony?

svn2web

Jest to prosty skrypt php, który gwarantuje że ZMIEINIONE pliki trafią do katalogu strony (export może być także przez ftp lub scp). W cenu wpłączenia własności wydajemy polecenie:

svn propset svn2web KATALOG_DOCELOWY KATALOG_DO_SYNCHRONIZACJI

np:

cd /projects/linuxexpert.pl/trunk/
svn propset svn2web "file:/home/le/www/linuxexpert.pl/linuxexpert.pl" .
svn commit -m "Upload commits to server using svn2web"

Niestety nie aktualizuje wszystkich plików, tylko te, które zostały zmienione więc nie nadaje się do implementacji, gdy mamy już jaką starą stronę i chcielibyśmy ją podczepić pod svn (chyba ze zrobimy ręcznie aktualizację).

Jak to wyłączyć?

$ svn propdel svn2web  .
property 'svn2web' deleted from '.'.

ZALETY: szybkie
WADNY: nie synchronizuje wszystkiego

Wiecej o tym skrypcie:
http://www.itforeveryone.co.uk/svn2web.html
http://svn2web.sourceforge.net/

SVN: dostęp do zewnętrznych repozytoriów przez WWW a przez ssh

Uruchomiłem sobie dla mojej witryny svn-a oraz postanowiłem przerzucić sie z testowania wszystkiego na lokalnym WWW (lapek) na domenę zewnętrzną. Skonfigurowałem sobie skrypt do automatycznego kopiowania danych z svn-a do poddomeny i pojawił się problem. Otóż o ile pobieranie danych z zewnętrznego svn-a (z moim własnym, małym frameworkiem bazodanowym) przez ssh na własnym lapku jest proste, to korzystanie z zewnętrznego skryptu na hostingu może być problematyczne. Musiałem udostępnić anonimowy dostęp przez WWW.

Zapamiętać: ssh nadaje się na synchronizację na domowe komputery, należy jednak udostępniać dla niektórych projektów anonimowe dostępy przez WWW…

SVN: Automatyczne wprowadzane zmian na WWW

Coraz bradziej się cieszę, ze zmiany hostingu. Nowy hosting umożliwia mi automatyczne publikowanie zmian wprowadzonych do repozytorium svn. Działa to prosto: wprowadzam poprawki do repozytorium, a skrypt hostingu (po odpowiednim, acz banalnym konfigurowaniu) automatycznie robi commit na katalog serwisu WWW. Dzięki temu nie muszę wykonywać ręcznego kopiowania kodu strony. Jednen ruch mniej myszką a jak cieszy (albo jeden skrypt mniej…).

Jeżeli ktoś chciałby wykupić hosting może także wspomóc mnie 😉 Link do mojego konta w programie partnerskim.

SVN i tworzenie nowej galęzi

Postanowiłem być sprytny, utworzyłem katalog branches, tam umieściłem katalog smarty_1 by zrobić miejsce na nową gałąź i kazałem przekopiować svn-owi gałąż trunk do branches/smarty_1, niestety to nie działa tak ;). SVN stworzył podkatalog trunk w smarty_1 ;). Drugie podejście było już wykonane poprawnie. Przy kopiowaniu pozwoliłem mu samodzielnie stworzyć katalog smarty_2 ;). Dzięki czemu nie pojawił się trunk. Musze znowu pamiętać by nie być za sprytny w przyszłości 😉