Versionamento e backup sulla nuvola: DropBox and CVS (or SVN or HG or GIT or quello che vi pare)

Per chi non conoscesse DropBox è il momento di aggiornarsi: è la soluzione definitiva allo storage/sharing dei vostri documenti più importanti. In rete si trovano suggerimenti curiosi per integrare il vostro sistema di versionamento preferito del codice con DropBox in modo da avere un backup continuo e “on the cloud” del vostro repository.

DropBox

Cos’è DropBox? Un video vale molto più di mille parole:

Anche se in inglese, l’animazione è piuttosto chiara: puoi avere sotto mano i tuoi documenti dove e quando vuoi. Odio la frase “dove e quando vuoi” perché sa proprio di pubblicità, ma in questo caso è vero! DropBox permette di accedere ai propri file nativamente da Windows, Mac, Linux, iPhone, iPad, Android e BlackBerry. Manca qualcosa? Ah giusto, anche da interfaccia web. Che significa nativamente? In breve, una volta installato il client di DropBox per le vostre piattaforme preferite, esso terrà sempre sincronizzato sulla nuvola tutti i file di una specifica cartella del file system. Questi file risiedono fisicamente e contemporaneamente in rete e nella cartella di tutti gli ambienti in cui abbiamo installato il client (associato al nostro account), per cui una volta sincronizzato, è possibile accedere ai file anche offline. Lo spazio iniziale è di 2 Gb per la versione gratuita (non male!) e può aumentare di 250Mb ogni volta che invitate qualcuno. Che aspettate? Qualcuno vuole qualche invito? 😉

Versionamento del codice

Perché fare pubblicità ad uno strumento come DropBox in un blog come questo? Adesso arriva il bello.
Siete sviluppatori solitari? Fate uno zip del vostro progetto ogni giorno in una cartella locale? Anzi siete prudenti e lo fate in un disco esterno? E se il disco si rompe? E se dovete trovare una vecchia versione di un file? Ok, siamo nel 2011, passiamo al versionamento del codice che ormai non costa niente e facciamoci un repository locale. Ma il problema rimane! Il repository è locale… e se muore il disco fisso? Forse qualcuno sta già intravedendo la luce: faccio coincidere il mio repository locale con la cartella di DropBox ed il gioco è fatto! Adesso ho una copia in cloud del mio codice che verrà aggiornata ad ogni commit! Senza installare nessun server possiamo condividere il nostro codice con altri e recuperarlo dove e quando vogliamo (stavolta non ho resistito…).
Onestamente non consiglio di usare un meccanismo di questo tipo se si lavora in team: i tempi di latenza necessari alla sincronizzazione con il server a mio avviso potrebbero creare situazioni di inconsistenza tra i dati. Lo trovo invece un ottimo sistema per salvaguardare il lavoro di una, massimo due persone.
Personalmente uso questo sistema con Mercurial (a.k.a. HG), ma in rete è documentata anche l’interazione con GIT: se avete dieci minuti da perdere vi consiglio di guardare il seguente video che mostra come usare DropBox con GIT.

Non ho testato il comportamento con CVS e SVN, ma non credo che ci siano problemi. Anzi, se avete commenti/esperienze a riguardo sono ben accetti!

Andrea Como

Sono un software engineer focalizzato nella progettazione e sviluppo di applicazioni web in Java. Presso OmniaGroup ricopro il ruolo di Tech Leader sulle tecnologie legate alla piattaforma Java EE 5 (come WebSphere 7.0, EJB3, JPA 1 (EclipseLink), JSF 1.2 (Mojarra) e RichFaces 3) e Java EE 6 con JBoss AS 7, in particolare di CDI, JAX-RS, nonché di EJB 3.1, JPA2, JSF2 e RichFaces 4. Al momento mi occupo di ECM, in particolar modo sulla customizzazione di Alfresco 4 e sulla sua installazione con tecnologie da devops come Vagrant e Chef. In passato ho lavorato con la piattaforma alternativa alla enterprise per lo sviluppo web: Java SE 6, Tomcat 6, Hibernate 3 e Spring 2.5. Nei ritagli di tempo sviluppo siti web in PHP e ASP. Per maggiori informazioni consulta il mio . - -

  • Gianni Amendola

    Uso Dropbox come SVN già da tempo e confermo che funziona benissimi 

  • Gianni Amendola

    Uso dropbox come server svn e confermo che funziona benissimo