in Профессиональное

Использование svn:externals

Дано:

  • наш проект (все-равно какой) в SVN репозитории;
  • внешняя библиотека (нашей или сторонней разработки).

Задача:

  • прозрачно для разработчика иметь up to date копию библиотеки в проекте.

Решение:


Пусть для определенности библиотеки у нас хранятся в директории lib/vendor относительно корня проекта. Выполняем команды

$ cd lib/vendor
$ svn propedit svn:externals .

 

И в открывшемся редакторе (у меня vim) добавляем следующую строку:

dirname svn://url.to.the/library/repository

Здесь:

  • dirname это имя директории в которую будет развернута библиотека
  • svn://url.to.the/library/repository – соответственно URL репозитория (http, https, svn)

Сохраняем изменения и фиксируем их в репозитории. После этого можно выполнять

svn up

Будет создана директория lib/vendor/dirname и в нее развернут код из указанного нами URL. Теперь при обновлении проекта будет обновляться и билиотека.

Хинт: если при выполнении svn propedit вылетает ошибка вида

svn: The EDITOR, SVN_EDITOR or VISUAL environment variable or ‘editor-cmd’ run-time configuration option is empty or consists solely of whitespace. Expected a shell command.
 

Значит у вас не установлена переменная, указывающая какой редактор должен использовать svn. Смотрим где у нас vim и задаем требуемое значение переменной:

$ which vim
/usr/bin/vim
$ export SVN_EDITOR=/usr/bin/vim

Write a Comment

Comment

*

  • Related Content by Tag