Controllo di versione, Git e Svn

Post on 08-May-2015

2.654 views 1 download

description

Una panoramica e comparazione sulle funzionalita' di Git e Svn

Transcript of Controllo di versione, Git e Svn

Controllo di versioneSvn / Git

alessandro cinelli (cirpo)

Chi sono

• sviluppatore Php, Javascript e Java

• membro Lugbs, Grusp, symfony-it

• traduttore documentazione symfony, zend framework e ProGit

• sviluppatore progetto phpCollab

• single : )

disclaimer

Controllo di versione

• chi ha fatto cosa

• quando

• perche’

“old style”

• copia locale/ftp/cartella condivisa

• index.prova.html / index.bak / index.html09102010

“e’ l’ultima versione, gigi ha caricato le sue modifche lunedi?” “bho, controllo”

“hai caricato l’ultima versione?”

“con le ultime modifiche non funziona piu’ nulla!!!”

• “hai fatto le modifiche, dove sono?”

Terminologia

• repository

• trunk tags branches

• checkout

• working copy

• commit

• update

SVN

• no symlinks

• no rinomina dir o files

• supporto limitato unicode

• concetto limitato di branch

• no atomic commit

Problematiche CVS :

SVN

SVN

ESEMPI

GIT

cvs -> svn -> git ?

NO!!!

GIT (dvcs)

GIT

• velocità

• design semplice

• incentrato su uno sviluppo non lineare

• distribuito

• gestione di grandi progetti (es. kernel linux)

• integrita’

SVN / CVS

GIT

GIT

GIT

GIT

GIT

GIT

GIT

github

GIT

• clone

• branch

• merge

• push

• pull

Terminologia:

GIT

ESEMPI

GIT

• Backup / point of failure

• Velocità creazione branch

• Velocità merge

• Workflows vari

• Gestione progetti / contributi

• GitHub

Pros:

GIT

• Scarso supporto sistemi operativi non Unix

• Gui incomplete

• No checkout singole directory

• No merge automatico

• No externals

• Scarse prestazioni su protocollo Http

Cons:

GIT-SVN

domande ?

grazie a tutti :)

• alessandro.cinelli@gmail.com

• twitter.com/cirpo

• http://delicious.com/cirpo

• http://it.linkedin.com/in/cinellialessandro

• http://webdebs.org

• http://groups.google.com/group/webdebs