Jak zacząć korzystać z svn: externals?

Szukam zwięzłego i dobrze napisanego tutoriala na temat używania svn: externals.

Sam już wiem, jak z nich korzystać w podstawowy sposób, ale chcę dobry artykuł, do którego mogę się linkować, odpowiadając na pytania takie jak to, które pojawiają się ostatnio:

Co zrobić z wieloma projektami w zależności od tego samego źródła?

Zrobiłbym to sam, ale nie używam ich wystarczająco często, aby chcieć nadstawiać karku i napisać tutorial na ten temat. Google było zaskakująco nieprzydatny w tym temacie.

Author: Community, 2009-03-19

3 answers

Oto kilka sekcji na ten temat w instrukcji svnbook / TortoiseSVN:

To {[4] } jest strona svnbook na svn: externals. Jest to najbardziej przydatny zasób na ten temat.

Ten wyjaśnia cztery sposoby włączenia podprojektów do obiegu pracy (a w procesie pomija piąty: dowiązania symboliczne).

I ta ostatnia jest specyficzną dla TortoiseSVN stroną o importowaniu rzeczy do repozytorium (niezwiązanych bezpośrednio z svn:externals).

 43
Author: Ole Lynge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-27 10:19:36

W przypadku, gdy nie jest to jasne z linków podanych powyżej, sposób ustawienia właściwości svn:externals, która jest powiązana z konkretną rewizją( przypinaniem), jest tutaj:

svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras

, który utworzy plugins podkatalog w katalogu extras i połączy go z revision 12345 zewnętrznego adresu URL SVN https://svn.example.com/common/plugins.

Istnieje artykuł Red Bean, który sugeruje użycie propedit, ponieważ svn:externals może być wartością wielowierszową. Powyższy przykład zostanie zmieniony w następujący sposób, aby użyć propedit.

svn propedit svn:externals extras

Dodałbyś po jednej linii dla każdego linku zewnętrznego w tym samym formacie pokazanym powyżej dla wartości.

 18
Author: EricD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-27 17:36:43
root/repo1/proj/base/common/log.c
root/repo1/proj/base/common/log.h
root/repo1/proj/base/client

root/repo2/proj/test/base

Jak pokazano powyżej, chcemy skopiować 2 pliki i 1 katalog do repo2

Krok 1

Katalog: / home / jack / repo2 / proj /

cd /home/jack

Krok 2

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

Coś w stylu: ln repo1/proj/base/client repo2/proj/base/client

Step3

export SVN_EDITOR=vim

Step4

svn propedit svn:externals repo2

Vim pokazuje:

../repo1 / proj/base/client proj/base / client

Krok 5: Dodaj kolejne dwa pliki

../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
 0
Author: KunMing Xie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 03:02:16