TortoiseSVN

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
TortoiseSVN
TortoiseSVN logo.svg
Stabilna izdaja 1.7.6 / 8. marec 2012
Razvojni status Active
Programski jezik C++
OS Microsoft Windows
Tip Subversion client
Licenca GNU General Public License
Spletna stran tortoisesvn.tigris.org

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 smatra Subversion in tudi ostale sisteme za nadzor različic kot neke vrste “časovni stroj”.

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 | uredi kodo]

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.

Tim 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 | uredi kodo]

Integracija z lupino[uredi | uredi kodo]

TortoiseSVN se integrira v lupino operacijskega sistema Windows (v Raziskovalca). To pomeni, da lahko še naprej delate z orodji, ki jih poznate. In ni vam potrebno zamenjati aplikacije vsakič, ko želite uporabiti funkcije sistema za nadzor različic! Pri tem pa vam ni nujno uporabljati ravno 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. Morate pa se vesčas zavedati, da je TortoiseSVN 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 | uredi kodo]

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

Preprost dostop do ukazov sistema Subversion[uredi | uredi kodo]

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

Vodenje različic map[uredi | uredi kodo]

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 | uredi kodo]

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 | uredi kodo]

Vsaka datoteka in mapa ima prirejeno nevidno množico “lastnosti”. Lahko si izmislite kakršen koli par ključ/vrednost. Lastnosti so pod nadzorom različic, prav tako kot vsebina datoteke.

Izbira plasti omrežja[uredi | uredi kodo]

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, n. pr.: 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 | uredi kodo]

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 | uredi kodo]

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 | uredi kodo]

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

Ukazi[uredi | uredi kodo]

  • 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 | uredi kodo]