2009-03-30 14 views
6

Voglio creare un sistema di controllo del codice sorgente che:più semplice il controllo di versione del sistema

  1. è in rete, così gli utenti possono accedere al lavoro o in viaggio
  2. non ha bisogno di fornire la condivisione, blocco la modalità è sufficiente
  3. ci saranno solo tre utenti e non lavoreranno mai con lo stesso codice
  4. non abbiamo un amministratore di sistema e non molta conoscenza in quell'area quindi la configurazione e la configurazione devono essere semplicemente semplici.
  5. sarà installato su un server Windows
  6. open source o liberi

suggerimento per favore.

risposta

18

SVN copre tutti questi ed è abbastanza semplice da configurare.

Wrt point 2, la condivisione tende a essere migliore del blocco, come un file bloccato da qualcuno che poi va in vacanza/muore/ecc. deve essere sbloccato da qualcuno prima che possa essere lavorato da un altro sviluppatore. SVN supporta la condivisione 'out of the box'.

5

Prova Subversion (svn).

Modifica: Rich mi ha battuto per farlo = D. E sì, come sottolinea che condividere è meglio che bloccare. Sembra che tu sia un utente di SourceSafe. Erano gli stessi problemi che stavo cercando di risolvere quando si sposta da SourceSafe =)

3

Io consiglio Toroise SVN. SVN è un ambiente di controllo del codice sorgente facile da configurare e utilizzare su Windows e Tortoise è un componente aggiuntivo che si integra con Windows Explorer.

Nonostante sia semplice da utilizzare, consente a diverse persone di lavorare sullo stesso file e unire le proprie modifiche. Anche se "non può accadere", prevedo che ad un certo punto sarai felice che funzioni in questo modo.

5

Posso solo aggiungere la mia voce al coro "use subversion". Ma stavi anche chiedendo di semplice installazione e amministrazione.

Per quello vorrei indirizzarti a VisualSVN Server. È un'installazione server facile da usare su Windows. Ed è gratuito.

Oppure se si vuole andare con una configurazione manuale (forse perché non si vuole usare l'apache in bundle con il server visualsvn) seguire Jeff's Setting up Subversion on Windows.

1

Darcs fornisce tutto questo e molto altro ancora. È un sistema di contoll versione distribuita, che renderebbe più facile l'accesso ai dati sulla strada. È possibile inviare/ricevere patch (simili alle revisioni) tramite e-mail o ssh.

La cosa di darcs che mi piace di più è che è davvero prolisso. Cerca davvero di aiutarti.

14

il SIMPLEST sistema è quello che noi chiamiamo il sistema "Hey Chris". Abbiamo un disco in rete che tutti possono montare, e se vuoi modificare qualcosa devi "Hey, Chris, stai lavorando su blahblah.cpp?" e Chris dice "No". e quindi modifichi blahblah.cpp, e lo rimandi sull'unità condivisa ... Se vuoi le versioni, esegui il backup dell'unità di rete ogni notte.

Non ho mai detto che fosse il sistema MIGLIORE, solo il più semplice.

+1

Devo andare avanti solo per farmi ridere e ricordare dei giorni buoni =) – Fung

+3

La chiamavamo Ninja Net. Ogni volta che abbiamo apportato una modifica, copiamo i file su un dischetto da 3,5 ", quindi li lanciamo attraverso la stanza verso l'altro programmatore –

+2

Ho fatto qualcosa di simile con un sistema alcuni anni fa.Per eseguire il montaggio dovevi avere il "token di modifica", un piatto di plastica con sopra scritto la parola "token". –

6
+0

Sembrava più semplice installare la rete per Mercurial che per SVN. Questa è una prova completamente aneddotica, con dimensioni del campione di 1 ciascuno. Il tuo chilometraggio può variare. I risultati passati non sono garanzie di prestazioni future. –

+0

Per quanto ho vissuto per anni, non posso davvero essere d'accordo sul fatto che Git sia ** semplice **. Non diventa mai semplice finché non diventi un guru del Git. Al 2014, diventa leggermente più semplice, ma è ancora troppo duro. – Eonil

1

sacco di raccomandazioni per SVN, ma non sono sicuro che io chiamerei che "semplice" da un punto di amministrazione di vista. Devi ancora configurare un server, IIRC. In confronto, un DVCS come Mercurial non fa distinzione tra "repository" e "working copy". Per mettere qualcosa su un server (che può essere qualsiasi cartella in cui si ha accesso alla condivisione di file), si può semplicemente "spingerlo" lì.

Hai anche menzionato il lavoro sulla strada. I DVCS sono particolarmente bravi in ​​questo. Il tuo laptop avrà tutta la cronologia, quindi devi solo toccare il server se vuoi spingere o tirare, non solo per fare una diff o controllare la cronologia.

3

Sto davvero scavando Git e GitHub per questo. Git è bello perché ogni sviluppatore può controllare le cose e passare attraverso la cronologia anche quando sono offline (ad esempio, su un aereo o nei backwoods da qualche parte), quindi spingere le loro modifiche in un repository centrale quando sono di nuovo online. GitHub funziona davvero bene come quel repository centrale e include molti strumenti molto utili per rivedere e commentare i checkin di altre persone.

I comandi di base che si utilizza giorno per giorno si riducono a:

git add . 
git commit -m "this is a note" 
git pull origin master 
git push 

Git gestisce la maggior parte dei conflitti molto bene, ed è veloce, veloce, veloce, dal momento che l'intero repository è su ogni macchina.

Kyle Cordes wrote a blog post su come iniziare su Windows.

1

Il sistema di controllo di versione più semplice di cui sono a conoscenza è un sistema di controllo di revisione RCS. È un'utilità da riga di comando che è disponibile out-of-the-box su sistemi Linux. Il suo utilizzo è abbastanza semplice.

Primo. All'interno directory corrente, creare una directory in cui verrà memorizzato le informazioni di RCS:

$ mkdir RCS 

Seconda. Store (check-in) un file in RCS:

$ ci -t-"My notes" notes.txt 

del file originale viene eliminato.

Terzo. Restore (check-out) file originale da RCS:

$ co -u notes.txt 

Quarto. Modificare il file, se necessario, ora può essere ripristinata in qualsiasi momento:

$ vim notes.txt 

RCS sta anche lavorando con i file binari, e supporta molti successiva modifica di un file.

Problemi correlati