2009-09-18 21 views
14

Quale sistema di controllo della versione che vi consigliamo di:Bazaar, Mercurial o altro per controllo versione utente singolo?

  • singolo utente
  • in cerca di semplice, facile da usare
  • generalmente piccoli progetti semplici
  • lavorare su finestre
  • solito codifica pitone
  • no server

L'utilizzo sarebbe più un reperimento di vecchio codice rispetto a complicate situazioni di ramificazione.

Da altri post simili, Bazaar e Mercurial sembrano i migliori sistemi di controllo delle versioni distribuiti per le mie esigenze. Sono un po 'inclinato verso Bazaar come sembra più semplice.

La lamentela principale che ho letto su Baazar era che era lento, ma la velocità doveva essere migliorata nella versione 2, che verrà rilasciata questa estate. La nuova versione non è ancora stata rilasciata, ma c'è una 2.0.0rc2.

Mi chiedo se qualcosa è cambiato di recente o se qualcuno ha dei forti sentimenti in proposito.

EDIT: Dopo aver letto le risposte e sfogliando alcune alternative, vado con Bazaar, almeno per il momento. Per i miei bisogni, i prodotti citati sembravano piuttosto simili. Bazaar ha una documentazione specifica per uno sviluppatore solista e sembra piuttosto facile da usare. Altri sembrano più mirati ai gruppi o ai server centrali. Altri sistemi potrebbero essere altrettanto validi, ma pensavo che iniziare a usare qualcosa fosse più importante del trascorrere del tempo cercando di trovare il programma perfetto.

Grazie a tutti!

(Dovrei avere scritto questo come una modifica, una risposta o un commento?)

risposta

6

Bazaar è molto adatto alle vostre esigenze e dubito che abbiate riscontrato problemi di velocità con i vostri progetti. Bazaar ha un front-end GUI molto bello chiamato Bazaar Explorer che consiglierei su TortoiseBzr. (Bazaar Explorer è ora incluso nell'installer 2.0 standard.)

Naturalmente se si sceglie Mercurial non si perde molto.

Quindi faresti meglio a testare l'uno e l'altro e fare la tua scelta. Ogni zelota ti consiglierà il suo preferito.

5

Se sei un utente di Windows, niente può battere IMO TortoiseSVN in termini di usabilità e facilità d'uso.

+4

+1. Nessun server richiesto, anche. –

+7

Nessun server richiesto? Forse mi sono perso qualcosa, ma per quanto ne so SVN richiede un server per funzionare a differenza dei sistemi di controllo di versione distribuiti (noti anche come Bzr e Mercurial). –

+0

Sono d'accordo con Martin. SVN richiede un server – exhuma

16

Se sei un singolo sviluppatore che lavora su piccoli progetti, qualsiasi sistema di controllo versione dovrebbe essere abbastanza veloce.

Sono anch'io uno sviluppatore Mercurial e naturalmente consiglierò :-) Mi piace come Mercurial abbia un concetto centrale: il grafico del changeset. Il grafico risiede in un repository (un clone). Puoi avere diverse linee di sviluppo nello stesso clone. Questo può essere sotto forma di più teste, forse contrassegnate con lo bookmarks extension o come diramazioni con nome. Puoi anche usare diversi cloni per tenere separate le cose, oppure puoi andare avanti e indietro: è facile separare un clone combinato (usa hg clone -r REV per ottenere una parte del grafico di revisione). Vedi questo blog post per belle immagini.

Per Windows (e anche altre piattaforme) si dispone di TortoiseHg, che offre un'interfaccia grafica molto bella. TortoiseHg si integra anche con molti plugin eccellenti per Mercurial, in particolare lo record extension, che consente di selezionare le singole modifiche da un file quando si esegue il commit. Usando questo, è possibile modificare diversi file e quindi eseguire il commit di tali modifiche come diversi changeset indipendenti.

Infine, si dovrebbe anche conoscere Mercurial: The Definitive Guide, il libro online gratuito su Mercurial.

+2

Ehi, stai tranquillo! Se non capisci i "concetti divertenti" di Bazaar, ciò non significa che puoi trattarli come qualcosa di brutto. – bialix

+0

Sto usando Mercurial per qualsiasi cosa io abbia bisogno di un controllo di versione. È abbastanza semplice, e il TortoiseHG è davvero un piacere lavorare con (IMHO) – edomaur

+0

idem per Mercurial. Ho trovato molto più facile scaldare rispetto agli altri e lo uso anche per tutto ciò che ha bisogno di Controllo versione. L'utilizzo di un servizio in hosting come Kiln significa anche backup offsite. –

3

Ho usato SVN, Git e Bzr in modo estensivo su vari progetti diversi. Attualmente sto usando Bzr su un singolo progetto utente ed è molto facile da configurare e utilizzare. Non c'è bisogno di creare un server e viene fornito con TortoiseBzr che funziona bene, potrebbe non essere una funzionalità completa come TortoiseSVN ma per un progetto one-man dovresti avere tutto ciò di cui hai bisogno. Ci sono alcune cose mancanti come la possibilità di tag di revisione, nel qual caso è necessario ricorrere all'uso dell'interfaccia della riga di comando. Ho considerato Mercurial circa un anno fa, ma non l'ho ancora usato in una situazione reale, quindi non sarei in grado di confrontare. Ho deciso di non farlo perché TortoiseHG non sembrava molto maturo al momento, mi aspetto che da allora sarà migliorato.

1

Ho usato Bazaar per un po 'ed ero abbastanza soddisfatto. Con tutto il clamore in corso su git, ho fatto un tentativo. E anche se ha concetti piuttosto complessi, posso solo dire che ne è valsa la pena. Ora lo uso per tutti i miei progetti. Non importa quanto piccolo. E penso che lo TortoiseGit sia diventato abbastanza buono da essere utilizzabile.

posso vedere i seguenti buoni punti su di esso:

  • E 'veloce
  • ramificazione e la fusione è così semplice si potrebbe anche dire che è divertente
  • E' ottenuto comandi funky che non ho visto da nessuna parte else (es .: stash e rebase)
  • E 'pubblicizzato. Di conseguenza, la comunità è molto attiva e si può trovare un sacco di materiale su di esso
  • È possibile prendere una copia di gitorious per gestire i progetti in privato

Alcune cose che non mi piacciono tanto:

  • visualizzazione filiale a gitk "sente" strano per me
+0

Proprio come Mercurial, Git usa i valori di hash SHA-1, non MD5 (MD5 è malamente rotto ormai e non dovrebbe più essere usato). –

+1

Ho usato git per circa 4 mesi presso l'azienda in cui ho lavorato (circa 1 anno fa). A quel tempo non esisteva TortoiseGIT, quindi è bello da vedere. Ho trovato che il supporto Git su Windows era piuttosto scarso, non aveva il supporto ufficiale di Windows. Dovevi costruirlo da solo o scaricare da un sito web di terze parti. C'era anche un brutto bug nel fatto che se un file veniva usato da un altro processo (ad esempio Visual Studio) mentre GIT stava facendo la cosa, si poteva finire in uno stato corrotto che potrebbe richiedere molto tempo mancante per la correzione. Lo sconsiglio per gli utenti di Windows. –

+0

Inoltre, a differenza di Git, Mercurial ha un numero di revisione locale per ciascun changeset, quindi non è necessario immettere strani numeri esadecimali per specificare i commit. –

0

lo uso git e funziona benissimo per me. Io uso msysgit su Windows.

0

Raccomanderò Git sempre. È veloce, non ha bisogno di server, la ramificazione e la fusione sono eccellenti. Per Windows è necessario ottenere MsysGit.

Mercurial è anche molto buono con un'interfaccia un po 'più facile per l'utente.

2

Mi piace molto darcs, utilizza qualcosa chiamata teoria delle patch che è, per quanto ne so, unica nel software di controllo delle versioni.

+0

Ho sentito (e letto) che ha problemi di prestazioni critiche e dimensioni del repository se si va oltre il piccolo progetto con una cronologia non troppo lunga. –

+0

La maggior parte di questi problemi dovrebbe essere eliminata con la versione 2. Anche se si ha una possibilità molto piccola di eseguire un'operazione di tempo esponenziale. –

4

Sicuramente Subversion ....

È gratuito, molto semplice da configurare e utilizzare, non richiede un server perché può accedere solo al filesystem locale, e puoi trovare carichi e carichi di documentazione e aiuto se rimani bloccato perché penso ci sia sono molte più persone che fanno uso di SVN di bazar o git per esempio ....

si può solo scaricare TortoiseSVN (http://tortoisesvn.tigris.org/) en iniziare ad usarlo .... Niente altro è necessario per iniziare perché tortoisesvn ha sovversione incorporato in I believe ....

+0

Wow, ho avuto Tortoise e non sapevo che fosse così semplice creare un repository locale! Grazie, ne creerò molti ora ... :-) –

4

Ho suonato con tutti loro.

La cosa fondamentale che mi ha attratto a Bazaar è la sua flessibilità.

Vuoi operare in modalità centralizzata (ala SVN)? Ce la puoi fare. Vuoi operare in modalità distribuita (ala Mercurial o git)? Ce la puoi fare.

E qui è dove va meglio: puoi fare entrambe le cose. Supponiamo che tu stia lavorando con un ragazzo venuto da SVN e che a lui non piaccia un po 'il concetto distribuito. Belle. Lascia che lavori in modalità centralizzata mentre il resto del team lavora in modalità distribuita. Se è lontano dal repository centrale, può persino portare fuori la sua cassa e fare commit offline mentre se ne va. Quindi può impegnarli tutti quando torna.

Mentre alcuni degli altri sistemi hanno modi per approssimare modelli differenti, nessuno sembra così impegnata a flessibilità bazar.

+0

... e non puoi farlo anche con Mercurial e Git ... perché, ancora? Lavorare in modalità centralizzata è più di una convenzione ed è convenientemente offerto da tutti loro. – 0xC0000022L

+0

@ 0xC0000022L La mia risposta è stata scritta 4 anni fa, quando Git era un po 'più avanti in termini di popolarità, Mercurial era un secondo vicino, e Bazaar era un po' dietro agli altri due. Tuttavia, erano tutte le opzioni ragionevolmente buone. Tuttavia, nel mondo di oggi, non è più un concorso. Git è il più popolare di gran lunga, Mercurial è un'altra opzione solida, e il supporto al Bazaar è stato interrotto. – wadesworld

+0

sì, ma ora o poi potresti fare queste cose con tutti loro. Non penso che "alcuni degli altri sistemi abbiano modi per approssimare i diversi modelli" è giusto. Ma in entrambi i casi, non ho motivo di votare per me, quindi ho semplicemente commentato. – 0xC0000022L

Problemi correlati