Vraag Hoe aan de slag te gaan met svn: externals?


Ik ben op zoek naar een beknopte en goed geschreven tutorial over het gebruik van svn: externals.

Ik weet al hoe ik ze op een eenvoudige manier moet gebruiken, maar ik wil een goed artikel waarnaar ik kan linken bij het beantwoorden van vragen zoals deze die onlangs naar voren kwamen:

Wat te doen met meerdere projecten, afhankelijk van dezelfde bron?

Ik zou het zelf doen, maar ik gebruik ze niet vaak genoeg om mijn nek uit te steken en er een zelfstudie over te schrijven. Google was verrassend nutteloos met dit onderwerp.


75
2018-03-19 17:27


oorsprong


antwoorden:


Hier zijn enkele secties over in de handleiding svnbook / TortoiseSVN:

Deze is de svnbook-pagina op svn: externals. Het is de meest bruikbare hulpbron over het onderwerp.

Deze legt vier manieren uit om deelprojecten in de workflow op te nemen (en mist daarbij een vijfde: symlinks).

En deze laatste is een TortoiseSVN-specifieke pagina over het importeren van dingen in een repository (niet direct gerelateerd aan svn: externals).


43
2018-03-19 17:43



In het geval dat het niet duidelijk is uit de links hierboven, hoe u de svn:externals eigenschap die aan een bepaalde revisie is gekoppeld (pinning), hier is het:

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

Dat zal een maken plugins submap onder de extras map en koppel deze aan revisie 12345 van de externe SVN-URL https://svn.example.com/common/plugins.

Er is een Red Bean-artikel dat suggereert om te gebruiken propedit sinds de svn:externals kan een meerregelige waarde zijn. Het bovenstaande voorbeeld zou als volgt kunnen worden gewijzigd om te gebruiken propedit.

svn propedit svn:externals extras

U zou dan één regel toevoegen voor elke externe link volgens hetzelfde formaat als hierboven getoond voor de waarde.


17
2018-01-27 17:36



root/repo1/proj/base/common/log.c
root/repo1/proj/base/common/log.h
root/repo1/proj/base/client

root/repo2/proj/test/base

Zoals hierboven getoond, willen we 2 bestanden en 1 directory kopiëren naar repo2

Stap 1

map: / home / jack / repo2 / proj /

cd /home/jack

Stap 2

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

zoiets als: ln repo1/proj/base/client repo2/proj/base/client

Stap 3

export SVN_EDITOR=vim

Stap 4

svn propedit svn:externals repo2

vim shows:

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

Stap 5: voeg nog twee bestanden toe

../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
2017-11-18 03:02