2010-01-24 20 views
17

Con Phil Haack e altri recentemente tweeting su CodePlex's move to support Mercurial come DVCS, ho pensato che potesse valere la pena dare un'occhiata.Come si accumula Mercurial contro GIT e SVN?

Come qualcuno che attualmente utilizza SVN per progetti personali e TFS in The Office, come si confronta Mercurial in termini di usabilità, funzionalità e quali sono i migliori servizi di hosting Mercurial disponibili?

+0

questo dovrebbe avere un tag 'git'. –

+0

@Chad Okere - abbastanza giusto. Fatto. –

+0

Non ci sono abbastanza tag per descrivere completamente questa domanda SO! D: – Spoike

risposta

18

Per quanto riguarda il confronto a Git, Google ha recentemente pubblicato un interessante confronto tra Git e Mercurial in base alla loro valutazione: http://code.google.com/p/support/wiki/DVCSAnalysis

+0

Perfetto. Ha tutto ciò di cui ho bisogno. Grazie per il suggerimento, @Dave Ward. –

+4

Si noti che questa analisi non è aggiornata, ad esempio Git ha acquisito non molto tempo fa il supporto per il trasporto HTTP "intelligente". –

+0

Alcune altre cose non sono aggiornate: mercurial ha ora rebase (non è più un vantaggio git); git-gc ora è un po 'automatico (non è più un vantaggio hg significativo), e il supporto di Windows è meno terribile (non sono sicuro che sia ancora un vantaggio di hg). E, naturalmente, microsoft ha annunciato l'intenzione di integrare il supporto git nella propria linea TFS. –

1

Una cosa non menzionata nel confronto di Google è che Git sembra essere molto più veloce. Mercurial sembra abbastanza veloce (con piccoli progetti almeno) ma Git è semplicemente velocissimo, indipendentemente dalle dimensioni del progetto.

+0

Ricorda comunque che stai confrontando un fulmine e un jet supersonico. L'unico vero problema è il supporto degli strumenti su piattaforme diverse da Linux, ma suppongo che alla fine cambierà. – Esko

+2

In realtà, sia Git che Mercurial diventano super lenti quando le dimensioni del check-out del progetto iniziano a insinuarsi nei confronti di GB. Quindi le dimensioni contano. – Spoike

+3

TortoiseGit è un ottimo strumento GUI per Windows. Suppongo che gli utenti di altre piattaforme siano per lo più contenti dello strumento della riga di comando, magari combinato con un software di visualizzazione grafica ad albero come gitg. – Tronic

0

SVN ha un sacco di supporto da strumenti di terze parti tra cui IDE e sistemi di tracciamento dei bug ecc. Compreso il piuttosto bello TortoiseSVN.

La maggior parte degli sviluppatori ha utilizzato SVN in passato, quindi ottenere rapidamente nuovi sviluppatori sul proprio team è più veloce con SVN.

Quanto è importante questo genere di cose per te, solo tu puoi decidere.

6

Rispetto a SVN, per il quale ho recentemente lavorato di nuovo dopo un po ', Mercurial è sorprendente. Mi ha dato la sensazione di "Perché qualcuno dovrebbe usare SVN più". SVN è abbastanza buono, ma Mercurial funziona davvero meglio.

Per progetti personali passerei senza dubbio a un DVCS. Fa tutto ciò che SVN fa ma meglio, e molto più veloce. La "curva di apprendimento" sta solo comprendendo una terminologia.

In realtà la differenza tra SVN e DVCS è che tutti hanno un repository funzionante completo sul proprio sistema. Se decidi di avere un "server master", è esattamente lo stesso di quello che hai, tranne che è configurato per servire continuamente su una rete. Per sincronizzare tutto ciò che fai è inviare/ricevere (push/pull) le modifiche tra questi repository.

1

Probabilmente sono solo io, ma utilizzo Mercurial da sei mesi, dopo diversi anni di utilizzo esclusivo di SVN, e per qualche motivo non si adatta anche al mio modello mentale. So esattamente cosa sto facendo in SVN, e se qualcosa va storto, so quasi sempre come risolverlo. Concettualmente non ho alcun problema con Mercurial - adoro avere una copia locale del repository, ad esempio - ma in pratica sto perdendo sempre le cose. Penso che potrebbe essere perché un'unione in SVN è un grosso problema, mentre in Hg è il modo normale di fare le cose. Voglio più controllo sulle mie fusioni. In SVN è sempre chiaro quale changeset precede quello, ma Mercurial sembra mancare di questo. Anche TortoiseHg, che è abbastanza bello visivamente, non sembra offrire abbastanza opportunità per vedere esattamente cosa si sta fondendo.

Problemi correlati