Versionhallintaa

Amazon muisti firmaa keskiviikkona odottamani kirjan muodossa ja koko torstaipäivä kuluikin sitten säätäessä henkilökohtaisille "vapaa-ajan" projekteilleni CVS:ää.

Vaikka totesinkin kuulemani/lukemani kommentit CVS:n jyrkästä oppimiskäyrästä todeksi, nyt en voi sanoa muuta kuin että olen erittäin tyytyväinen päivän uurastukseen ja opetteluun. Nyt yksi tärkeimmistä ohjelmointiprojekteistani (ihan oikeasti käytössä oleva kassajärjestelmä) on kaikilta osiltaan kokonaisuudessaan CVS:ssä ja ainoa harmittava asia on se, etten tehnyt tätä jo puoli vuotta sitten kun aloitin tuon systeemin koodaamisen – nyt parin-kolmen ensimmäisen tuotantoversion lähdekoodit ovat kadonneet taivaan tuuliin kun "jouduin" tekemään muutoksia melko kiireellä enkä ottanut aiemmista lähdekoodeista kopiota talteen.

Kassajärjestelmän PHP:llä tehtyä raportointi/hallintapuolta CVS:ään siirtäessäni totesin, että joudun hiukan opettelemaan uusia toimintatapoja CVS:n kanssa. Tähän saakka minulla on ollut itsetekemiäni yleiskäyttöisiä kirjastoja (esim. "uutismokkula") joita olen sitten suoraan kopioinut projektista toiseen mahdollisesti lisäillen/muokaten kunkin projektin tarpeita vastaavaksi. Nyt aion saada tuollaisetkin versionhallinnan piiriin, mutta siinä on vielä tekemistä.

Jotkut pitävät CVS:ää liian hardcore-ratkaisuna yhden henkilön projekteihin, mutta itse en näe asiassa mitään ongelmaa. Enemmän säätämistä aiheuttaisi ensin laittaa kasaan yksi systeemi ja sitten ruveta muuttamaan sitä jos ja kun joskus jotain projektia tekeekin useampi kuin yksi kehittäjä.

Kaikenkaikkiaan olen kokenut valaistuksen ja tosiaan harmittelen, etten ole tehnyt tätä aiemmin.

CVS:ään liittyviä linkkejä:
http://www.cvshome.org – CVS:n koti
Open Source Development with CVS, 3rd Edition – GPL-lisenssillä PDF-muodossa julkaistu CVS-kirja
Concurrent Versions System @ ODP – Kaikki loput ;)