Quale sistema di controllo di revisione utilizzare per il corso di 2 semester capstone? [chiuso]

4

Per gli studenti universitari CS che lavorano su un corso di capstone a 2 semestri senza alcuna precedente esposizione ai sistemi di controllo di revisione, quale sarebbe una buona idea da usare?

Le qualità desiderabili sarebbero facili da usare (cioè questo dovrebbe essere uno strumento che possono usare piuttosto che passare molto tempo a combatterlo) e comunque essere rilevanti per il successivo lavoro professionale una volta laureati (non deve significare che abbia essere lo stesso strumento più tardi finché i concetti sopravvivono).

Facile da installare e mantenere per la persona che lo fa. Non sono sicuro se mi manca qualcos'altro di importante.

Sono a conoscenza di sovversione (centralizzata), git (distribuita) e mercuriale (anche distribuita?) - ma non ne conosco abbastanza per avere un'opinione informata. Ci sono altri che dovrei prendere in considerazione? Questo sarà in un ambiente prevalentemente Windows.

EDIT: Sono molto interessato all'aspetto pedagociale dell'insegnamento / apprendimento di questi sistemi, non tanto dalla prospettiva di uno sviluppatore di software già esperto.

    
posta Levon 20.04.2012 - 16:28
fonte

3 risposte

5

Vorrei essere git o mercurial quando ero al college. Penso che abbiamo usato i cvs per il nostro grande progetto di gruppo, ed è stato difficile convincere l'intero team a usarlo. Parte del problema è che gli studenti universitari hanno spesso un laptop come unico computer, con un servizio internet macchiato che spesso blocca qualsiasi traffico non http. Oppure, oppure usano laboratori informatici scolastici con gli stessi problemi con il firewall e raramente hanno installato un client di controllo del codice sorgente. Anche se personalmente sei equipaggiato meglio di così, devi pensare al minimo comune denominatore della tua squadra.

Con il controllo della versione distribuita, puoi mettere il client e un repo su un laptop o su una chiavetta USB e lavorare completamente disconnesso la maggior parte del tempo, con molti modi diversi per condividere le tue modifiche: siti come github, e-mail di pacchetti avanti e indietro , o anche solo spingendo e tirando dalle rispettive chiavette o computer portatili su una LAN quando si riuniscono per riunioni di gruppo.

Potrei lanciare bzr sul ring. È più noob friendly che mercurial o git, ma non altrettanto flessibile. Git ha la reputazione di essere difficile per i noobs. Gli elementi essenziali sono facili da imparare come qualsiasi altro VCS, ma le persone sono sopraffatte da tutte le diverse opzioni avanzate disponibili e non sono sicure di cosa sia sicuro ignorare o meno. Anche la sintassi CLI è molto simile a unix, il che lo rende molto intuitivo per gli utenti * nix ma un po 'bizzarro per gli altri. Mercurial è un buon equilibrio. Nasconde molta della complessità, ma è ancora molto capace, con una sintassi più familiare agli utenti di Windows.

    
risposta data 20.04.2012 - 17:30
fonte
12
  • Git: la curva di apprendimento più potente e più ripida. Il supporto sotto Windows non è stato stellare l'ultima volta che ho controllato. A meno che gli studenti non abbiano già familiarità con esso, pensaci due volte. Estremamente popolare quindi potrebbe valere la pena di insegnare comunque.
  • Mercuriale: più facile di git, ma comunque distribuito con tutti i vantaggi di questo (ramificazione economica, lavoro offline). Dovrebbe richiedere meno sforzo di insegnamento. Supportato bene sotto Windows.
  • Subversion: centralizzato, concettualmente il più semplice dei tre, ma non significativamente. Supportato bene sotto Windows. Richiede che gli studenti siano sempre connessi al server per sfruttare i vantaggi del controllo della versione. Usato per essere meno amichevole di tutti quando si fondono.

Prenderei Mercurial.

    
risposta data 20.04.2012 - 17:00
fonte
3

Git è probabilmente il migliore.

C'è Git-Client SmartGit (e simili) per i nuovi arrivati. Git è molto popolare e c'è github, dove gli studenti possono archiviare i file. (Nella mia università tutti i corsi usano git. Nella maggior parte dei casi i repository sono pubblici su github.)

    
risposta data 20.04.2012 - 16:58
fonte

Leggi altre domande sui tag