svn:externals – czyli jak utrzymać porządek w wersjonowanym kodzie
2008-11-16Tworzą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. Dzięki temu magicznemu zaklęciu, wskazujemy, że pewne foldery w projekcie pochodzą z innych repozytoriów. Żeby poprawnie ustawić tą wartość należy wykonać w głównym folderze:
svn propedit svn:externals .
Po tym otwiera się edytor (Vim) i tam wpisujemy:
plugins/sfDoctrinePlugin http://svn.symfony-project.com/plugins/sfDoctrinePlugin/branches/1.1
Zapisujemy i zamykamy. Efekt został osiągnięty, mamy porzadek w wersjonowanym kodzie 🙂