Як розпочати роботу зі svn: externals?


81

Я шукаю стислий і добре написаний підручник з використання svn: externals.

Я вже знаю, як ними просто користуватися, але я хочу хорошу статтю, на яку я можу посилатися, відповідаючи на запитання, подібні до цього, що з’явилися нещодавно:

Що робити з кількома проектами залежно від одного джерела?

Я б зробив це сам, але я не використовую їх досить часто, щоб хотіти висунути собі шию і написати на ньому підручник. Google був напрочуд безпорадним щодо цієї теми.

Відповіді:


47

Ось кілька розділів про це в посібнику svnbook / TortoiseSVN:

Це сторінка svnbook на svn: externals. Це найкорисніший ресурс з даної теми.

Цей пояснює чотири способи включення підпроектів у робочий процес (а в процесі пропускає п’ятий: символічні посилання).

І остання - це сторінка, яка стосується TortoiseSVN, про те, як імпортувати речі у сховище (не пов’язане безпосередньо зі svn: externals).


20

Якщо з посилань, наведених вище, не зрозуміло, як ви встановлюєте 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

Потім ви додасте один рядок для кожного зовнішнього посилання у тому ж форматі, що показаний вище для значення.


0
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/base/client 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.