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