Librerie esterne ed svn: gli externals ci aiutano

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:

http://svnbook.red-bean.com/en/1.0/re23.html

http://svnbook.red-bean.com/en/1.0/ch07s03.html

2 thoughts on “Librerie esterne ed svn: gli externals ci aiutano

Lascia un commento