Как начать работу с svn: externals?
Я ищу краткий и хорошо написанный учебник по использованию svn: externals.
Я уже знаю, как использовать их в основном самостоятельно, но я хочу хорошую статью, на которую я могу ссылаться при ответе на такие вопросы, как этот, который появился недавно:
Что делать с несколькими проектами, в зависимости от того же источника?
Я бы сделал это сам, но я не использую их достаточно часто, чтобы хотеть высунуть шею и написать учебник по этому вопросу. Google был удивительно бесполезен с этой темой.
3 ответа:
вот некоторые разделы об этом в руководстве svnbook / TortoiseSVN:
этой это страница svnbook на svn: externals. Это самый полезный ресурс по данной теме.
этот объясняет четыре способа включения подпроектов в рабочий процесс (и в процессе пропускает пятый: символические ссылки).
и последняя это TortoiseSVN-специфичная страница о том, как импортировать материал в репозиторий (не имеет прямого отношения в svn: externals).
в случае, если это не ясно из приведенных выше ссылок, способ установки
svn:externals
свойство, которое привязано к определенной ревизии (закрепление), вот оно:svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras
что будет
plugins
подкаталогextras
каталог и связать его с ревизией12345
внешнего URL SVNhttps://svn.example.com/common/plugins
.есть статья Red Bean, которая предлагает использовать
propedit
Сsvn:externals
может быть несколько строк. Приведенный выше пример будет изменен следующим образом следует использоватьpropedit
.svn propedit svn:externals extras
затем вы добавляете по одной строке для каждой внешней ссылки в том же формате, который показан выше для значения.
root/repo1/proj/base/common/log.c root/repo1/proj/base/common/log.h root/repo1/proj/base/client root/repo2/proj/test/base
как показано выше, мы хотим скопировать 2 файла и 1 каталог на
repo2
Step1
каталог: / home / jack / repo2 / proj/
cd /home/jack
Step2
svn propset svn:externals "../repo1/proj/base/client proj/base/client" repo2
что-то типа:
ln repo1/proj/base/client repo2/proj/base/client
Step3
export SVN_EDITOR=vim
Step4
svn propedit svn:externals repo2
vim показывает:
../repo1 / proj / base / client прое/основание/заказчик
Шаг 5: добавьте еще два файла
../repo1/proj/base/client proj/base/client ../repo1/proj/base/common/log.c proj/base/common/log.c ../repo1/proj/base/common/log.h proj/base/common/log.h