Subversion Externals

Сегодня, вытягивая исходники WordPress, обратил внимание на такое сообщение:

...
A    2.0.5\\wp-admin\\edit-form.php
A    2.0.5\\wp-feed.php

Fetching external item into '2.0.5\\wp-content\\plugins\\akismet'
A    2.0.5\\wp-content\\plugins\\akismet\\akismet.gif
A    2.0.5\\wp-content\\plugins\\akismet\\akismet.php
Checked out external at revision 7355.

Checked out revision 4731.

Подобного я раньше не видел. Меня, собственно, заинтересовали слова “external item”. Оказалось, что Subversion позволяет включать в один репозиторий каталоги из других репозиториев. Фактически, Subversion поддерживает символические ссылки между репозиториями. Использование этого механизма может быть удобнее тех маленьких хитростей, про которые я писал в предыдущем посте на эту тему. Особенно в случае, если код внешних библиотек не модифицируется.

Сам процесс создания ссылок хорошо описывается в svnbook: Externals Definitions. Там же описываются ограничения и сопутствующие сложности.

comments powered by Disqus