[voikko] Git-kokeilu
Harri Pitkänen
hatapitk at iki.fi
Wed Feb 13 17:47:20 EET 2008
On Wednesday 13 February 2008, Teemu Likonen wrote:
> Kokeilin kopioida git-svn-ohjelmalla koko Voikon Subversion-repositoryn
> omalle koneelleni Git-repositoryksi. Ajoin sen jälkeen "git
> gc" -komennon, joka optimoi repositoryn. Olin lukenut, että Git
> tallentaa tiedon aika tiiviisti, mutta minulle oli silti yllätys, että
> koko Voikon repository ja koko sen historia (r1 - r1991) vie levytilaa
> vain 34 megatavua. Mukana on kaikki tagit ja haarat (branch) sekä
> esillä uusin "working copy" trunk-hakemistosta.
>
> Vertailun vuoksi pitää mainita, että pelkkä Voikon
> Subversion-repositoryn uusin (r1991) "working copy" sekä tarvittavat
> metatiedot (.svn) vievät tilaa 187 megatavua - siis kokonaan ilman
> aiempaa revisiohistoriaa.
Jottei nyt kuitenkaan jäisi sellaista kuvaa, että Subversion olisi liian
tuhlailevainen levytilan käytössä, niin koko Voikon versiohistoria
Subversionin omassa fsfs-repositoryformaatissa mahtuu tällä hetkellä 46
megatavuun. Tätäkään formaattia ei erityisesti ole optimoitu levytilan
käyttöä silmällä pitäen: sen saa tar.bz2-pakettina mahtumaan 10 megatavuun.
Näin vähän olemme siis saaneet aikaiseksi reilussa kahdessa vuodessa :)
> Tarkoitukseni ei ole ehdottaa siirtymistä Gitin käyttöön. Se tuskin
> toisi Voikon kehitykseen mitään lisähyötyä. Sitä paitsi Subversion
> taitaa olla paremmin tuettu eri käyttöjärjestelmissä, ja ehkä se on
> hieman helpompi oppiakin. Jos joku kuitenkin haluaa itse käyttää Gitiä,
> niin se näyttäisi toimivan Voikon SVN-repositoryn kanssa. Kokeilin jo
> pari commitia Git-repositorysta Voikon Subversioniin ("git svn
> dcommit"), ja se näyttäisi toimivan hyvin. Muutokset
> Subversion-repositorysta omaan Gitiin ajetaan komennolla "git svn
> rebase". Git on nopea käyttää, koska nettiyhteyttä ei tarvita muuhun
> kuin varsinaisen commit-tiedon päivittämiseen.
Gitissä on kyllä joitakin hyviä puolia, joista minulle olisi silloin tällöin
ollut hyötyäkin. Esimerkiksi openoffice.org-voikon Windows-paketteja varten
minun on ylläpidettävä joitakin muutoksia, jotka eivät sovellu Voikon
virallisiin versioihin. Näitä olisi paljon helpompi ylläpitää gitin avulla.
Toisaalta teen Windows-pakettien kanssa töitä ehkä kolmena päivänä vuodessa,
joten ongelma ei ole mitenkään valtava.
Git (ja muut hajautetut versionhallintajärjestelmät) ovat kyllä ylivoimaisia
siinä, että ne toimivat erittäin hyvin ilman, että käyttäjä tarvitsee
kirjoitusoikeutta projektin "viralliseen" versionhallintajärjestelmään. SVN:n
kanssa vain ne, joilla on commit-oikeus, voivat kunnolla osallistua
kehitystyöhön. Tältä osin git voisi madaltaakin osallistumiskynnystä Voikon
kehitykseen.
Ilmeisesti on totta, että git toimii varsin paljon huonommin Windowsissa kuin
Linuxissa. Toisaalta en tiedä, onko kukaan koskaan työskennellyt Voikon
versionhallinnan parissa Windowsissa, vaikka se olisi ollut mahdollista. Itse
olen pitänyt työkopiota aina Linux- tai OS X- koneella (svn tulee myös OS X:n
kehitystyökalujen mukana, mikä on oikein mukava asia).
Tuttuus on varmasti svn:n paras puoli. Sitä osaavat käyttää (tai ainakin
oppivat nopeasti) lähes kaikki, jotka ovat koskaan versionhallinnan kanssa
olleet tekemisissä. Git on vähän kummallisempi ja vaatii enemmän
perehtymistä.
Kun versionhallintajärjestelmä kuitenkin on niitä keskeisempiä
kehitystyökaluja, niin kannattaa toki aika ajoin tutkailla vakavasti parempia
vaihtoehtoja. Näkisin, että git saattaa hyvinkin nousta jossain vaiheessa
siihen asemaan, että mekin voisimme siihen siirtyä. Mutta ehkäpä ei vielä
ihan lähitulevaisuudessa.
Harri
More information about the voikko
mailing list