[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