[How to] Create SVN managed project with 3rd part library on SVN
SVN has a smart fonctionality : Externals. The objective is import files from an other SVN repository
Instead of download all of them and keep it in a folder (only one for all your project using this lib or a duplicate inside each projects), make only a link to the repository.
For example, my project use Papervision 3D. I need juste add “svn:externals” property to my root folder of classes.
On Window with Turtoise SVN : Right click on folder and select “TurtoiseSNV” > “Properties …”
Click on “Add” button, select “svn:externals” for property name and set property value to :
org/papervision3d http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/ org/ascollada http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/ascollada/ nochump http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/nochump/
Now commit and update your local copy.
Now indicated folders/files are synconized when you update your local copy with external(s) SVN(s)
For use a specific revision, use -r
indicator. For example work with revision 727 of Papervision 3D, use property value :
org/papervision3d -r727 http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/ org/ascollada -r727 http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/ascollada/ nochump -r727 http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/nochump/
You can also use SVN tags.
Resources:
- SVN externals on SVN book
- Externals on SVN 1.5 release notes
- Subversion on Wikipedia
Thanks Memmie for this useful post! 😉
I haven’t test it yet but it’s what I’ll need!
Cool merci, je viens justement d’avoir besoin de ça
ça marche nickel sur mac aussi avec Versions (sélectionner un dossier -> afficher le panneau Inspector -> éditer le champ Externals)