[voikko] Git- ja bzr-kokeilu

Teemu Likonen tlikonen at iki.fi
Sun Feb 17 13:16:32 EET 2008


Teemu Likonen kirjoitti:

> (Sivuhuomautus: Gitissä commit-tunnukset ovat SHA1-koodeja,
> esim. "f63b1d8b62ea72504f85e003817e67012ff7df3b". Sama tunnus
> tarkoittaa täsmälleen samaa commitia kaikkialla maailmassa, koska
> SHA1-koodin laskemiseen käytetään paitsi kyseisen commitin kaikkea
> tietoa mutta myös sitä edeltävän commitin koodia. Commit-tunnukset
> siis tavallaan sisältävät koko repositoryn siihenastisen historian.)

Tähän puheeseen gitin "sisäisestä kauneudesta" kannattaa vielä lisätä 
tarkennus, että sama commit-tunnus kahdessa eri paikassa (esim. eri 
henkilöillä) tarkoittaa myös sitä, että molemmissa on täsmälleen sama 
commit-historiakin (ainakin kyseiseen commitiin saakka).

Voi siis vaikka todeta, että "minusta Suomi-Malaga
  f63b1d8b62ea72504f85e003817e67012ff7df3b
on julkaisuvalmis". Paitsi että kaikissa haaroissa (eri henkilöillä 
jne.) kyseisen commitin osoittama hakemistopuu on identtinen, myös koko 
sen historia on identtinen riippumatta millaisia ristiin rastiin 
merge-sotkuja on harrastettu välillä.

Bzr:ssä ei ole näin helppoa tapaa osoittaa asioita universaalisti. Bzr:n 
revid:t (ne pitkät ja yksilölliset) voivat olla eri haaroissa eri 
järjestyksessä eivätkä ne siten universaalisti osoita hakemistopuun 
tilaa eivätkä historiaa. Tästä seuraa, että hajautetussa mallissa pitää 
selittää pidemmällä ja epävarmemmalla tavalla, että "kun yhdistin nuo 
ja nuo haarat silloin ja silloin, niin tuloksena oleva lähdekoodipuu on 
minusta julkaisuvalmis". Keskitetyssä mallissa voidaan toki viitata 
johonkin pääpalvelimella tai -henkilöllä olevaan haaraan tms.

Olen nyt puhunut vain gitin toteutuksen sisäisestä, universaalista 
kauneudesta sekä käytännöllisyydestä, joka siitä seuraa. Bzr ei ihan 
pärjää sille tässä asiassa, mutta ei se mitenkään huono työkalu ole, 
päinvastoin.



More information about the voikko mailing list