Valdyk savo kodą su Subversion

Neįsivaizduoju profesionalaus IT projektų vystymo be kodo kontrolės priemonių. Nesvarbu, ar dirbi prie mažo asmeninio projektėlio, ar didelės komercinės taikomosios programos, kodo kontrolė yra tai, kas tau padės suvaldyti krūvas nuolat besikeičiančio kodo tarp daugelio kūrėjų. Tai yra, taip sakant, ATŠAUKTI funkcionalumas programavimo procese.

Kaip suvaldyti projektą tarp daugelio kūrėjų?
Kodo kontrolė turi talpyklę (angl. repository), kur laikomi kuriami failai ir kūrimo proceso duomenys. Kiekvienas kūrėjas dirba su tos talpyklės kopija. Standartiškai darbas kontroliuojant kodą vyksta taip:

  1. Pasigriebi failus iš talpyklės į savo vietinę kopiją. Šis procesas vadinamas “check-out” (pirmą kartą) arba “update” (kitus kartus).
  2. Redaguoji failus.
  3. Pasitikrini statusą, kokius failus pakeitei. Jei buvo sukurta naujų failų, juos gali pridėti į kodo kontrolę arba įrašyti į ignoruojamų failų sąrašą, kad statuso raporte jie daugiau nebepasirodytų.
  4. Tuomet tu patvirtini pasikeitimus ir jie iš tavo kopijos nusiunčiami į talpyklę. Šis procesas vadinamas “commit” arba “check-in”.

Sulig kiekvienu patvirtinimu, kodo kontrolė sukuria naujas redaguotų failų versijas. Pakeitimų patvirtinimas sugeneruoja naują reviziją (angl. revision) su automatiškai didėjančiu numeriu. Jei padarai klaidą, tu visada gali sugrįžti (angl. rollback) į buvusią kūrimo būseną pagal revizijos numerį arba datą, kada patvirtinimas buvo padarytas. Su kiekvienu patvirtinimu tu gali (ir turėtum) parašyti komentarus, kas buvo pakeista tai revizijai, tam kad vėliau būtų kur kas lengviau surasti reviziją į kurią galėtum sugrįžti. Taip pat kodo kontrolė dažniausiai leidžia pažiūrėti to paties failo pakeitimus tarp dviejų revizijų.

Talpyklė gali būti sukonfigūruota arba tame pačiame kompiuteryje arba nutolusiame serveryje. Failai gali būti kontroliuojami tiek vienam žmogui, tiek dideliam kūrėjų tinklui.

Kai pora kūrėjų modifikuoja tą patį failą, kodo kontrolė bando apjungti (angl. merge) pakeitimus faile. Jei tai nėra akivaizdu, parodomas konfliktas ir kūrėjai turi jį išspręsti savo galva. Kodo kontrolė nepriima jokių konfliktų į talpyklę. Jie turi būti ištaisyti lokaliose kopijose prieš galimybę patvirtinti pakeitimus.

Kai projektas kuriamas daugelio žmonių, yra galimybė patikrinti, kas padarė kokius pakeitimus. Taip pat yra kitų kodo kontrolės funkcionalumų, kaip kad visų failų dabartinėje revizijoje žymėjimas (angl. tagging) tam tikra simbolių eilute (pvz., laidos numeriu); skirtingų to paties projekto atšakų (angl. branch) kūrimas, arba dviejų skirtingų atšakų apjungimas (angl. merging) į vieną.

Tarp galybės kodo kontrolės sistemų aš mėgstu Subversion (SVN), kadangi ji pilnai atidirbta, patogi, stabili, o taip pat – nemokama.

Studijoje, kur dirbu, SVN naudojam CreativeCityBerlin ir kitiems projektams su Django. Talpyklė yra apsaugotam ir kiekvieno naudotojo autentikacijos prašančiame serveryje. Naudojam įvairius SVN klientus skirtingoms platformoms. Aš dažniausiai dirbu su standartiniu komandinės eilutės SVN klientu mano kūrimo aplinkoj (ant Mac OS X) ir viešame serveryje (ant Linux), kuriame laikomos svetainės. Kai kurie iš mūsų naudoja ZigVersion SVN klientą Mac’ui. Kai kurie – TortoiseSVN Windows’ams.
Daugelis, naudojantys SVN

Kaip mažą žingsnelį tolimesnio Halmos žaidimo ir kitų projektų kūrimo link, susidiegiau TortoiseSVN ir savo asmeniniame laptope. Nesu vienintelis asmuo, kuris gali patvirtinti, kad TortoiseSVN yra pats patogiausias SVN klientas žemėje šiuo metu.

Jis yra pilnai integruotas į Windows Explorer ir yra labai intuityvus. Visos kodo kontrolės funkcijos yra pasiekiamos per dešiniojo mygtuko meniu. Failų statusai yra pažymėti specialiais indikatoriais, prikabintais prie failų piktogramų (ikonėlių).

Tortoise SVN

Įdiegęs TortoiseSVN savo kompiuteryje, susikūriau talpyklę savo Halmos žaidimui lokaliai. O taip pat prasitestavimui susikūriau viešą talpyklę Google kode savo Klãvos projektui.

Jei dar nepradėjai naudoti jokio kodo kontrolės įrankio, primygtinai siūlau tai padaryt kuo anksčiau. Versijų kontrolę taip pat sėkmingai gali naudoti ne tik IT kūrėjai, bet ir rašytojai, skaitmeninio meno atstovai ar kompozitoriai.

Tags: ,

If you liked this entry, you may also like:

No Responses to “Valdyk savo kodą su Subversion”

  1. ~Karolis says:

    Afigienas straipsniukas. Atrodo pradedu suprast kas tas SVN ir su kuo jis valgomas :)

  2. ~Karolis says:

    P.S. Tas vyrukas “Coding & Administration” paveiksliuke labai į tave panašus. Čia gal tavo darbovietėj kas nors pasidarbavo? :)

  3. Mantas says:

    Jiep, TortoiseSVN yra totaliai geras daiktas. Naudojamės darbe. Nors prie projektų dirba po tris-keturis žmones, be šito toolso būtų visiškas pravalas…

  4. Archatas says:

    Karoli, iliustracijas čia aš vieną naktį savo darbovietėj piešiau.. Šiaip visi žmogeliukai yra mano ir kolegų šaržai ir atspindi realią situaciją. :)

  5. Lucy says:

    Mano developeriai manęs vos neužmušė, kai kažkada priverčiau dirbti su SVN, na o vėliau dėkojo ;)

  6. Lucy says:

    Tarp kitko, labai dideliuose projektuose SVN gali būti ir nelabai patogus. Tada gali tikti kažkas panašaus į Mercurial arba Git.

Leave a Reply