Git vs. Subversion
Recent am început să mă joc cu Git, observând o tracţiune puternică pentru acest SCM în mediul Rails (Cristi fiind un fan declarat). În plus, are un suport mult mai bun pentru lucrul cu Subversion decât Mercurial, e distribuit şi am şi un cont pe GitHub.
Aşa că am importat recent toată istoria repository-ului de Subversion companiei pentru care lucrez într-un repository de Git. Adică fiecare din cele 4500 de revision-uri de Subversion a devenit un revision în Git, cu mesaje de commit, cu tot.
Câteva statistici interesante:
$ time git svn fetch
real 153m28.979s
user 7m11.699s
sys 20m49.202s
$ ls -la .git/objects/pack/
total 237312
drwxr-xr-x 4 andrei andrei 136 Feb 24 12:27 .
drwxr-xr-x 168 andrei andrei 5712 Feb 24 12:27 ..
-r--r--r-- 1 andrei andrei 848120 Feb 24 12:27 pack-100340e5366e240a8d649e4f56b6ecec93193b7c.idx
-r--r--r-- 1 andrei andrei 120650415 Feb 24 12:27 pack-100340e5366e240a8d649e4f56b6ecec93193b7c.pack
Repository-ul sursă (cel din Subversion) are vreo 400 MB şi HEAD-ul are aproximativ 130 MB. Şi mai mic, şi distribuit şi (chestia care m-a câştigat): face tracking pe content, nu pe fişiere.
si nu are foldere .svn peste tot…