TortoiseSVN je brezplačen odprtokodni program za sistem nadzora različic Subversion. TortoiseSVN upravlja datoteke in mape skozi čas. Datoteke so shranjene v centralnem skladišču. Skladišče je podobno običajnemu strežniku datotek, s to razliko, da si zapomni vse spremembe, ki so bile kadarkoli narejene na datotekah in mapah. To omogoča, da pridobite starejšo različico datoteke in pogledate skozi zgodovino, kako so se podatki spreminjali in kdo je spremembe naredil. Prav zato marsikdo razume Subversion in tudi ostale sisteme za nadzor različic kot neke vrste »časovni stroj«.

TortoiseSVN
Zaslonski posnetek
Stabilna izdaja24 september 2022
Razvojni statusaktivno
Programski jezikC++
OSMicrosoft Windows
TipSubversion client
LicencaSplošno dovoljenje GNU
Spletno mestotortoisesvn.tigris.org

Nekateri sistemi za nadroz različic so posebej prikrojeni za urejanje strukture izvorne kode in imajo veliko zmožnosti, ki so specifične za razvoj programske opreme - na primer razumevanje programskih jezikov ali dodatna orodja za njhovo gradnjo. To so sistemi SCM (software configuration management). Subversion ni tak sistem; je splošen sistem, ki omogoča urejanje katerokoli zbirke datotek, vključno z datotekami izvorne kode.

Zgodovina uredi

Leta 2002 je Tim Kemp ugotovil, da je Subversion zelo dober sistem za nadzor različic, a brez grafičnega uporabniškega vmesnika. Idejo za odjemalca kot lupino sistema Windows je dobil iz podobnega odjemalca za sistem CVS - TortoiseCVS.

Kemp je preučil izvorno kodo aplikacije TortoiseCVS in jo uporabil kot osnovo za TortoiseSVN. Nato je začel s projektom, registriral domeno tortoisesvn.org in objavil izvorno kodo. Med tem časom je Stefan Küng iskal dober brezplačen sistem za nadzor različic in našel Subversion ter izvorno kodo za TortoiseSVN. Ker aplikacija še ni bila primerna za uporabo, se je pridružil projektu in začel programirati. Kmalu je na novo napisal večji del obstoječe kode in začel dodajati nove ukaze in zmožnosti. Prvotna koda je kmalu povsem izginila.

Sistem Subversion je postajal vse bolj stabilen in je pridobival vedno več uporabnikov, ki so uporabljali TortoiseSVN kot odjemalca za Subversion. Število uporabnikov je hitro naraščalo (in raste še danes). Takrat je Lübbe Onken ponudil svojo pomoč in izdelal lepe ikone in logotip za TortoiseSVN. Ureja tudi spletno stran in prevode.

Značilnosti uredi

Integracija z lupino uredi

TortoiseSVN se integrira v lupino operacijskega sistema Windows (v Raziskovalca). Kontekstni meniji TortoiseSVN delujejo v velikem številu upravljalnikov datotek, prav tako pa tudi v pogovornem oknu Datoteka/Odpri, ki se nahaja v vseh standardnih programih sistema Windows. TortoiseSVN je namenoma izdelan kot nadgradnja Raziskovalca, zato je možno, da v drugih aplikacijah ne deluje popolnoma pravilno. Primer so težave pri prikazu prekrivnih ikon.

Prekrivne ikone uredi

Stanje vsake datoteke pod nadzorom različic nakazuje majhna prekrivna ikona. Tako je hitro vidno, kakšno je stanje delovne kopije.

Preprost dostop do ukazov sistema Subversion uredi

Vsi ukazi sistema Subversion so na razpolago v kontekstnem meniju Raziskovalca. TortoiseSVN doda tja svoj lasten pomeni.

Vodenje različic map uredi

CVS upravlja le zgodovino posameznih datotek, Subversion pa ima »virtualni« datotečni sistem pod nadzorom različic, ki upravlja spremembe na celotnem drevesu map. Pod nadzorom so datoteke in mape. Posledica tega je, da imamo na strani odjemalca na razpolago ukaza premakni in kopiraj, ki delujeta na datotekah in mapah.

Atomične objave uredi

Objava zapiše vse spremembe v skladišče ali pa jih sploh ne zapiše. To omogoča razvijalcem, da sestavijo in objavijo spremembe kot logične celote.

Metapodatki pod nadzorom različic uredi

Vsaka datoteka in mapa ima prirejeno nevidno množico »lastnosti«. Pari ključ/vrednost so poljubni. Lastnosti so pod nadzorom različic, prav tako kot vsebina datoteke.

Izbira plasti omrežja uredi

Subversion je vpeljal abstrakten koncept dostopa do skladišča, kar uporabnikom omogoča, da izdelajo nove omrežne mehanizme. Subversionov »napredni« mrežni strežnik je modul za spletni strežnik Apache, ki govori narečje protokola HTTP, imenovano WebDAV/DeltaV. To daje sistemu Subversion veliko prednosti s stališča stabilnosti in povezovanja, prinaša pa še številne dodatne zmožnosti, npr.: avtentikacijo, avtorizacijo, wire compression in brskanje po skladišču. Na razpolago pa je tudi manjši, samostojen strežnik za Subversion. Strežnik se pogovarja po prilagojenem protokolu, ki se ga preprosto preusmeri preko SSH.

Konsistentno upravljanje s podatki uredi

Subversion zapisuje razlike med datotekami z dvojiškim algoritmom za razlikovanje, ki deluje tako na tekstovnih (uporabniku berljivih) kot na dvojiških (uporabniku neberljivih) datotekah. Datoteke obeh tipov so enako stisnjene in shranjene v skladišču, razlike pa se prenašajo v obeh smereh po mreži.

Učinkovita uporaba vej in oznak uredi

Cena vej in oznak ni nujno sorazmerna z velikostjo projekta. Subversion ustvari veje in oznake tako, da projekt skopira z uporabo mehanizma, podobnega simbolnim povezavam. Tako ti operaciji trajata zelo kratek (konstanten) čas in zavzameta zelo malo prostora v skladišču.

Možnost vključevanja v druge aplikacije uredi

Sistem Subversion nima zgodovine. Razvit je kot zbirka knjižnic v jeziku C z dobro definiranim programskim vmesnikom (API). Zato je Subversion priročen za vzdrževanje in uporabo s strani ostalih aplikacij in jezikov.

Ukazi uredi

  • Prevzemi
  • Posodobi
  • Posodobi na revizijo
  • Objavi
  • Razlikuj
  • Pokaži dnevnik
  • Preveri posodobitve
  • Graf revizij
  • Brskalnik po skladišču
  • Uredi spore
  • Rešeno
  • Preimenuj
  • Izbriši
  • Povrni
  • Čiščenje
  • Dobi zaklep
  • Odstrani zaklep
  • Veja/Oznaka
  • Preklop
  • Spoji
  • Izvozi
  • Premakni
  • Tu ustvari skladišče
  • Dodaj
  • Uvoz
  • Okrivi
  • Dodaj na seznam prezrtih
  • Ustvari popravek
  • Namesti popravek

Viri uredi