SVN i zewnętrzne repozytoria

Często się zdarza, iż korzystamy w naszym projekcie z elementów przygotowanych przez innych, opublikowanych w ich repozytoriach. SVN umożliwia dołączanie do własnego projektu zewnętrznych repozytoriów.

Na razie znalazłem taką sztuczkę:

Tworzymy plik zawierający treść jak poniżej:

katalog repozytorium zdalne

Na przykład plik svn.txt:

engine3 svn+ssh://ziutus_phpengine4ziutus@svn.phpengine.cosmopulse.info

Następnie wykonujemy polecenie:

svn propset svn:externals . -F svn.txt

Ustawia ono właściwość externals, która oznacza iż svn powinien odpytać zewnętrzne repozytorium.

W przypadku wywołania svn update ujrzymy następujące komunikaty:

Pobieranie zewnętrznego obiektu do 'engine3'
A    engine3/engine
A    engine3/engine/class
A    engine3/engine/class/class_object.php
A    engine3/engine/class/class_db_postgresql.php
A    engine3/engine/class/class_object_view.php
A    engine3/engine/class/class_application.php
A    engine3/engine/engine.php
Uaktualniono obiekt zewnętrzny do wersji 3.

Natomiast jeżeli chcemy sprawdzić, jak ustawiona jest obecnie ta cecha repozytorium możemy wywołać polecenie svn getprop

ziutus@ziutus-laptop:~/www_test/branch_1$ svn proplist
Atrybuty dla '.':
 svn:externals
 svn:mergeinfo
ziutus@ziutus-laptop:~/www_test/branch_1$ svn propget svn:externals
engine3 svn+ssh://ziutus_phpengine4ziutus@svn.phpengine.cosmopulse.info

Dodaj komentarz