Logo Blogo

GitHub ospita più codice open source rispetto a SourceForge e Google

Pubblicato: 03 giu 2011 da Federico Moretti

GitHub - Social CodingGitHub si è affermato come l’hosting di progetti open source più apprezzato, superando sia SourceForge, sia Google Code. È il risultato di due studi: il primo di Black Software e il secondo di RedMonk. Le statistiche si riferiscono al periodo tra gennaio e maggio di quest’anno, sulla base dei commit ricevuti dalle varie piattaforme.

Secondo la ricerca di Black Duck, GitHub ha ricevuto il 54% dei commit (oltre un milione), SourceForge il 30% (600.000 circa) e Google Code il 14% (attorno ai 280.000). CodePlex di Microsoft è sotto i 50.000 commit col 2% del totale. GitHub supera quindi il doppio dell’attività di tutti gli altri hosting messi insieme, per il 2011.

Il linguaggio più utilizzato su GitHub è Ruby, nonostante C++ guidi la classifica generale davanti a Java e Python. C Sharp è ovviamente il più sfruttato su CodePlex, tuttavia la percentuale dei commit su GitHub è di poco inferiore a quella del portale di Microsoft. Stephen O’Grady di RedMonk sottolinea come Perl sia il meno usato.

Via | ReadWriteWeb

1 stelle2 stelle3 stelle4 stelle5 stelle (nessun voto)
condividi condividi
25 commenti

Commenti dei lettori

(Inserisci un commento - Nascondi commenti anonimi)
  • bouch

    03 giu 2011 - 13:18 - #1
    0 punti
    Up Down

    Sbagliato: il numero di commit è maggiore, ma la quantità di codice totale ospitato è ancora parecchio inferiore a quella di sourceforge (non so rispetto a google code).

  • amaretti fedroco

    03 giu 2011 - 13:22 - #2
    0 punti
    Up Down

    Si ma quanti di questi commit sono effettuati a causa di fork, ricordiamo bene anche il funzionamento diverso delle piattaforme.
    GitHub pone proprio l’enfasi sul modello di sviluppo a fork

  • Profilo di sherpya

    sherpya

    03 giu 2011 - 18:03 - #3
    0 punti
    Up Down

    beh google code non ha git (ma perche’?)
    e sourceforge e’ abbastanza ostico da usare
    per fare un repo su github ci metti tre secondi

  • Kim Allamandola

    03 giu 2011 - 20:40 - #4
    0 punti
    Up Down

    Sperando di evitare flame stile miei commenti precedenti:
    * sf offre uno spazio per un sito-vetrina ed accesso ssh
    * google code offre mercurial
    * github offre git
    * launchpad offre bazaar e un bugzilla web integrato con bazaar
    * BerliOS, Savannah ecc non hanno peculiarità tecniche appetitose…
    Il resto sono caratteristiche comuni a tutti o IMVHO non rilevanti…

    Il successo di mercurial, bazaar e git è il successo dei dCVS rispetto alle
    soluzioni client-server legacy. Git è molto diffuso perché ha un grande
    sponsor: Linus Torvalds ma è il più scomodo dei dCVS sulla piazza; mercurial
    era molto amato nei lidi Sun che purtroppo non esistono quasi più oggi; bazaar
    è il più comodo offrendo la possibilità d’uso distribuito e client-server alla
    SVN anche mescolate sullo stesso tree, e l’integrazione con launchpad,
    accidentalmente è poco sponsorizzato e quindi lo conoscono in pochi. Da
    monothone in giù sono soluzioni poco diffuse.

    Quando qualcuno offrirà il launchpad, magari non Ubuntu-centrico, con la
    possibilità di avere un decente sito-vetrina quello supererà tutti gli altri…
    GitHub è diffuso perché tanti passano da SVN (o add. CVS e sw proprietario)
    a git non conoscendo altri dCVS…

    @sherpya #3
    git è “un mostro” sia sul piano del setup che sul piano dell’uso e i repo git
    hanno un discreto bisogno di essere ri-pack-ati di tanto in spesso per restare
    efficienti in termini d’uso dello storage… Le uniche caratteristiche che ha
    git in più rispetto e mercurial o bazaar interessano, se interessano qualcuno,
    solo progetti enormi…

  • Profilo di ekerazha

    ekerazha

    04 giu 2011 - 09:44 - #5
    0 punti
    Up Down

    Per piccoli progetti con pochissimi sviluppatori, git e Mercurial sono inutilmente complessi… Google Code offre sia Subversion sia Mercurial.

  • Kim Allamandola

    04 giu 2011 - 10:10 - #6
    0 punti
    Up Down

    @ekerazha #5
    Concordo per git ma non per mercurial e bazaar:
    * non c’è nessun server da setup-are
    * uso pressoché uguale a subversion
    * merge e branching molto più facili

    scusa ma per un progetto piccolo quanto vuoi dov’è la complessità, git a parte
    dei dCVS?
    I passi per iniziare da source esistenti sono:
    hg init

  • Kim Allamandola

    04 giu 2011 - 10:12 - #7
    0 punti
    Up Down

    Pare che ossblog abbia problemi col post…

    I passi per iniziare da source esistenti sono:
    hg init # crea .hd nella root del progetto (la dir corrente)
    hg add . # aggiunge tutto ciò che c’è al controllo versione
    hg commit -m “Primo import” # primo commit, ora si può lavorare

    hgserve ti permette di condividere al volo, senza setup, il tuo repo in una
    LAN, hg push e pull permettono la condivisione dei commit. Il 90% dei comandi
    sono gli stessi di svn. Con bazaar:

    bzr init
    bzr add .
    bzr commit -m “Primo import”

    per fare un branch
    cd tuo_progetto && bzr branch ../nuovo_branch

    setuppando il tuo account lanchpad puoi anche inviare direttamente a lanchpad
    le tue source, come faresti con qualsiasi altro repo o collaboratore singolo:
    bzr push lp:/tuo/progetto
    hai anche bzr viz per una view grafica della tua history, bzr-gtk bzr-explorer
    ecc se vuoi le GUI. Mercurial ha TortoiseHg ecc. Sono integrati sia con
    NetBeans che con Eclipse ecc ecc ecc

    Hai tutte le comodità di un dCVS *distribuito* non hai la necessità di un
    server, puoi mantenere un repo centrale come con svn ma puoi committare per
    i fatti tuoi offline e solo dopo push-are le tue modifiche sul repo comune,
    se già conosci svn puoi iniziare leggendo un quickstart di 5 pagine
    http://bazaar.canonical.com/en/
    http://mercurial.selenic.com/wiki/QuickStart

  • Profilo di ekerazha

    ekerazha

    04 giu 2011 - 11:47 - #8
    0 punti
    Up Down

    Concordo per git ma non per mercurial e bazaar:
    * non c’è nessun server da setup-are
    * uso pressoché uguale a subversion
    * merge e branching molto più facili

    scusa ma per un progetto piccolo quanto vuoi dov’è la complessità, git a parte
    dei dCVS?
    I passi per iniziare da source esistenti sono:
    hg init

    bazaar non l’ho menzionato e non l’ho mai usato, per piccoli progetti con pochi sviluppatori, un DCVS con repository locali da sincronizzare ecc. è inutilmente complesso, con SVN hai i file, li modifichi, commit, fine… banale, immediato, ne più ne meno di ciò che serve. Io avevo alcuni progetti su Mercurial e li ho recentemente convertiti a Subversion.

  • Mariastella Gelmini

    05 giu 2011 - 09:19 - #9
    0 punti
    Up Down

    @Kim Allamandola
    setuppando?
    E poi vi lamentate se vi chiudo le sQuole

  • dino da perugia

    05 giu 2011 - 09:48 - #10
    0 punti
    Up Down

    Se posso permettermi, visto che la discussione è virata dal fatto che molto piu codice subisca commit sotto github che sotto altri sistemi.
    Il punto cenrale è dovuto ad alcuni fattori novità notorietà semplicità. Tutavia ci sono delle limitazioni per progetti professionali di cui tener conto.

    Per quanto riguarda la semplicità d’uso econdo me mercurial è primo poi viene bazaar git svn.
    Mercurial vince perchè lo install , imposti lo username, e poi puoi inizializzzare qualsiasi cartella. Bisogna evitare il più possibile di porre file binari el repo.

    Infine il vantagio di usare un sistema ad esempio Mercurial anche in un piccolo progetto e monosviluppatore è di poter tenere traccia delle modifiche del perchè esse sono state effettuate e dell’evoluzione del progetto

  • Kim Allamandola

    05 giu 2011 - 21:42 - #11
    0 punti
    Up Down

    @ekerazha #8
    Hai convertito dei progetti da mercurial a subversion? Una domanda senza
    polemica: hai mai usato, oltre alla prova da 2″, mercurial o bazaar? No
    perché dire che “sono inutilmente complessi” vuol dire non sapere cosa si
    stà dicendo… Hai *gli stessi* comandi di svn ed in più non hai bisogno
    di un server centrale, sempre disponibile per poter commit-are…

    @Mariastella Gelmini #9
    Ha anche ragione, per quanto la Sua carriera scolastica faccia venir voglia
    di citare il famoso: “da qual pulpito…” ugualmente, si, un po’ di neologismi
    e/o anglicismi sono oramai divenuti d’uso comune e l’Accademia della Crusca
    prima o poi dovrà riconoscerlo :D. Se non altro la parlata informatica fa un
    uso di anglicismi decisamente più accettabile di certi markettari e
    sedicenti economisti… :D :D

    @dino da perugia #10
    posso chiederti perché mercurial lo indichi come più semplice di bazaar? Per
    la facilità di creare repo non posso essere daccordo: i comandi sono gli stessi
    posto che $mioProgetto abbia già un contenuto e sia da mettere sotto controllo
    versione con mercurial dai:

    cd $mioProgetto
    hg init
    hg add .
    hg commit

    con bazaar:
    bzr init
    bzr add .
    bzr commit

    con git:
    git init
    git add .
    git commit

    con subversion (repo sulla macchina locale, il setup più semplice)
    svnadmin create NuovoRepo
    svn import $mioProgetto file:///path/verso/NuovoRepo
    rm -fr $mioProgetto
    svc co file:///path/verso/NuovoRepo $mioProgetto
    cd $mioProgetto

    bazaar ti permette di scegliere sia una gestione totalmente distribuita che
    una legacy alla svn, che una ibrida; mercurial è solo distribuito; git ha un
    po’ di caratteristiche avanzate utili (?) per progetti mastodontici e la noia
    di dover repack-rare il tree con regolarità…

  • Profilo di ekerazha

    ekerazha

    06 giu 2011 - 08:04 - #12
    0 punti
    Up Down

    @ekerazha #8
    Hai convertito dei progetti da mercurial a subversion? Una domanda senza
    polemica: hai mai usato, oltre alla prova da 2″, mercurial o bazaar? No
    perché dire che “sono inutilmente complessi” vuol dire non sapere cosa si
    stà dicendo… Hai *gli stessi* comandi di svn ed in più non hai bisogno
    di un server centrale, sempre disponibile per poter commit-are…

    Inizio a dubitare delle tue capacità di lettura (su quelle tecniche ci abbiamo già messo una croce sopra da tempo). Ti ho già detto che avevo dei progetti su Mercurial e che non ho mai usato Bazaar (il giocattolo di Canonical). Confermo che ho recentemente migrato alcuni progetti da Mercurial a Subversion, per le ragioni già illustrate. Per quanto riguarda l’ultimo caso specifico da te menzionato, il problema non si pone visto che il server SVN è sempre disponibile e tutti i miei sistemi sono sempre online, oltre al fatto che in piccoli progetti con pochi sviluppatori, non è necessario fare un commit per ogni sciocchezza.

  • Kim Allamandola

    06 giu 2011 - 12:25 - #13
    0 punti
    Up Down

    @ekerazha #12
    Cosa vuoi che ti dica? È più semplice installare e configurare un server (che
    magari deve essere raggiungibile anche via internet per chi sviluppa fuori da
    una LAN/VPN) che magari includa apache ed openssl giusto da evitare sorpresine
    sgradite, magari non si committ-a se sei connesso via GSM, magari è mooolto
    difficile fare dei branch diversi condivisi (e poi merge-arli nel trunk) se
    vuoi fare qualche esperimento ecc ecc ecc

    Sia con mercurial che con bazaar (che consiglio a chiunque sviluppi di provare)
    la complessità di gestire una soluzione full p2p, senza quindi installare e
    configurare un server, gestire l’autenticazione ecc si riduce a:

    commit verso il tree principale:
    hg/bzr push

    “co” dal tree principale:
    hg/bzr pull

    Certo, è più semplice installare Apache+OpenSSL+ (ev.) MySQL per una gestione
    completa degli accessi o dare accesso ssh ristretto a tutti, distribuire le
    chiavi ecc ecc ecc… Tutto stà al significato della parola “semplice”. Ah,
    certo, fare branch “di test”, poter committ-are ad ogni passo giusto da aver
    un rollback rapido ecc (cosa sconsigliata e mooolto difficile con cvs/svn) non
    è poi molto importante…

    Se mi chiederanno un programmatore farò il tuo nome!

  • Kim Allamandola

    06 giu 2011 - 12:29 - #14
    0 punti
    Up Down

    Errata corrige (’nasidente a blogo e al modo in cui zappa il testo…)

    dentro la workDir

    hg push $RepoDiUnCollega e/o $Repo”Ufficiale”

    hg pull $RepoDiUnCollega e/o $Repo”Ufficiale”

    Ovviamente ognuno commit-a come vuole in maniera del tutto indipendente dai
    sync push/pull.

  • Profilo di ekerazha

    ekerazha

    06 giu 2011 - 16:59 - #15
    0 punti
    Up Down

    Tutto stà al significato della parola “semplice”. Ah,
    certo, fare branch “di test”, poter committ-are ad ogni passo giusto da aver
    un rollback rapido ecc (cosa sconsigliata e mooolto difficile con cvs/svn) non
    è poi molto importante…

    Se mi chiederanno un programmatore farò il tuo nome!

    Per un progetto di piccole dimensioni e con pochi sviluppatori, non serve fare alcun branch e come già detto non serve fare un commit per ogni sciocchezza, si possono fare commit più corposi che, proprio per la natura del progetto, non sono comunque difficili da seguire.

    Ti ringrazio per volermi tenere in considerazione in caso di richieste, ma purtroppo sono già occupato. Mi scuserai inoltre se non ricambierò il favore, considerando le sciocchezze che continui a propinarci in ogni articolo, non me la sento proprio :)

  • Kim Allamandola

    06 giu 2011 - 20:33 - #16
    0 punti
    Up Down

    Un piccolo progetto gestito tra amici non ha bisogno di branch? Ne hai mai
    fatto uno? No perché quando si è in pochi e non si ha un design blindato, cosa
    che si verifica nella stragrande maggioranza dei casi, ognuno vuole seguire una
    propria idea.

    In genere si segue un più o meno definito design di base e poi ognuno si fa per
    i fatti proprio alcune cose personali (un branch appunto) che fa vedere ai
    colleghi e se piacciono le inserisce nel repo “ufficiale” (merge del/dei branch
    la cosa più difficile con cvs/svn).

    Quanto ai commit: più commit fai più tracci ogni cosa fai, più puoi tornare sui
    tuoi passi se sbagli qualcosa. Prova a tornare sui tuoi passi dopo aver
    modificato 600 righe di codice sparse in n file e prova a far lo stesso quando
    né hai solo modificate 4 o 5 e scritte ex-novo una ventina, poi ne parliamo.

    Certo con subversion avendo *solo* un repo condiviso non puoi: devi committare
    solo quando sei più che sicuro che il truck sia funzionante. È un problema
    sbizzarrirsi a sperimentare ecc ecc ecc. Questione di scelte, c’è gente a cui
    piacciono le manette e piace star scomodi e c’è gente a cui piace la libertà…

  • Profilo di ekerazha

    ekerazha

    06 giu 2011 - 21:53 - #17
    0 punti
    Up Down

    Un piccolo progetto gestito tra amici non ha bisogno di branch? Ne hai mai
    fatto uno? No perché quando si è in pochi e non si ha un design blindato, cosa
    che si verifica nella stragrande maggioranza dei casi, ognuno vuole seguire una
    propria idea.

    In genere si segue un più o meno definito design di base e poi ognuno si fa per
    i fatti proprio alcune cose personali (un branch appunto) che fa vedere ai
    colleghi e se piacciono le inserisce nel repo “ufficiale” (merge del/dei branch
    la cosa più difficile con cvs/svn).

    Evidentemente tu ed i tuoi amici non siete in grado di fare un minimo di pianificazione. A casa mia prima si discute e poi eventualmente si implementa, si usa il cervello e non si picchiano i tasti come farebbero delle scimmie.

    Quanto ai commit: più commit fai più tracci ogni cosa fai, più puoi tornare sui
    tuoi passi se sbagli qualcosa. Prova a tornare sui tuoi passi dopo aver
    modificato 600 righe di codice sparse in n file e prova a far lo stesso quando
    né hai solo modificate 4 o 5 e scritte ex-novo una ventina, poi ne parliamo.

    Certo con subversion avendo *solo* un repo condiviso non puoi: devi committare
    solo quando sei più che sicuro che il truck sia funzionante. È un problema
    sbizzarrirsi a sperimentare ecc ecc ecc. Questione di scelte, c’è gente a cui
    piacciono le manette e piace star scomodi e c’è gente a cui piace la libertà…

    Non c’è nemmeno bisogno di una nuova risposta, ti basta rileggere le ultime 3 righe del mio precedente intervento.

  • Profilo di ekerazha

    ekerazha

    06 giu 2011 - 21:56 - #18
    0 punti
    Up Down

    Pardon… le *prime* 3 righe :)

  • Kim Allamandola

    07 giu 2011 - 10:04 - #19
    0 punti
    Up Down

    Vabbé, inutile discutere, probabilmente sei un esponente degli immobilisti:
    coloro che pensano in teoria (la pratica non funziona mai, ma è colpa di
    altri…) e che vorrebbero tutto fermo ai loro anni d’oro “che allora si, le cose
    funzionavano”…

    Non ho *mai* visto un progetto dove *tutto* il design viene fatto ed ultimato
    prima di scrivere la prima riga di codice e da allora non si cambia nulla non
    si esperimenta nulla ecc; ci si limita alla pura implementazione del design di
    partenza. Queste cose le ho lette sui libri, e quelli più seri (chesò, Brooks)
    non si fan pudore a dire che tra teoria e pratica c’è una certa sostanziale
    differenza.

    Nel Mondo Reale®, quello cui sostieni io non appartenga, di deciso, quando va
    bene, c’è il design di base: il “telaio”, il resta cambia n volte in corso
    d’opera (e spesso si aggiusta pure il design di base) e si fanno n-mila rami
    più o meno privati parti dei quali si uniscono al tree principale. I dCVS sono
    nati proprio per facilitare questo. La stessa evoluzione di Darwin descrive
    come nel Mondo Reale® ci siano “prove” e “passi falsi”; forse anche Darwing
    viveva in un mondo immaginiario…

  • Profilo di guiodic

    guiodic

    07 giu 2011 - 14:33 - #20
    0 punti
    Up Down

    usare launchpad con bazaar è macchinoso, l’unico vantaggio è la possibilità di creare i PPA daily che sono molto comodi. Per il resto tutti gli altri servizi sono molto più semplici e spesso e volentieri con più funzionalità.

  • apeacox

    07 giu 2011 - 14:39 - #21
    0 punti
    Up Down

    @Kim #4: qualche correzione su github:

    * offre la gestione di bugs, features, commenti sul codice, etc.. anzi, è più avanzato e comdo di launchpad in questo (almeno imho);
    * offre la possibilità di pubblicare pagine statiche (ed esistono decine di tools per gestire un blog staticamente, quindi non trovo che sia un grosso problema)
    * il fatto che sia diffuso, non vuol dire che che la gente lo usa solo perchè non conosce gli altri. personalmente ho sempre evitato i vari SVN/CVS finchè possibile. bazaar non mi è piaciuto, mercurial non lo conosco perchè statisticamente mi capita di trovare i progetti che mi interessano su git.

    infine, non riesco a capire perchè molte persone trovano che git sia complesso. personalmente lo trovo molto immediato, anche quando mi capita di usare features più avanzate (rebase, reset, etc..).

  • Kim Allamandola

    07 giu 2011 - 20:56 - #22
    0 punti
    Up Down

    Grazie per le precisazioni su GitHub, non l’ho mai considerato granché non
    usando Git; non sapevo offrisse la possibilità di mini siti-vetrina statici,
    non né ho mai visti per i progetti GitHub che uso, come non sapevo fosse
    integrato con git a-la-bazaar (es. registrare un branch, annotare un fix nel
    bugzilla ecc).

    Sulla complessità di git, bé quanti binari ha git rispetto a mercurial/bazaar?
    Git sono sui 140+ binari contro 1, già questo è una certa complessità :-)
    Al di la di ciò perché non mi basta “git add .” come faccio con bazaar/mercurial
    perché i branch devono essere “view”, perché non posso avere numeri di versione
    ma solo hash, perché ho pezzi di sintassi invertita rispetto agli altri dCVS (es
    pull vs fetch) ecc.
    Non è l’unico outsider, anche monotone ha una sintassi “sui generis”, però è
    assai meno noto di git, cosa che mi porta a pensare che git sia noto più grazie
    al suo sviluppatore principale che non grazie alle sue caratteristiche, anche
    se ovviamente è solo un’opinione estemporanea senza prove :-)

    Certo git per progetti come Linux avrà i sui vantaggi ma per la maggior parte
    dei progetti non credo (e progetti grossi come IllumOS o il vecchio OSol con
    mercurial stan benissimo, cosiccome Ubuntu o MySQL o Inkscape stan bene con
    bazaar) in più chi viene da svn/cvs sia con mercurial che sopratutto con bazaar
    si trova “subito” a casa.

    La cosa che più m’ha colpito cmq è la posizione di ekerazha su svn, che tanti
    siano ancora su svn perché “migrare è faticoso” l’ho sentita spesso, che si
    torni da mercurial al vecchio svn è la prima volta che lo sento!

  • Profilo di ekerazha

    ekerazha

    08 giu 2011 - 08:22 - #23
    0 punti
    Up Down

    Vabbé, inutile discutere, probabilmente sei un esponente degli immobilisti:
    coloro che pensano in teoria (la pratica non funziona mai, ma è colpa di
    altri…) e che vorrebbero tutto fermo ai loro anni d’oro “che allora si, le cose
    funzionavano”…

    Blah blah blah… non so se l’hai notato, ma te la canti e te la suoni da solo.

    Non ho *mai* visto un progetto dove *tutto* il design viene fatto ed ultimato
    prima di scrivere la prima riga di codice e da allora non si cambia nulla non
    si esperimenta nulla ecc; ci si limita alla pura implementazione del design di
    partenza. Queste cose le ho lette sui libri, e quelli più seri (chesò, Brooks)
    non si fan pudore a dire che tra teoria e pratica c’è una certa sostanziale
    differenza.

    Nel Mondo Reale®, quello cui sostieni io non appartenga, di deciso, quando va
    bene, c’è il design di base: il “telaio”, il resta cambia n volte in corso
    d’opera (e spesso si aggiusta pure il design di base) e si fanno n-mila rami
    più o meno privati parti dei quali si uniscono al tree principale. I dCVS sono
    nati proprio per facilitare questo. La stessa evoluzione di Darwin descrive
    come nel Mondo Reale® ci siano “prove” e “passi falsi”; forse anche Darwing
    viveva in un mondo immaginiario…

    Vorresti fare sofismi sulla differenza tra la teoria e la pratica e mi vieni a dire che è in un certo modo perché l’hai letto su un libro? Si parla di piccoli progetti con pochi sviluppatori e mi vieni a parlare di n-mila rami? Cosa fai, un ramo per ogni riga di codice? Inoltre, nessuno ha detto che non si possa cambiare nulla in corsa, ma anche eventuali modifiche vanno discusse prima di picchiare i tasti. Questo è un modo intelligente di operare.

  • apeacox

    08 giu 2011 - 17:04 - #24
    0 punti
    Up Down

    @kim #22 : grazie a te per la risposta ;)

    per quel poco che posso dire in merito a git (e github), lavorando nel mondo ruby/rails, per me è praticamente una scelta obbligata (il 99% dell’ecosistema è su git). avendo provato in modo superficiale altri VCS (svn e bazaar), stranamente ho notato che con git mi sono trovato subito a mio agio, con gli altri mi sentivo troppo *legato*.

    apprezzo molto il fatto che sia abbastanza immediato forkare un progetto, creare/modificare branch e fare una pull-request senza troppi sbattimenti.

    usandolo quotidianamente, almeno nel mio caso, non mi limito al semplice “git init .”, anzi… :P

    ovviamente è anche questione di gusti ed abitudini ;)

  • Kim Allamandola

    08 giu 2011 - 23:27 - #25
    0 punti
    Up Down

    @apeacox #24
    Mi fa piacere sentire un rubysta; sono un fan di ruby anche se per alcune sue
    caratteristiche non lo uso come Linguaggio Preferito® (gestione unicode per lo
    più) ma è stata la mia ancora quando decisi che era inutile restare sul Perl…

    Bé se hai iniziato con git è naturale ti ci trovi: è più complesso di bazaar o
    mercurial ma non è mal fatto! È solo stato pensato per le necessità di uno
    specifico progetto (Linux) dopo che Linus Torvalds litigò con Larry McVoy di
    BitMover per il suo vcs proprietario (BitKeeper) usato da Linus sino ad allora;
    poi si è evoluto ma ha mantenuto quel suo design un po’ sui generis che per chi
    come me veniva già da dCVS (Mercurial all’epoca) fa storcere il naso cosiccome
    fa storcere il naso monotone :-(

    Bazaar ha di suo due caratteristiche che forse ti possono interessare:
    * il repo locale condiviso
    * il branching senza view
    puoi creare un repo con bzr init ma poniamo il caso tu abbia n branch sulla tua
    macchina di sviluppo: senza deduplicazione hai molto spazio disco sprecato che
    per progetti ROR grossi sui costosi ssd attuali potresti voler risparmiare; con
    Bazaar puoi andare un una dir chesò “prjs” contenente tutti i progetti che hai
    con Bazaar e dare bzr init-repo al suo interno: tutti i branch che creerai con
    bzr init e successivi branch non occuperanno spazio disco in più, verranno
    salvati solo i delta dei singoli branch. Poi non avendo view non dovrai fare
    cose “curiose” come checkout HEAD ecc. :-)

    Ad ogni modo oggi si può mescolare git bazaar e mercurial senza troppe
    bestemmie sulle stesse source senza dover fare lunghi import di volta in volta!

    @ekerazha #23
    non credo abbia senso continuare, la differenza tra teoria e pratica la vedo
    tutti i giorni e anche se così non fosse quando gente del calibro di Brooks o
    Raymond perdono tempo a favore di una certa tesi un’occhio forse vale la pena
    di darcelo. Se per i tuoi progetti riesci bene con svn, tanti auguri, sei il
    primo che sento. Tieni solo presente che o svilupperai svn da solo o nel giro
    di qualche anno avrai sempre più problemi a stare al passo con un mondo che
    cambia…

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento