2009-05-31 10 views
25

Mi piacerebbe provare un sistema di controllo di revisione distribuito. Uso un paio di PC Windows, un paio di PC con Linux e un Mac. Su Windows, mi piacerebbe usare la tartaruga.TortoiseGit, TortoiseBzr, TortoiseHg. Sei abbastanza solido per passare da TortoiseSVN?

Qualcuna delle tartarughe diverse da TortoiseSVN è valida? Fino a poco tempo fa, il colpo contro di loro è stato che sono lenti e infestati, ma sembra che ci sia una nuova spinta per renderli solidi.

Preferirei non dover provare tutti e tre. Qualcuno fa il passaggio ultimamente e ha una buona esperienza?

+0

Ho usato Tortoise HG per almeno un paio di anni per il lavoro di produzione. Tuttavia, una volta che ti senti a tuo agio con la riga di comando, non lo userai più. Non ho usato il mio per almeno un anno. –

+0

Penso che il settore abbia scelto Git come il prossimo repo del codice sorgente di scelta. –

risposta

7

Sto usando TortoiseGit per un po '. Mentre è vero che le prestazioni di git soffrono di Windows, sarà perfettamente accettabile nella maggior parte delle situazioni. Dei tre che hai menzionato, Git ha certamente la "tartaruga" più raffinata, secondo me. E se sei abituato a usare TortoiseSVN, la transizione a Git dovrebbe essere abbastanza fluida, dato che TortoiseGit è basato sulla base di codice TortoiseSVN e riutilizza gran parte della sua interfaccia utente e dei suoi principi di progettazione.

+9

Ho trovato TortoiseGit come un'esperienza piuttosto scadente e nei problemi con i comandi di base. –

+5

Nota che TortoiseGit conserva il modello SVN, il che significa che alcuni concetti Git, in particolare l'area di gestione temporanea, non sono supportati. Le persone che arrivano da SVN possono trovare questo vantaggioso, ma le persone che hanno familiarità con Git possono essere disorientate. – jdigital

+5

TortoiseSVN è di gran lunga l'app Tortoise più raffinata, non c'è nulla di cui parlare. Spero che un giorno TortoiseGit sarà abbastanza vicino a TortoiseSVN e quando dico "lucido" non intendo "copiato", perché l'ideologia Git soffre di decisioni di progettazione SVN. –

0

Stai pensando di passare ad altri VCS? Perché il passaggio a TortoiseGit/Bzr/Hg non sarà possibile accedere ai repository SVN. Sto lavorando con GIT via TortoiseGit, ma è costruito su TortoiseSVN e ho prestazioni simili.

Se si sta cercando un'alternativa per utilizzare SVN, è necessario dare un'occhiata a RapidSVN. È ancora buono ed è molto più veloce di Tortoise, funziona anche su Mac e Linux.

Spero che questo aiuti!

Invia un commento Modifica

Si dovrebbe considerare Git. È un VCS moderno distribuito per essere molto più veloce e flessibile, ha una community molto ampia e forte. Molti grandi progetti stanno utilizzando Git come Linux (Kernel) e Ruby On Rails.

più su Git: http://git-scm.com/, http://whygitisbetterthanx.com/

+0

Mi piacerebbe provare uno dei sistemi di controllo di revisione distribuiti. – Nosredna

+0

@Eduardo Cobuci, quindi ti sembra che TortoiseGit sia robusto ed efficiente come TortoiseSVN? – Nosredna

+0

sfortunatamente non così, ma l'ho trovato abbastanza buono. Lo sviluppo è molto attivo e penso che sia diventato un'opzione molto ragionevole. –

2

Considerando la configurazione, sembra un po 'inutile impiegare il controllo di versione distribuito quando si lavora soltanto con un paio di computer locali. Questo è particolarmente vero se stai già eseguendo una funzione SVN server. Il controllo della versione distribuita tende ad essere molto più utile in progetti di grandi dimensioni con numerose ramificazioni e fusioni in corso, poiché i VCS distribuiti tendono a valutare l'unione di alta qualità su tutto il resto.

Detto questo, Google ha scelto di utilizzare Mercurial (Hg) come controllo della versione distribuita su Google Code. La maggior parte del ragionamento riguardava la velocità, la flessibilità e la facilità d'uso. Certamente, il set di comandi Hg sembra molto più amichevole del set di comandi Git, a mio parere, e tende a giocare bene con i vecchi repository SVN.

+1

Mi piacerebbe andare al passo con uno dei nuovi sistemi distribuiti, quindi sono pronto per entrare in uno se devo lavorare. Inoltre, mi piacerebbe buttare via il vecchio pezzo di merda che sto usando per ospitare il mio server SVN. Penso che sia metà della mia bolletta elettrica. :-) Ma soprattutto, solo curiosità intellettuale. – Nosredna

+1

I VCS distribuiti sono fondamentali perché funzionano con il codice in termini di * changeset * piuttosto che * revisioni *. –

+2

Sono recentemente passato da SVN a HG a causa della clonazione economica a cui sono così abituato. Consiglio di leggere www.hginit.com di Joel Spolsky per le persone che pensano 'Perché dovrei considerare VCS distribuiti?' –

55

Personalmente ho avuto esperienze positive con TortoiseHg. Installa anche il sistema a riga di comando hg, in modo da poterne accedere in caso di necessità (o se si preferisce eseguire il controllo di versione sulla riga di comando). Ci sono alcune stranezze nell'interfaccia, ma nel complesso è molto solida (e se si utilizza la visualizzazione del grafico di revisione sembra ottima). Anche l'importazione di Mercurial Subversion è fantastica.

Si può persino lavorare con i repository Git usando l'estensione hg-git per Mercurial, come cita Bloke.

+3

Ha il supporto per qualche tipo di bridging hg-svn, se il resto del mio team non è ancora pronto per passare da svn? – Avi

+2

Ho usato personalmente lo strumento di importazione, ma ci sono molte opzioni disponibili. hububversion sembra essere il più completo. http://mercurial.selenic.com/wiki/WorkingWithSubversion –

+2

Puoi anche spingere/tirare da repository Git. Vedi http://jamesmckay.net/tag/hg-git/ –

20

Suggerirei TortoiseHg. Se conosci TortoiseSVN, puoi usarlo subito.

Si desidera utilizzarlo su Windows?

A oggi, TortoiseHg è migliore di TortoiseSVN secondo me. E migliora ancora molto velocemente (l'ho usato dalla versione 0.4, la corrente è 0.9.2 con Mercurial 1.4.2). Una bella funzionalità per esempio: basta fare un sacco di refactoring nel proprio IDE e non preoccuparsi della ridenominazione. Successivamente scegli la funzione "Rinomina i nomi" nel menu contestuale e divertiti. Non più storie spezzate, perché hai usato il tuo strumento di rinomina preferito invece di "svn move".

L'installazione è davvero semplice: scarica e installa TortoiseHg e un solo riavvio. Ora hai anche la versione corrente della riga di comando Mercurial e lo strumento di conversione SVN. Non è altro che questo singolo pacchetto.

Si desidera utilizzarlo su Linux?

"sudo apt-get install mercurial" è tutto ciò che serve (su un sistema basato su Debian) per utilizzare la riga di comando Mercurial, ma questa versione potrebbe non essere la più recente. Lo so, ci sono repository PPA per Ubuntu e forse anche per Debian. Quindi aggiorna la tua lista di fonti APT, importa le chiavi e puoi installare TortoiseHg con una bella integrazione con Gnome.

Siamo spiacenti, ma non so sull'installazione su Mac.

DVCS tende comunque ad essere utile. Tende ad essere più divertente, non importa se fai lo scenario di un hacker solitario o lavori in una grande squadra. Inoltre: con clone + push + pull hai anche un backup integrato, veloce e intelligente.

Ma, ci sono anche alcuni svantaggi da considerare:

1) Se si condivide il lavoro tra Windows e qualsiasi sistema * nix, è consigliabile utilizzare solo caratteri ASCII per i nomi di file. Né Mercurial, né Bazaar o Git codificano la conversione come Subversion (vedi CharacterEncodingOnWindows). Qualsiasi accento francese o umlaut tedesco rovinerà il tuo lavoro quando passi da un sistema operativo all'altro utilizzando UTF-8 e l'altro.

2) Non utilizzare molti file binari di grandi dimensioni. Mercurial non è progettato per questo scopo e non penso che Bazaar o Git sarebbero più divertenti su questo.

+5

www.hginit.com sarà utile –

+1

A partire da Mercurial 2.0, l'estensione largefiles è in bundle, il che consente un trattamento efficiente di file binari di grandi dimensioni, inclusa la possibilità di scaricare solo quelli necessari. –

1

Volevo solo aggiungere un commento a suggerimenti circa TortoiseHg, ma i commenti sono chiusi,

Come aggiungere il repository ppa su linux (sostituire onirica dalla versione):

  1. Aggiungere le seguenti voci di gestore di pacchetti:

    deb http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main 
    deb-src http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main 
    
  2. aggiungere le seguenti voci al gestore di pacchetti:

    deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main 
    deb-src http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main 
    

    IMPORTANTE: poiché le versioni correnti di TortoiseHg richiedono spesso una versione più recente di Mercurial rispetto a quella fornita da Ubuntu, è inoltre necessario aggiungere questo PPA.

  3. Per configurare APT fidarsi chiave di firma di questo repository, eseguire:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 323293EE 
    
  4. Se tu avessi le versioni precedenti intalled, si desidera rimuovere loro per primi.

    sudo apt-get --purge remove mercurial 
    sudo apt-get --purge remove tortoisehg 
    
  5. Passo

    sudo apt-get install mercurial 
    sudo apt-get install tortoisehg 
    
+0

La numerazione sopra riportata dovrebbe essere 1,2,3,4,5. E i comandi dovrebbero essere in grigio (non è quello che dovrebbero fare i 4 spazi vuoti?) ... – PatrickT

+0

Ho modificato la formattazione, semplicemente rimuovendo i 4 spazi e mettendo la parola Passo davanti ai numeri , per ottenere indietro la sequenza 1,2,3,4,5. – PatrickT

+0

Un motivo per pubblicare queste informazioni qui è che launchpad.net ha il seguente, che non ha funzionato per me (errore 404) deb https://launchpad.net/~mercurial-ppa/+archive/releases oneiric main – PatrickT