Perché includere i sorgenti di librerie esterne quando potremmo comodamente utilizzare gli svn messi a disposizione dai maintainer?
Per esempio, potrebbe capitare di lavorare ad una web application che utilizza la libreria javascript dojo, 20 Mb e più di sorgenti che sarebbe inutile includere nell’svn del nostro progetto.
Impariamo come utilizzare gli svn externals per collegare percorsi del nostro repository a repository “esterni” al nostro.
Facciamo un esempio, la nostra webapp ha la seguente struttura (è già una working copy svn):
/web-root /js /js/dijit /js/dojo /js/dojox /css pagina1.html pagina2.html
Dentro la folder js vorremmo includere le librerie dojo. Invece di effettuare un download manuale dei file e poi effettuare un commit che inserirebbe nel nostro repository i file, possiamo istruire il server svn a fornirci le risorse direttamente dall’svn di dojo.
Eseguiamo il comando (i vari externals sono separati da newline):
svn propset svn:externals "js/dijit   http://svn.dojotoolkit.org/src/tags/release-1.3.2/dijit js/dojo   http://svn.dojotoolkit.org/src/tags/release-1.3.2/dojo js/dojox   http://svn.dojotoolkit.org/src/tags/release-1.3.2/dojox" /web-root
A questo punto basterà lanciare:
svn update /web-root
per avere a disposizione i file della libreria, senza “intasare” l’svn con sorgenti che non dobbiamo manutenere.
E il gioco fatto :)
Per approfondire, fate riferimento alla bibbia sull’svn:
In realtà lo so che il nostro non è il migliore campo ma dojo è anche distribuito tramite AOL cdn per info vedete qui:
http://dev.aol.com/dojo
fabio@vaunaspada.it