Controllo versione basato su memoria portatile?

9

Sviluppo progetti personali su due macchine senza utilizzare un server condiviso o una connessione di rete tra i due.

Qualunque sistema di controllo di versione comune supporta in modo affidabile l'utilizzo dello storage portatile (come un dispositivo flash USB) come repository condiviso?

    
posta billpg 16.01.2012 - 21:39
fonte

4 risposte

31

Utilizza un DVCS come Git o Mercurial .

I sistemi di controllo delle versioni distribuiti non hanno un server centrale condiviso.

Con un DVCS, ogni copia di un repository contiene la cronologia completa, tutto. Ciò significa che, se utilizzato su una chiave USB, tutte le modifiche apportate vengono apportate al repository sulla chiave USB e quando vengono spostate tra i computer manterrà questa cronologia.

    
risposta data 16.01.2012 - 21:49
fonte
7

Oltre a GIT, Mercurial ecc suggerito sopra, diamo un'occhiata a Fossil - Ha i vantaggi che i binari di esecuzione sono piccoli (1Meg o giù di lì per Windows e Linux), è necessaria l'installazione portatile e zero. Pertanto, a differenza degli altri (per quanto ne so) può essere inserito nel dispositivo di archiviazione ed eseguito su qualsiasi macchina su cui è inserita la memoria, senza dover prima installare l'app sulla macchina. Include un Wiki e un sistema di tracciamento di errori / modifiche con il repository. Ha anche un gui integrato.

Non l'ho usato seriamente (principalmente utilizzo GIT), ma sono rimasto colpito dal suo approccio leggero e l'inclusione di un tracker Wiki e di difetti lo rende ideale per piccoli progetti. La mia unica preoccupazione era che alcune delle più potenti funzionalità di GIT potrebbero non essere possibili e, a differenza di GIT, la comunità degli utenti non è così ampia da trovare facilmente risposte alle domande.

    
risposta data 16.01.2012 - 23:15
fonte
1

L'utilizzo di un DCVS è probabilmente una buona idea, ma non è l'unica opzione.

Ho un piccolo archivio CVS su una chiavetta USB. Quando voglio accedervi, ho solo bisogno di usare cvs -d <path> o di impostare $CVSROOT sul percorso della root del repository (che ovviamente richiede l'azionamento del pollice per essere montato sul sistema).

Se sei già abituato a utilizzare CVS, questo dovrebbe essere praticabile. Lo stesso dovrebbe valere per SVN. Significa solo che il tuo repository centrale si trova sulla pen drive e non è sempre visibile.

Ci sono argomenti per usare un DCVS piuttosto che CVS in generale. Non penso che questi argomenti siano particolarmente influenzati dal fatto che il repository centrale si trovi su una pen drive o da qualche altra parte. Ad esempio, è possibile creare facilmente un repository git sulla pen drive.

    
risposta data 17.01.2012 - 02:23
fonte
0

In aggiunta alle altre risposte:

Mentre un DVCS si adatta molto bene a questo problema, potresti anche usare Subversion tecnicamente, se ti senti più a tuo agio con esso. Subversion può usare una directory locale invece di un server centrale. Potresti metterlo su una pen drive e usarlo.

Lo svantaggio, rispetto a un DVCS, sarebbe che si può lavorare solo con Subversion (ad esempio commit, visualizzare i log ecc.) mentre la pen drive è collegata. Inoltre, deve sempre essere la stessa pen drive (o almeno una copia aggiornata), perché con Subversion non dovresti usare più di un repository (questa è la parte non distribuita). Quindi, se dimentichi la tua pen drive, non puoi usarla, a differenza di Git o Mercurial.

Nota:

Come spiegato sopra, e nei commenti, un DVCS è davvero una soluzione migliore per il tuo problema. Ho solo menzionato Subversion per completezza, e nel caso tu abbia qualche motivo speciale per usare Subversion.

    
risposta data 17.01.2012 - 11:17
fonte

Leggi altre domande sui tag