wiki:lab-intro

Version 3 (modified by Leon Kos, 12 years ago) (diff)

Predstavitev Subversion

Razvojno okolje za laboratorijske vaje

Predstavitev okolja

Namestitev navideznega računalnika

Predstavitev orodij

Makefile

Razhroščevalnik

Subversion

Subversion je sistem za sledenje spremembam izvorne kode, ki omogoča sočasno delo na skupnem projektu. Pri vsaki shranitvi na SVN strežnik, se shranijo le spremembe datotek, ki so bile dane pod nadzor. S hranjenjem vseh verzij izvorne kode je tako lažje nadzorovati razvoj projekta, slediti spremembam in oceniti njihov vpliv na delovanje celotnega projekta. Ker se hranijo vse verzije določene datoteke, lahko tako delamo le na eni datoteki, ne da bi bilo potrebno shranjevanje stabilnih ali kako drugače pomembnih verzij datoteke. Način dela je tako lahko časovno in prostorsko razporejen. Delo na projektu je s Subversion enostavno razdeliti na manjše naloge, ki jih ob vsaki shranitvi na strežnik na kratko opišemo kot delo, ki ga poslane spremembe kode opravijo.

Datoteke ki so že pod kontrolo SVN lahko prosto urejamo z urejevalnikom. Stanje datotek v imeniku SVN izpišemo z ukazom

svn status
?      rezultat.dat
M      vaja
M      vaja1.c

Vprašaj pred imenom pomeni, da datoteka ali imenik ni pod SVN nadzorom in za take datoteke so možni naslednji ukrepi:

  1. Ne zmenimo se za opozorilo. Ker pri večjem številu opozoril lahko kakšno pomembno datoteko spregledamo to ti priporočljiv način dela
  2. Če je datoteka pomembna in se je ne da enostavno izpeljati (prevesti) iz drugih datotek, se datoteko da pod SVN nadzor z ukazom svn add datoteka
  3. Nastavimo, katere datoteke se v imeniku ignorirajo. To je priporočeno za vse datoteke, ki so rezultat pretvorbe ali so pomožnega tipa. V imeniku nastavimo spregledovanje datotek z ukazom svn pe svn:ignore .

V zgornjem primeru dodamo ignoriranje za vse datoteke s končnico *.dat in vaja1

Datoteke, ki so spremenjene (Modified) imajo pred imenom črko M, kar pomeni, da je lokalna kopija različna od tiste, ki smo jo nazadnje osvežili z ukazom

svn update

Če želimo izpis naših popravkov to naredimo z ukazom

svn diff datoteka.c

ali samo svn diff za vse spremembe v spremenjenih datotekah.

Svoje spremembe pošljemo na SVN strežnik z ukazom

svn ci -m "Spremenjen format izpisa"
Sending        vaja1.c
Transmitting file data ..
Committed revision 260.

Pri tem se pošljejo na strežnik spremembe vse spremembe spremenjenih datotek. Datoteka vaja1 je bila pod nadzorom in se je vseeno poslala, kot sprememba, čeprav je bilo dodano vaja1 v svn:ignore, kar pomeni, da je svn:ignore le pomoč pri izpisu stanja in ne izključuje datotek, ki jih ročno damo pod SVN kontrolo. Za datoteko vaja1 je bilo to narejeno pomotoma saj izvršnih datotek ne shranjujemo na stražnik, zato lahko z ukazom

svn del vaja1

hkrati lokalno pobrišemo in označimo datoteko vaja1 za brisanje na strežniku, kar vidimo pri izpisu kot črko D pred datoteko:

svn status
D      vaja1

Novo datoteko damo pod kontrolo z ukazom

svn add datoteka

Podobno velja za imenike in preimenovanja/kopiranja/premikanja datotek kjer uporabimo ukaz

svn mv prvotno.ime novo.ime
svn copy prvotno.ime kopija.ime

kar je bolje uporabiti kot pa ukaza ADD/DEL saj je pri tem možna sledljivost verzij od prvotne pa vse do zadnje verzije posamezne datoteke, ki se je premikala po imenikih, preimenovala ali kopirala.

Trac

Prvi koraki v C-ju

OpenGL primer

Attachments (2)

Download all attachments as: .zip