Как начать работу с 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 SVN https://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

Шаг 1

каталог: / home / jack / repo2 / proj/

cd /home/jack

Шаг 2

svn propset svn:externals "../repo1/proj/base/client proj/base/client" repo2

что-то типа: ln repo1/proj/base/client repo2/proj/base/client

Шаг 3

export SVN_EDITOR=vim

Шаг 4

svn propedit svn:externals repo2

vim показывает:

../ repo1 / proj / база / клиент proj / база / клиент

Step5: добавьте еще два файла

../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