[voikko] Lähdekoodien siirto git-versionhallintaan

"Harri Pitkänen" hatapitk at iki.fi
Tue Jun 26 23:19:55 EEST 2012


SourceForgen nykyiset ongelmat sekä syksyllä tapahtuva keskitetysti
ylläpidetyn Trac-palvelun alasajo ovat vihdoin ajaneet minut aloittamaan
Voikon lähdekoodien siirron gitiin.

Päädyin perustamaan Voikko-projektille "organisaation" GitHub-palveluun:

  https://github.com/voikko

Tiedän, että vaihtoehtojakin (esim. Gitorious) on olemassa, mutta
GitHubista löytyy työkalut bugiraporttien käsittelyyn, mikä tässä
tapauksessa on oleellista. Molemmista palveluista saa kaiken oleellisen
tiedon kopioitua talteen, eli pysyvää riippuvuutta palveluun ei synny.
Lähdekoodien osalta valitulla palvelulla ei ole muutenkaan merkitystä,
koska git on hajautettu eli jokainen saa halutessaan kloonata koodit
muuallekin, jos ei itse halua GitHubin kanssa olla tekemisissä.

Olen siirtänyt GitHubiin kaksi yksinkertaista SVN:ssä ollutta
aliprojektia. Nyt SVN:ssä jäljellä olevista trunkin alaisista
hakemistoista "debian", "mozvoikko", "ooovoikko" ja "tmispell" voidaan
vielä siirtää samalla tavalla.

Sitten homma meneekin hankalammaksi. Vaikka Suomi-malaga ja libvoikko ovat
näennäisesti toisistaan riippumattomia, todellisuudessa niitä kehitetään
kuin yhtä projektia. Esimerkiksi bugien jäljittäminen bisect-toiminnolla
ei ole järkevää, jos käytetään vakioversiota libvoikosta ja tutkitaan
pelkkiä Suomi-malagan muutoksia, tai päinvastoin. Tästä syystä ehdotan,
että Voikon ydinosat ja oleellisimmat kehitystyökalut (data, libvoikko,
suomimalaga, tests, tools) pidetään kehitystyön helpottamiseksi
jatkossakin yhdessä projektissa.

Nähdäkseni ainoa käytännön ongelma tässä syntyy siitä, että ennestään
SVN:ssä olevat tagit esim. libvoikosta sisältävät vain libvoikon koodit.
Jatkossa tagit, vaikka ne tehtäisiinkin pelkästään libvoikon julkaisua
varten, sisältävät kaikkien ydinosien tilan tietyllä hetkellä. Eli en
tiedä, osaanko siirtää automatisoidusti SVN:tageja git-järjestelmään tämän
ydinprojektin osalta. Ne siis jäävät toistaiseksi varmaan siirtämättä,
ellei joku muu tällä listalla keksi tähän toimivaa loitsua? Joka
tapauksessa niitä voi luoda jälkikäteenkin katsomalla sopivat aikaleimat
SVN:n tageista.

Ydinprojektin GitHub-wiki korvannee käyttämämme Trac-wikin. Siirron näiden
välillä pitäisi onnistua jonkin työkalun avulla. Avoimia bugiraportteja on
melko vähän, joten ne luultavasti kopioin manuaalisesti. Tracin
roadmap-toiminto ei viimeiseen pariin vuoteen ole ollut käytössä, joten
sen voi unohtaa.

SVN:stä saatiin halukkaille lähetettyä sähköpostia tehdyistä muutoksista.
Vastaava onnistuu periaatteessa myös GitHubissa, mutta ehkä helpompaa on
seurata projektin RSS-syötettä CIA-palvelussa. Tämä on muuten ollut
mahdollista jo melko pitkään, sitä vain ei ole tullut tällä listalla
mainostettua:

  http://cia.vc/stats/project/voikko

SVN:n commit-oikeuksia ei periaatteessa GitHubissa enää tarvittaisi, mutta
minusta olisi silti hyvä, että riittävän monella olisi push-oikeudet
tuonne GitHubiin. Annan oikeudet (voikko-organisaation jäsenyyden)
pyynnöstänne kaikille niille, joilla nykyään on commit-oikeus Voikon
SVN-repositoryyn. Tämä tietysti edellyttää GitHubiin rekisteröitymistä.
Tämän laajemmin oikeuksia tuskin tarvitsee jatkossa jakaa, koska pull
requestien avulla työskentely on gitissä luonteva tapa toimia.

Projektin web-sivut sekä lähdekoodipakettien levitys jäävät nähtävästi
vielä SourceForgeen (siitäkin huolimatta, että jälkimmäinen palvelu ei
tällä hetkellä toimi oikein). Samoin www-sivujen lähdekoodit (SVN:ssä). En
tiedä, onko tämä hyvä ratkaisu, mutta juuri nyt en jaksaisi lähteä ihan
kaikkea muuttamaankaan.

Harri




More information about the voikko mailing list