Domanda

Da qualche tempo stiamo lavorando con un repository Subversion per un laboratorio di ricerca e ci è stato più volte presentato un problema comune:

Vogliamo versioni di tutto il codice e piccoli bit di dati permanenti, ma abbiamo anche grandi BLOB binari che vivono all'interno di directory ignorate nei checkout degli utenti e vorremmo rendere facile per entrambi gli utenti eseguire il backup di questi archiviare e sincronizzarli in modo che più utenti possano lavorare con i BLOB più grandi senza doverli copiare manualmente tra le macchine o controllarli nel repository (ha già più di questo genere di cose di quanto sia l'ideale).

Ho pensato di utilizzare vari servizi di backup come JungleDisk per rendere almeno più semplice il backup di questi dati da parte degli utenti, ma non sono progettati per la sincronizzazione. Inoltre, lavorare fuori da JungleDisk sarebbe tutt'altro che ideale perché a volte i file di dati sono piuttosto grandi e in attesa che vengano memorizzati nella cache potrebbero peggiorare le prestazioni in modo significativo.

Altre alternative potrebbero essere sulla falsariga di fornire copie di rsync e usare semplicemente alcuni script di shell all'interno del repository che gli utenti potrebbero eseguire per sincronizzare manualmente i file (separati da checkout / commit svn), ma sarebbe bello avere questo lavora con uno sforzo davvero minimo su Mac, Windows e amp; Linux per utenti che potrebbero non essere i più esperti dal punto di vista tecnico. Quindi sarebbe l'ideale per avere questo che è qualcosa che è facile da configurare (per i nuovi file senzaversione), facile da installare (meno passaggi è meglio) e non richiede molto intervento da parte dell'utente per far funzionare il sistema (automatico o semplicemente doppio- fare clic su uno script sarebbe bello).

Qualche idea o suggerimento?

È stato utile?

Soluzione

Farei uno script rsync per farlo, e poi avvolgerei il binario di sovversione in esso. Probabilmente avrai bisogno di ulteriori script per installarlo con poca seccatura per gli utenti finali (anche se se ne hai solo alcuni, fallo a mano).

Inoltre, se fosse possibile, proverei a spostare quei BLOB binari in una posizione diversa dall'interno del tuo albero di sovversione ... che sembra chiedere problemi.

Il supporto di Windows è solo una seccatura in tutte queste situazioni. Personalmente userei Python per questo compito perché è abbastanza portatile su tutti quei sistemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top