2022/09/06 19:53:28 (r29447)
Sadržaj
Spisak slika
Spisak tabela
Sadržaj
Kontrola verzija je umetnost upravljanja izmenama informacija.To je dugo bio kritičan alat za programere, koji tipično troše svoje vreme praveći male izmene softvera zatim vraćaju ili proveravaju te izmene sledećeg dana. Zamislimo tim programera koji rade istovremeno - i možda čak simultano na vrlo sličnim fajlovima! - i vi možete videti zašto je potreban dobar sistem da upravljanje potencijalnim haosom.
TortoiseSVN je besplatan Vindouz klijent otvorenog koda za Apache™ SubversionŽ sistem kontrole verzija. Tako da TortoiseSVN rukuje fajlovima i imenicima u toku vremena. Fajlovi su smešteni u centralno spremište. Spremište liči na običan fajl server osim što pamti svaku promenu urađenu na fajlovima i imenicima. Ovo vam omogućava da vratite staru verziju svojih fajlova i pregledate istoriju promena podataka i ko ih je menjao. To je zbog čega mnogi ljudi misle da je Subverzija i sistem kontrole verzija vrsta „vremenske mašine“.
Neki sistemi kontrole verzija su takođe softver sistemi upravljanja konfiguracijom (SUK). Ovi sistemi su specijalno prilagođeni da upravljaju stabla izvornog koda, i imaju mnoge osobine specifične za razvoj softvera - kao što je prirodno razumevanje programskih jezika, ili snabdevanje alatima za izradu softvera. Subverzija, međutim, nije jedan od tih sistema; ona je opšti sistem koji se može koristiti da upravlja svaki skup fajlova, obuhvatajući i izvorni kod.
Šta čini TortoiseSVN tako dobrim Subverzionim klijentom? Ovde je kratka lista osobina.
TortoiseSVN se bezšavno integriše u Vindouz školjku (tj. pretraživač). Ovo znači da možete nastaviti rad sa alatom sa kojim ste već familijarni. Vi ne morate da ulazite u drugačiju aplikaciju svaki put kada su vam potrebne funkcije iz kontrole verzija!
I niste čak ni obavezni da koristite Vindouz Eksplorer. TortoiseSVNov kontekst meni radi u mnogim drugim fajl menadžerima, i u Fajl/Otvori dijalogu koji je zajednički za većinu standardnih Vindouz aplikacija. Vi treba, međutim, imati na umu da TortoiseSVN namerno razvijen kao proširenje za Vindouz Eksplorer. Zbog toga je moguće da u drugim aplikacijama integracija nije kompletna i npr. ikone za prekrivanje možda neće biti prikazane.
Status svakog verzionisanog fajla i foldera označen je prekrivanjem ikonom. Na taj način možete videti status vaše radne kopije.
Kadalistate izmene fajla ili foldera možete kliknuti na reviziju da vidite komentare za to urezivanje. Takođe možete videti listu izmenjenih fajlova - samo dvostruko kliknite na fajl da vidite tačno šta je promenjeno.
Dijalog urezivanja lista sve stavke koje će biti uključene u urezivanju,i svaka stvka ima čekboks tako da možete izabrati stavke koje želite da uključite. Neverzionisani fajlovi mogu takođe biti izlistani, uslučaju da zaboravite da dodate tajnovi fajl.
Sve Subverzione komande su dostupne iz eksplorerovog kontekstnog menija. TortoiseSVN dodaje svoj submeni onde.
Kako je TortoiseSVN Subverzioni klijent, mi bismo voleli da prikažemo neke osobine same Subverzije:
CVS prati samo istoriju individualnih fajlova, dok Subverzija implementira„virtualni“ verzionisani fajlsistem koji beleži promene celog stabla foldera prekovremeno. Fajlovi i imenici su verzionisani. Kao reziltat, postoje na klijent-strani premesti i kopiraj komande koje rade na fajlovima i imenicima.
Urezivanje ili ide u spremište kompletno, ili ništa. Ovo omogućava programerima da naprave i urežu izmene kao logičke delove.
Svaki fajl i folder ima dodat nevidljivi skup „osobina“. Vi možete smisliti i smestiti bilo koji ključ/vrednost par koji želite. Osobine se verzionišu prekovremeno, upravo kao sadržaji fajla.
Subverzija ima apstraktnu ideju pristupa spremištu, čineći ga lakim da ljudi inplementiraj u nove mrežne mehanizme.Subverzioni „napredni“ mrežni server je modul za Apač veb server, koji govori varijantu HTTP zvanu VebDAV/DeltaV. To daje Subverziji veliku prednost u stabilnosti i operatibilnosti, i omogućava razne ključne osobine besplatno: autentikaciju, autorizaciju, kompresiju, i pretraživanje spremišta, na primer. Mali, samostalni Subverzioni server proces je takođe dostupan. Ovaj server govori uopbičajeni protokol koji može biti lako provučen kroz ssh.
Subverzija izlaže fajl razlike koristeći binarni diferencijalni algoritam, koji radi identično na tekst (ljudski čitljivim) i binarnim (ljudski nečitljivim) fajlovima. Oba tipa fajlova su smeštena jednako komprimovani u spremištu, i razlike su prenete u oba smera kroz mrežu.
Cena grananja i označavanja ne treba da bude proporcionalno veličini projekta. Subverzija stvara grane i oznake jednostavnim kopiranjem projekta, koristeći mehanizam sličan čvrstim linkovima. Zato ove operacije uzimaju veoma mali, konstantan iznos vremena, i veoma mali prostor u spremištu.
TortoiseSVN je projekat otvorenog koda razvijen pod GNU Opšta javna licenca (GPL). To je slobodno za skidanje i slobodno za korišćenje, ili lično ili komercijalno, na bilo kom broju PCja.
Although most people just download the installer, you also have full read access to the source code of this program. You can browse it on this link https://osdn.net/projects/tortoisesvn/scm/svn/. The current development line is located under /trunk/
, and the released versions are located under /tags/
.
I TortoiseSVN i Subverzija su razvijeni od zajednice ljudi koji rade na tim projektima. Oni dolaze iz raznih zemalja iz celog sveta i udružuju se da zajedno naprave izvanredan program.
U 2002 Tim Kemp je našao da je Subverzija bila jako dobar sistem kontrole verzija, ali je nedostajao dobar GUI klijent. Ideja za Subverzioni klijent kao Vindouz integrisanu školjku inspirisana je sličnim klijentom za CVS imenom TortoiseCVS. Tim je proučavao izvorni kod TortoiseCVS i koristio ga kao osnovu za TortoiseSVN. On je zatim pokrenuo projekat, registrovao domen tortoisesvn.org
istavio izvorni kod onlajn.
U to vreme, Stefan King je tražio dobar i besplatan sistem kontrole verzija i našao Subverziju i izvorni kod za TortoiseSVN. Pošto TortoiseSVN još nije bio spreman za korišćenje on se pridružio projektu i počeo da programira. Uskoro je prepisao većinu postojećeg koda i počeo da dodaje komande i mogućnosti, sve do tačke gde ništa od originalnog koda nije ostalo.
Što je Subverzija postajala stabilnija privlačila je sve više korisnika koji su počeli da koriste TortoiseSVN kao Subverzioni klijent. Korisnička osnova raste brzo (i još uvek raste svaki dan). To je od kad je Lube Onken ponudio da pomogne sa lepim ikonama i logom za TortoiseSVN. On vodi brigu o vebsajtu i upravlja sa mnogo prevoda.
Vremenom, drugi sistemi kontrole verzija svi dobijaju svoj Tortoise klijent koji prouzrokuje problem sa ikonama prekrivačima u Eksploreru: broj ovakvih prekrivača je ograničen i čak jedan Tortoise klijent može lako da prevaziđe ovo ograničenje.Tako, kada Stefan King implementira TortoiseOverleje komponente koje dopuštaju svim Tortoise klijentima da koriste iste ikone prekrivače. Sada svi Tortoise klijenti otvorenog koda i čak neki ne-Tortoisnj klijenti koriste te deljene komponente.
za pokretanje TortoiseSVN projekta
za težak rad da se TortoiseSVN dovede do onog šta je sada, i njegovo vođstvo u projektu
za lepe ikone, logo, lovljenje bagova, prevođenje i upravljanjem prevodima
za održavanje dokumentacije
za keš dnevnika i revizioni graf
za veliki uvod u Subverziju i poglavlje 2 koje smo kopirali ovde
za neke stilove koje su preuzete u ovu dokumentaciju
za zakrpe, izveštaje o bagovima i nove ideje, i za pomaganje drugima odgovaranjem na pitanja na našoj poštanskoj listi.
za mnogo časova uživanja u muzici koju su nam slali
Ova knjiga je napisana za poznavaoce kompjutera koji žele da koriste Subverziju da upravljaju svojim podacima, ali više vole da koriste GUI klijent umesto programa koji to rade iz komandne linije. Kako je TortoiseSVN proširenje vindouz školjke uzima se da je korisnik upoznat sa vindouz pretraživačem i zna kako ga koristiti.
Ovaj Predgovor objašnjava šta jeTortoiseSVN, malo oTortoiseSVN projektu i zajednicu ljudi koji rade na njemu, i uslove licence za korišćenje i distribuciju.
Poglavlje 1, Krenimo od početka objašnjava kako instalirati TortoiseSVN na vaš PC, i kako pokrenuti ispravno korišćenje.
U Poglavlje 2, Osnovni Kontrola-Verzija Koncepti dali smo kratak uvod u Subverzija revizioni kontrolni sistem koji pokriva TortoiseSVN. Ovo je pozajmljeno iz dokumentacije za projekat Subverzije i objašnjava rezličite pristupe kontroli verzija, i kako Subverzija radi.
Poglavlje na Poglavlje 3, Spremište objašnjava kako podesiti lokalno spremište, što je korisno za testiranje Subverzije i TortoiseSVN koristeći jedan PC. To takođe objašnjava pomalo o administriranju spremištem što je takođe relevantno za spremišta smeštena na serveru.
Poglavlje 4, Vodič dnevnog korišćenja je najvažniji deo jer objašnjava sve glavne mogućnosti TortoiseSVN i kako ih koristiti. U obliku je tutorijala, počinje proverom radne kopije, njenim izmenama, urezivanjem vaših izmena itd. Nastavlja se naprednijim temama.
The Poglavlje 5, Projekt monitor explains how you can monitor your Subversion projects so you don't miss important commits from your other team members.
Poglavlje 6, SubVCRev program je poseban program pridodat TortoiseSVN koji može izdvojiti informacije iz vaše radne kopije i upisati ih u fajl. Ovo je korisno za uključivanje razvojne informacije u vaš projekat.
Dodatak B, Kako da ja... deo odgovara na neka opšta pitanja o primeni zadataka koji nisu eksplicitno pokriveni bilo gde.
Deo Dodatak D, Automatizovanje TortoiseSVN prikazuje kako TortoiseSVN GUI dijalozi mogu biti pozvani iz komandne linije. Ovo je korisno za pravljenje skripta tamo gde je još potrebna interakcija korisnika.
Dodatak E, Komandna Linija Interfejs Unakrsne Reference daje korelaciju između TortoiseSVN komandi i njihovih ekvivalenata u Subverzijinog klijenta komandne linije svn.exe
.
Da bi se olakšalo čitanje dokumenata imena svih ekrana i Menija u TortoiseSVN su obeležena u različitom pismu. Na primer Dialog dnevnika
Izbor menija prikazan strelicom. Dnevnik prikaza iz TortoiseSVN kontekst menija.
→ znači: izaberiTamo gde se lokalni kontekstni meni pojavljuje u okviru TortoiseSVN dijaloga, to je prikazano kao:
→Dugme korisničkog interfejsa prikazano je kao: Pritisni
da nastavi.Korisničke akcije su prikazane korišćenjem zacrnjenog pisma. Alt+A: pritisnite Alt-taster na tastaturi i dok ga držite pritisnite A-taster. Desno vučenje: pritisnite desno dugme miša i dok ga držite vucitestavke na novu lokaciju.
Sistemski izlaz i ulaz sa tastature označen je sa različitim
pismom takođe.
Važne zabeleške su označene ikonom.
Saveti koji vam čine život lakšim.
Mesta gde treba da brinete šta radite.
Gde je izuzetna briga preduzeta. Uništavanje podataka ili druge loše stvari mogu se javiti ako se upozorenja ignorišu.
![]() |
Sadržaj
Ovaj pargraf pomaže ljudima koji bi da pronađu šta je uopšte TortoiseSVN i daje im test drajv. On objašnjava kako instalirati TortoiseSVN i podesiti lokalno spremište, i provodi ih kroz većinu obično korišćenih operacija.
TortoiseSVN se izvršava na Vindouz Vista i višim sistemima i dostupan je za 32-bitne i 64-bitne sisteme. Instaler za 64-bitni Vindouz uključuje i 32-bitno proširenje. Što znači da vam nije potrebna 32-bitna verzija posebno da bi dobili TortoiseSVN kontekst meni i prekrivače u 32-bitnim aplikacijama.
Podrška za Vindouz 98, Vindouz ME i Vindouz NT4 je izbačena iz verzije 1.2.0, i Vindouz 2000 i HP do SP2 podrška je izbačena u 1.7.0. Podrška za Vindouz HP sa SP3 je izbačena u 1.9.0. Možete još uvek skinuti i instalirati starije verzije ako su vam potrebne.
TortoiseSVN dolazi sa instalatorom koji je lak za upotrebu. Dvostruko kliknite na instalator fajl i pratite instrukcije. Instalator će brinuti o ostalom. Nemojte zaboraviti da rebutujete sistem posle instalacije.
Potrebne su vam administartorske privelegije da instalirate TortoiseSVN. Instaltor će vas pitati za administratorseke dozvole ako je neophodno.
Jezički paketi su dostupni i prevode TortoiseSVN korisnički interfejs u mnogo različitih jezika. Molim proverite Dodatak G, Jezički paket i provera sintakse za više informacija kako da ih instalirate.
Ako naiđete na neki problem u toku ili posle instalacije TortoiseSVN referišite onlajn FAQ na https://tortoisesvn.net/faq.html.
Pre nego se zaglavimo u radu sa pravim fajlovima, važno je pogledati kako Subverzija radi i termine koje koristi.
Subverzija koristi centralnu bazu podataka koja sadrži sve vaše virzija-kontrolisane fajlove sa njihovom kompletnom istorijom. Baza podataka je označena kao spremište. Spremište normalno živina fajl serveru koji izvršavaSubverzioni program koji snabdeva sadržajem Subverzione klijente (kao TortoiseSVN) na zahtev. Ako samo sigurnosno kopirate jednu stvar, sigurnosno kopirajte vaše spremište kao definitivnu glavnu kopiju svihvaših podataka.
Ovde obavljate pravi posao. Svaki saradnik ima sopstvenu radnu kopiju, ponekad poznatu kao sendboks na lokalnopm PC. Možete povući poslednjuverziju iz spremišta, raditi na njoj lokalno bez uticaja bilo koga, zatim kada ste zadovoljni izmenama uradite urezivanje nazad u spremište.
Subverziona radna kopija ne sadrži istoriju projekta, ali sadrži kopiju fajlova kako postoje u spremištu pre nego ste počeli da radite izmene. Ovo znači da je lako proverititačno šta ste izmenili.
Takođe treba da znate gde naći TortoiseSVN zato što nema mnogo da se vidi iz Start menija. Ovo je zato što TortoiseSVN proširenje školjke, tako pre svega, pokreće Vindouz pretraživač. Desno klikni na folder u pretraživaču i videćete nove ulaze u kontekst meniju kao:
Ovo poglavlje vam pokazuje kako da isprobateneke od često korišćenih osobina malih test spremišta. Priridno je da on ne objašnjava sve - to je samo Brzi Početni Vodič u stvari. Kada ga pokrenete treba da iskoristite vreme da pročitate ostatak ovog vodiča, koji vas vodi kroz stvari sa mnogo više detalja. On takođe objašnjava više o podešavanju odgovarajućeg Subverzionog servera.
Za realne projekte imate negde sigurno podešavanje spremišta i Subverzioni server da ga kontroliše. Zbog ovog tutorijala nameravamo da koristimo Subverzione lokalne osobine spremišta koje omogućavaju direktan pristup spremištu kreiranom na hard drajvu bez upotrebe servera.
Najpre kreirajte novi prazan folder na vašem PC. On može biti bilo gde, ali za ovaj tutorijal zvaćemo ga C:\svn_repos
. Zatim desni klik na novi folder i iz kontekst menija izaberite → . Spremište tada kreirano unutar foldera spremno je za korišćenje. Takođe ćemo kreirati uobičajenu internu strukturu foldera kliknuvši na button.
Upotreba lokalnog spremišta je veoma korisna za testiranje i razvoj ali, izuzev ako radite kao pojedinačni saradnik na jednom PC, vi ćete uvek koristiti odgovarajući Subverzioni server. Male kompanije dolaze u iskušenje da izbegnu radna podešavanju servera već da se samo pristupi spremištu na mrežnoj podeli. Nikad to ne radite. Pročitajte odeljak pod imenom „Pristupanje spremištu na mrežnom deljenom prostoru“ da nađete zašto je to loša ideja ikako podesiti server.
Sada imamo spremište, ali ono je potpuno prazno u ovom trenutku. Uzmimo da imamo skup fajlova u C:\Projects\Widget1
koje želimo dodati. Odimo do Widget1
foldera pomoću Eksplorera i desni klik na njega. Sada izaberemo → što daje dijalog
Subverziono spremište je referisano sa URL koji nam omogućava da specificiramo spremište bilo gde na Internetu. U ovom slučaju potrebna nam je tačka na našem lokalnom spremištu koja ima URL file:///c:/svn_repos/trunk
, gde dodajemo naš projekat nazvan Widget1
. Primetimo da ima 3 kosih crta posle file:
i da se prave kose crte koriste unutar.
Ostale važne osobine ovog dijaloga je Uvezi poruku boks koji vam dozvoljava da unesete poruku koja opisuje šta radite. Kada dođete pogledate kroz istoriju projekta, ove poruke urezivanja su vrednosni vodič koje izmene su napravljene i zašto. U ovom slučaju možemo reći nešto jednostavno kao „Uvoz Widget1 projekta“. Kliknite na i folder je dodat u spremište.
Sada kad imamo projekat u spremištu potrebno je da kreiramo radnu kopiju za korišćenje za svakodnevni rad. Primetimo da čin uvoza foldera ne ubacuje automatski taj folder u radnu kopiju. Subverzioni izraz za kreiranje sveže radne kopije je Preuzimanje
. Preuzećemo Widget1 folder vašeg spremišta u razvojni folder PC nazvanog filename>C:\Projects\Widget1-Dev
Uobičajeno podešavanje, meni stavka preuzimanja nije smeštena u TortoiseSVN submeniju ali je prikazana na vrhu menija pretraživača. ToroiseSVN komande koje nisu u submeniju imaju SVN
pripremljen:
Primetite da se pojava ovog foldera razlikuje od originalnogfoldera. Svaki fajl ima zelenuček markicu u levom donjem uglu. Ovo su TortoiseSVN status ikone koje su prisutne samo u radnoj kopiji. Zeleno stanje indicira da je fajl neizmenjen prema verziji u spremištu.
Vreme je da se radi posao. U Widget1-Dev
folderu počinjemo uređivanje fajlova - recimo da uradimo izmene u Widget1.c
i ReadMe.txt
. Primetimo prekrivne ikone na ovim fajlovima su izmenjene u crveno, indicirajući te promene urađene lokalno.
Ali kakvesu izmene? Desno kliknite na izmenjene fajlove i izaberite
→ TortoiseSVN alat za poređenje fajla pokreće, prikazujući tačno koje linijesu promenjene.Dobro, mi smo srećni sa izmenama, uskladimo spremište. Ova akcija je označena kao Urezivanje
izmene. Desni klik na Widget1-Dev
folder i izaberimo → . Dijalog urezivanja listaizmenjene fajlove sa čekboksom. Možete želetida izaberete samo podskup ovih fajlova, ali u ovom slučaju idemo da urežemo izmene na oba fajla. Unesite poruku da opišete koje izmene su obuhvaćene i kliknite na . Dijalog napredovanja prikazuje fajlove poslatih u spremište i završenih.
Kako projekat raste biće vam potrebno dadodate nove fajlove - recimo da dodajete neke nove osobine u Extras.c
i dodajete reference u postojeći Makefile
. Desno kliknite na folder i → . Dodaj dijalog sada prikazuje sve neverzionisane fajlove i možeteizabrati koji želite da dodate. Drugi način je da se dodaju fajlovi desnim klikom na sam fajl i izborom → .
Sada kada odete u folder urezivanja, novi fajl je prikazan kao Dodat ipostojeći fajl kao Izmenjen. Primetimo da možete dvostruko kliknuti na izmenjeni fajl da proverimo tačno koje izmene su urađene.
Jedna od najkorisnijih osobina TortoiseSVN je dijalog dnevnika. On vam prikazuje listu urezivanja koje ste uradili u fajlu ili folderu i prikazuje te detaljne poruke urezivanja koje ste uneli (vi ste uneli poruke urezivanja kako je sugerisano? Ako niste, vidite zašto je to važno).
OK, malo sam obmanjivao i korišćen je ekran TortoiseSVN spremišta.
Gornji panel prikazuje listu revizija urezanih sapočetkom poruke urezivanja.Ako izaberete jednu od ovih revizija, srednji panel će prikazati celu poruku dnevnika za revizijui donji panel će prikazati listu izmenjenih fajlova i foldera.
Svaki od ovih panela ima kontekst meni koji vas snabdeva sa mnogo načina korišćenja informacija. U donjem panelu možete vostruko kliknuti na fajl da vidite tačno šta je promenjeno u toj reviziji. Pročitajteodeljak pod imenom „Revizioni dijalog dnevnika“ da dobijete celu priču.
Jedna osobina svih sistema kontrole revizija je da vam omogućavaju vraćanje izmena koje ste ranije uradili. Kao što očekujute, TortoiseSVN olakšava pristup tome.
Ako želite da pročitate izmene koje još nisu urezane i resetujete fajl na način kakav je bio pre početka uređivanja,
→ je vaš prijatelj. Ovo odbacuje vaše izmene (u korpu za otpatke, u ovom slučaju) i vraća urezanu verziju sa kojom ste startovali. Ako želite da pročitate samo neke izmene možete koristiti TortoiseMerge da pregledate razlike i selektivno vratite izmenjene linije.Ako želiteda vratite efekte posebne revizije, počnite sa dijalogom dnevnika i nađite okrivljene revizije. Izaberite
→ i ove izmene će biti vraćenje.Ovaj vodič daje brz obilazak nekih TortoiseSVN najznačanijih i najkorisnijih osobina, ali svakako postoji više što nije pokriveno. Mi čvrsto preporučujemo da uzmete malo vremenada pročitateostatak ovog uputstva, posebno Poglavlje 4, Vodič dnevnog korišćenja što vam daje više detalja za dan-za-dan operacije.
Imali smo mnogo problema da osiguramo da bude informativno i lako za čitanje, ali mi prepoznajemo da jeto mnogo od toga! Iskoristite vreme i ne budite uplašeni da pokušate to u test spremištu. Najbolji način da se nauči je da se to koristi.
Sadržaj
Ovo poglavlje je malo izmenjena verzija istog poglavlja u Subverzionoj knjizi. Onlajn verzija Subverzione knjige je dostupna ovde:http://svnbook.red-bean.com/.
Ovo poglavlje je kratak, neobavezan uvod u Subverziju. Ako ste novi u kontroli verzija, ovo poglavlje je sigurno za vas. Počinjemo diskusijom o opštem konceptu kontrole verzija, rad nas vodi u specifične ideje unutar Subverzije, i prikazuje neke jednostavne primere Subverzije pri korišćenju.
Uprkos tome što primere u ovom poglavlju prikazuju ljudi koji dele kolekcije izvornog koda programa, imajte na umu da Subverzija može upravljati bilo kojom vrstom kolekcija fajlova - nije ograničena na pomoć kompjuterskim programerima.
Subverzija je centralizovan sistem za deljenje informcija. U srži je spremište, koje je centralno stovarište podataka. Spremište smešta informacije u obliku fajlsistem stabla - tipična hijerarhija fajlova i foldera. Bilo koji broj klijenata spaja se na spremište i čita ili upisuje u te fajlove. Upisivanjem podataka klijent omogućava da informacija bude dostupna drugima; čitanjem podataka klijent prima informacije od drugih.
Dakle zašto je ovo interesantno? Zato što je ovo pesma od definicije tipičnog fajl servera. I svakako, spremište je vrsta fajl servera, ali nije to vaš uobičajen soj. Šta čini Subverziono spremište specijalnim je da ono pamti sve izmene ikad upisane u njega: sve izmene svakog fajla, i čak izmene samog stabla foldera, kao što je dodavanje, brisanje, i preuređenje fajlova u foldera.
Kada klijent čita podatke iz spremišta normalno posmatra poslednju verziju stabla fajlsistema. Ali klijent takođe ima mogućnost da vidi prethodno stanje fajl sistema. Na primer, klijent može tražiti istorijsko pitanje kao, „ šta je ovaj direktorijum sadržao prošlr srede? “, ili „ koja je zadnja osoba koja je menjala ovaj fajl, i koje su izmene urađene? “ Ovo su vrste pitanja koja su srž svakog sistema kontrole verzija: sistemi koji su izrađeni da zapamte i prate izmene podataka u vremenu.
Svi sistemi kontrole verzija imaju da reše iste osnovne probleme: kako će sistem omogućiti korisnicima da dele informacije, ali da ih spreči da nehotično koračaju stopama jedni drugih? Veoma je lako da jedni drugima korisnici incidentno prepišu promene u spremištu.
Zamislimo ovaj scenario: pretpostavimo da imamo dva saradnika, Hari i Sali. Svaki odluči da uredi isti fajl iz spremišta u isto vreme. Ako Hari prvi sačuva svoje izmene u spremište, tada je moguće (nekoliko trenutaka kasnije) da ih Sali nehotice prepiše svojom novom verzijom fajla. Pošto Harijeva verzija fajla neće biti izgubljena zauvek (jer sistem pamti sve promene), sve promene koje je uradio Hari neće biti prisutne u Salinoj novoj verziji fajla, jer ona nije videla Harijeve izmene na početku rada. Harijev rad je efektivno izgubljen - ili u najmanjem nedostaje u zadnjoj verziji fajla - i verovatno mimo plana. Ovo je defintivno situacija koju želimo da izbegnemo.
Mnogi sistemi kontrole verzija koriste zaključaj-izmeni-otključaj model da označe ovaj problem, što je veoma jednostavno rešenje. U takvim sistemima, spremište dozvoljava samo jednoj osobi da menja fajl u isto vreme. Prvo Hari mora zaključati fajl pre nego što može da ga menja. Zaključavanje fajla je mnogo slično pozajmljivanju knjige iz biblioteke; ako Hari ima zaključani fajl, onda Sali ne može da napravi bilo kakvu izmenu na njemu. Ako ona pokuša da zaključa fajl spremište će zabraniti zahtev. Sve što može uraditi je da čita fajl i čeka da Hari završi svoje izmene i otključa fajl. Kada Hari otključa fajl, on ga vraća i Sali ga može uzeti zaključavanjem i da ga uređuje.
Problem sa zaključaj-izmeni-otključaj modelom je da je pomalo restriktiv i često postaje prepreka za korisnike:
Zaključavanje može da napravi administrativni problem. Ponekad Hari će zaključati fajl i zaboraviti na njega. Međutim, pošto Sali još čeka da uredi fajl, njene ruke se vezane. I onda Hari odlazi na odmor. Sada Sali ima da dobije od Administratora oslobađanje Harijevog zaključavanja. Situacija se završava uzrokujući puno nepotrebnog kašnjenja i izgubljenog vremena.
Zaključavanje može da prouzrokuje neželjenu serijalizaciju. Šta ako Hari uređuje početak tekst fajla, a Sali jednostavno želi da uredi kraj istog fajla? Ove izmene se uopšte ne preklapaju. Oni mogu lako da uređuju fajl istovremeno, neće doći do velike štete, uzevši da se izmene odgovarajuće ujedine. NJima nije potrebno da se okrenu od ovakve situacije.
Zaključavanje može da stvori lažni osećaj sigurnosti. Uzmimo da Hari zaključa i uređuje fajl A, dok Sali istovremeno zaključa i uređuje fajl B. Pretpostavimo da A i B zavise jedan od drugog i da izmene urađene na bilo kome semantički nisu kompatibilne. Iznenada A i B ne rade više zajedno. Zaključavajući sistem nema snage da predupredi problem - čak nekako daje osećaj lažne sigurnosti. Lako je da Hari i Sali zamisle to zaključavanjem fajlova, svako počinje siguran, izdvojen zadatak i to ga sprečava da razmatra nekompatibilne izmene učinjene ranije.
Subverzija, CVS i drugi sitmi kontrole verzija koriste kopiraj-izmeni-stopi model kao alternativu zaključavanju. U ovom modelu svaki korisnički klijent čita spremište i kreira sopstvenu radnu kopiju fajla ili projekta. Korisnik onda radi paralelno menjajući svoju privatnu kopiju. Na kraju, privatna kopija se stopi u novu finalnu verziju. Sistem kontrole verzija često je pomognut stapanjem ali izvršno je čovek odgovoran da se to uradi korektno.
Evo primera. Recimo da Hari i Sali kreiraju radne kopije istog projekta, kopiranjem iz spremišta. Oni rade istovremeno, i prave izmene na istom fajlu A
u okviru svojih kopija. Sali sačuva svoje izmene u spremište prva. Kada Hari pokuša da sačuva svoje izmene kasnije, spremište ga informiše da je njegov fajl A zastareo. Drugim rečima, fajl A u spremištu ima nečije izmene od zadnjeg kopiranja. Tako Hari pita svog klijenta da stopi bilo koje nove izmene iz spremišta u njegovu radnu kopiju fajla A. Postoji šansa da Saline izmene ne prekrivaju njegove; tako da će imati oba skupa izmena integrisano, on sačuva svoju radnu kopiju nazad u spremište.
Ali šta ako Saline izmene prekrivaju Harijeve izmene? Šta tada? Ova situacija se zove konflikt, i to obično nije veliki problem. Kada Hari traži od svog klijenta da stopi zadnje izmene u spremištu u njegovu radnu kopiju, njegova kopija fajla A je nekako označena da je u stanju konflikta: on će biti u mogućnosti da vidi oba skupa konfliktnih izmena, i ručno da izabere između njih. Primetimo da softver ne može automatski da reši konflikt; samo ljudi su sposobni da razumeju i urade neophodne inteligentne izbore. Jednom kad Hari ručno reši preklapanje izmena (možda diskusijom konflikta sa Sali!), on može bezbedno da sačuva stopljen fajl nazad u spremište.
Kopiraj-menjaj-stopi model može da zvuči pomalo haotično, ali u praksi, radi ekstremno glatko. Korisnici mogu da rade paralelno, nikada ne čekaju jedan drugog. Kada rade na istim fajlovima isključeno je da njihove istovremene izmene ne budu upisane; konflikti su retki. I iznos vremena uzet za rešavanje konflikta je manji od vremena izgubljenog zaključavanjem sistema.
Na kraju, sve dolazi u jedan kritičan faktor: korisnička komunikacija. Kada je loša komunikacija između korisnika sintaksni i semantički konflikti rastu. Nema sistema koji će naterati korisnike da komuniciraju perfektno, i nema sistema koji može da detektuje semantički konflikt. Tako da nije poenta da se bude umiren lažnim obećanjem da sistem zaključavanja nekako predupređuje konflikt; u praksi, zaključavanje izgleda sprečava više produktivnost nego bilo šta drugo.
Postoji jedna obična situacija gde je zaključaj-menjaj-otključaj model bolji, i to gde imate nestopive fajlove. Na primer ako vaše spremište sadrži neke grafičke slike, i dva čoveka menjaju slike u isto vreme, nema načina da se te izmene spoje zajedno. Ili Hari ili Sali će izgubiti svoje izmene.
Subverzija koristi kopiraj-izmeni-stopi rešenje podrazumevano, i u mnogim slučajevima ovo je sve što vam je potrebno. Međutim, od Verzije 1.2 Subverzija takođe podržava zaključavanje fajlova, tako da ako imate nestopive fajlove, ili ako jednostavno forsirate politiku zaključavanja preko uprave, Subverzija će još omogućavati željene osobine.
Već ste čitali o radnoj kopiji; sada ćemo demonstrirati kako je Subverzioni klijent kreira i koristi.
Subverziona radna kopija je obično stablo foldera u vašem lokalnom sistemu, koje sadrži kolekciju fajlova. Vi možete urediti ove fajlove kako želite, i ako su fajlovi izvornog koda, možete od njih kompajlirati vaš program na uobičajen način. Vaša radna kopija je vaša lična privatna radna površina: Subverzija neće inkorporirati izmene drugih ljudi, niti će uraditi vaše promene dostupne drugima, sve dok joj eksplicitno ne kažete da to uradi.
Kada ste napravili neke izmene u fajlovima u vašoj radnoj kopiji i proverite da to radi ispravno, Subverzija vam omogućava da komandama publikujete vaše izmene drugim ljudima koji rade sa vama na vašem projektu (pisanjem u spremište). Ako drugi ljudi publikuju svoje izmene, Subverzija vam omogućava komandama za spajanje tih izmena u vaš radni folder (čitanjem iz spremišta).
Radna kopija takođe sadrži neke dodatne fajlove, kreirane i podržane od Subverzije, da pomognu njeno izvršenje ovih komandi. U osnovi, vaša radna kopija sadrži poddirektorijum nazvan .svn
, takođe poznat kao radne kopije administrativni direktorijum . Fajlovi u administrativnom direktorijumu pomažu Subverziji da prepozna koji fajlovi sadrže nepublikovane izmene, i koji fajlovi su neusaglašeni u odnosu na ostali rad. Pre 1.7 Subverzija je održavala .svn
administrativne poddirektorijume u svakom verzionisanom direktorijumu radne kopije. Subverzija 1.7 uzima potpuno različit pristup i svaka radna kopija sada ima samo jedan administrativni poddirektorijum koji je neposredan potomak korena radne kopije.
Tipično Subverziono spremište često sadrži fajlove (ili izvorni kod) za više projekata; obično, svaki projekat je subfolder u stablu fajlsistema u spremištu. U ovom uređenju korisnička radna kopija obično će korespondirati posebnom podstablu spremišta.
Na primer, pretpostavimo da imate spremište koje sadrži dva sofverska projekta.
Drugim rečima, koreni folder spremišta ima dva podfoldera: paint
and calc
.
Da bi se dobila radna kopija morate preuzeti neko podstablo iz spremišta. (Termin preuzimanje može zvučati kao da ima nešto da se uradi sa zaključavanjem i rezervisanjem resursa, ali to niječ to jednostavno kreira privatnu kopiju projekta za vas.)
Pretpostavimo da ste napravili izmene u button.c
. Pošto .svn
direktorijum pamti podatke izmene fajla i originalni sadržaj, Subverzija može reći da ste izmenili fajl. Međutim, Subverzija ne čini vaše izmene javnim sve dok joj to ne kažete. Čin publikovanja vaših izmena obično se zove urezivanje (ili upisivanje ) izmena u spremište.
Da bi publikovali vaše izmene drugima, možete koristiti Subverzionu komandu ureži.
Sada vaše izmene u button.c
su urezane u spremište; ako drugi korisnik proveri radnu kopiju /kalk
, videće vaše izmene u zadnjoj verziji fajla.
Pretpostavimo da imate saradnika Sali, ko proverava radnu kopiju /kalk
u isto vreme kad i vi. Kada urezujete vaše izmene u button.c
, Salina radna kopija ostaje nepromenjena; Subverzija menja radnu kopiju samo na zahtev korisnika.
Da bi uskladila svoj projekat Sali mora pitati Subverzilu da uskladi njenu radnu kopiju korišćenjem Subverzione komande uskladi. Ovo će uključiti vaše izmene u radnu kopiju isto kao što bilo koji drugi koji su urezani od provere.
Zabeležite da Sali ne treba da specifira koje fajlove uskladiti; Subverzija koristi informacije u .svn
folderu, i dalje informacije u spremištu, da odluči koje fajlove treba uskladiti.
Subverzionom spremištu može biti pristupljeno kroz mnogo različitih metoda - na lokalnom disku, ili kroz razne mrežne protokole. Mest spremišta, međutim, je uvek na URL. URL šema označava metod pristupa:
Tabela 2.1. URL pristup spremištu
Šema | Pristupni metod |
---|---|
file://
| Direktni pristup spremištu na lokalnom mrežnom uređaju. |
http://
| Pristup preko VebDAV protokola za Subverziono poznavanje Apaš servera. |
https://
| Isto kao http:// ,ali sa SSL enskripcijom. |
svn://
| Neautentičan TCP/IP pristup preko običnog protokola ka svnserve serveru. |
svn+ssh://
| autentičan, šifriran TCP/IP pristup preko običnog protokola ka svnserve serveru. |
Za mnoge delove Subverzioni URLovi koriste standardnu sintaksu dozvoljavajući serverskim imenima brojevima portova da budu specificirani kao deo URLa. file://
metod pristupa se normalno koristi za lokalni pristup, takođe može se koristiti sa UNC putnjom do mrežnog domaćina. URL dakle uzima oblik file://hostname/path/to/repos
. Za lokalnu mašinu hostname
deo URL se zahteva da nije prisutno ili da je localhost
. Iz ovog razloga lokalna putanja se normalno javlja sa tri kose crte file:///path/to/repos
.
Takođe korisnici file://
šeme na Vindouz platformama treba da koriste neoficijalnu „standardnu“ sintaksu za pristup spremištu koja su na istoj mašini, ali na različitim uređajima od onog gde je klijentov radni uređaj. Svaka od sledeće dve sintakse URL putanja će raditi gde je X
drajv na kome spremište obitava.
file:///X:/path/to/repos ... file:///X|/path/to/repos ...
Primetimo da URL koristi obične kose crte čak i kad prirodni (ne URL) oblik putanje na Vindouzu koristi obrnute kose crte.
Možete pristupiti FSFS spremištu preko mrežnog deljenja ali ovo nije preporučljivo zbog raznih razloga:
Vi dajete direktan pristup upisivanju svim korisnicima, tako oni mogu slučajno obrisati ili uništiti fajl sistem spremišta.
Svi mrežni protokoli deljenja fajlova ne podržavaju zahteve zaključavanja subverzije. Jednog dana naćićete da je vaše spremište suptilno uništeno.
Potrebno je da podesite pristupnu dozvolu na pravi način. SAMBA je posebno teška u ovom pogledu.
Ako jedna osoba instalira novu verziju klijenta koja dogradi format spremišta svi ostali neće biti sposobni da pristupe spremištu dok takođe ne dograde novu verziju klijenta.
Operacija svn ureži publikuje izmene bilo kog broja fajlova i foldera kao jednu atomik transakciju. U vašoj radnoj kopiji možete menjati sadržaj fajlova, kreirati, brisati, preimenovati i kopirati fajlove i foldere i onda urežete ukupan skup izmena kao jedinicu.
U spremištu savako urezivanje se trtira kao atomik transakcija: ili se urežu sve promene ili nijedna. Subverzija čuva ovu atomičnost u slučaju pucanja programa ili sistema, mrežnih problema i drugih akcija korisnika.
Svaki put kada spremište pristupi urezivanju to kreiira novo stanje stabla fajlsistema nazvanog revisija. Svaka revizija se označava jedinstvenim prirodnim brojem koji je za jedan veći od broja prethodne revizije.Početna revizija sveže kreiranog spremišta označena je nulom i ne sadrži ništa osim praznog korenog foldera.
Lep način da se vizualizuje spremište je serija stabala. Zamislimo oblast revizionih brojeva, počevši od nule, razvučenih s leva u desno. Svaki revizioni broj ima fajlsistem stablo visi ispod njega i svako stablo je „naznaka“ kako spremište izgleda posle urezivanja.
Važno je primetiti da radna kopija ne korespondira uvek bilo kojoj pojedinačnoj reviziji u spremištu; ona može sadržati fajlove iz više različitih revizija. Na primer, pretpostavimo da preuzimate radnu kopiju iz spremišta čija je najskorija revizija 4:
calc/Makefile:4 integer.c:4 button.c:4
Trenutno ovaj radni folder odgovara tačno reviziji 4 u spremištu. Međutim, pretpostavimo da izmenite button.c
, i urežete izmene. Uzmimo da nije bilo drugih urezivanja, vaše urezivanje kreira reviziju 5 spremišta i vaša radna kopija sada izgleda ovako:
calc/Makefile:4 integer.c:4 button.c:5
Pretpostavimo to, u tom trenutku, Saki urezuje izmene integer.c
, kreirajući reviziju 6. Ako koristite svn uskladi da dovedete vašu radnu kopiju u usklađeno stanje to će izgledati ovako:
calc/Makefile:6 integer.c:6 button.c:6
Saine izmene integer.c
se pojavljuju u vašoj radnoj kopiji i vaše izmene su još prisutne u button.c
. U ovom primeru, tekst u Makefile
je identičan u revizijama 4,5 i 6, ali Subverzija će označiti vašu radnu kopiju Makefile
revizijom 6 da indicira da je još tekuća. Tako, posle urađenog čistog obnavljanja na vrh vaše radne kopije ona će generalno korespondirati tačno jednoj reviziji u spremištu.
Za svaki fajl u radnom folderu Subverzija upisuje dva važna komada informacija u .svn/
administarativnu oblast:
na koju reviziju je radni fajl baziran (ovo se zove fajlova radna revizija ), i
vremenski marker zapisan kada se lokalna kopija zadnji put uskladila u spremištu.
Dajući ove informacije, govoreći spremištu, Subverzija može reći koje od sledećih četiri statusa ima radni fajl:
Fajl je neizmenjen u radnom folderu, i nema izmena tog fajla pri urezivanju u spremište od njegove radne revizije. Urezivanje fajla ne radi ništa, i obnavljanje fajla ne radi ništa.
Fajl je izmenjen u radnom folderu i izmene nisu urezane u spremište od osnovne rebžvizije. Postoje lokalne izmene koje još nisu urezane u spremište, tako urezivanje fajla će pratiti publikovanje vaših izmena u spremište, a obnavljanje fajla neće uraditi ništa.
Fajl nije izmenjen u radnom folderu ali je izmenjen u spremištu. Fajl bi trebalo da bude obnovljen da se učini savremen sa javnom revizijom. Urezivanje fajla ne radi ništa, a obnavljanje fajla uvodi zadnje izmene u vašu radnu kopiju.
Fajl je izmenjen u oba slučaja i u radnom folderu i u spremištu. Urezivanje fajla biće neuspešno sa greškom zastareo. Fajl se mora najpre uskladiti; sa komandomuskladi pokušaće se spajanje javnih izmena sa lokalnim izmenama. Ako Subverzija ne može potpuno da stopi na razuman način automatski, ona ostavlja korisniku da razreši konflikt.
Mi smo ovde pokrili određeni broj osnovnih Subverzionih koncepata:
Uveli smo označavanje centralnog spremišta, klijentove radne kopije, i oblast revizionog stabla spremišta.
Vidli smo neke proste primere kako saradnici mogu da koriste Subverziju da publikuju i prime izmene od drugih, koristeći 'kopiraj-menjaj-stopi' model.
Govorili smo o načinu kako Subverzija prati i upravlja informacijama u radnoj kopiji.
Sadržaj
Nije bitno koji protokol koristite da pristupite spremištu, uvek vam je potrebno da kreirate bar jedno spremište. Ovo može biti urađeno Subverzionom komandnom linijom ili klijentom sa TortoiseSVN.
Ako još niste kreirali Subverziono spremište, vreme je da to uradite sada.
Kreirajte prazan folder sa imenom SVN (npr. D:\SVN\
), koji se koristi kao koren za sva spremišta.
Kreirajte drugi folder MyNewRepository
unutar D:\SVN\
.
Otvoren komandnu liniju (ili DOS-boks), zamenite u D:\SVN\
i otkucajte
svnadmin create --fs-type fsfs MyNewRepository
Sada imate spremište u D:\SVN\MyNewRepository
.
Otvorite vindouz pretraživač
Kreirajte novi folder i nazovite ga npr. SVNRepository
Desni klik na novo kreirani folder i izaberite → .
Spremište će biti kreirano unutar novog foldera. Nemojte uređivati te fajlove sami!!!. Ako dobijete bilo kakvu grešku osigurajte da folder bude prazan i nije zaštićen od upisivanja.
Takođe ćete biti pitani gde želite da kreirate imeničku strukturu unutar spremišta. Pogledajte opcije o položaju u odeljak pod imenom „Izgled spremišta“.
TortoiseSVN će podesiti željenu ikonu foldera kada kreira spremište tako da možete mnogo lakše identifikovati lokalno spremište. Ako kreirate spremište koristeći oficijalni klijent komandne linije ova ikona foldera neće biti označena.
Takođe preporučujemo da ne koristite file://
pristup uopšte, osim za svrhu lokalnog testiranja. Koristeći server je mnogo sigurnije i pouzdanije za sve osim korišćenja pojedinačnog-razvoja.
Da se pristupi lokalnom spremištu potrbna je putanja do tog foldera. Setimo se da Subverzija očekuje sve putanje spremišta u obliku file:///C:/SVNRepository/
. Zapazimo korišćenje pravih kosih crta u celoj putanji.
Da bi se pristupilo spremištu na mrežnom deljenju i možete koristiti ili mapiranje drajva, ili koristiti UNC putanju. Za UNC putanje oblik je file://ServerName/path/to/repos/
. Primetimo da ovde imamo 2 vodeće kose crte.
Pre SVN 1.2, UNC putanje su bile date u čudnijem obliku file:///\ServerName/path/to/repos
. Ovaj oblik se još podržava, ali se ne preporučuje.
Takođe, teorijski je moguće staviti FSFS spremište na mrežnu podelu i imati višestruki korisnički pristup koristeći file://
protokol, ovo se sigurno ne preporučuje. U stvari treba da strogo obeshrabrimo to, i da ne podržavamo takvo korišćenje zbog mnogih razloga:
Najpre dajete svakom korisniku direktno pravo upisa u spremište, tako da bilo koji korisnik može slučajno obrisati celo spremište ili ga učiniti nekorisnim na neki drugi način.
Drugo, neće svi protokoli za mrežni deljeni prostor podržavatizaključavanje koje zahteva Subverzija, tako da možete naći vaše spremište pokvareno. To se ne mora desiti odmah, ali jednog dana dva korisnika mogu pokušati da pristupe spremištu u isto vreme.
Treće, fajl dozvole mogu biti tako podešene. Možete otići na prirodni Vindouz deljeni prostor, ali SAMBA je posebno teška.
Ako jedna osoba instalira novu verziju klijenta koja dogradi format spremišta svi ostali neće biti sposobni da pristupe spremištu dok takođe ne dograde novu verziju klijenta.
file://
pristup je planiran za lokalni, samo jedan-korisnik pristup, partikularno testiranje i debagovanje. Kada želite deljenje spremišta vi stvarno treba da podesite odgovarajući server, i to nije skoro tako teško kako se može pomisliti. Pročitajte odeljak pod imenom „Pristupanje Spremištu“ za vodič kako izabrati i podesiti server.
Pre nego uvezete vaše podatke u spremište morate najpre razmisliti kako želite da organizujete podatke. Ako koristite neki od preporučenih iugleda kasnije će vam biti lakše.
Postoje neki standardni, preporučljivi načini organizovanja spremišta. Većina ljudi kreira deblo
folder da čuva „glavnu liniju“ razvoja, grane
folder da čuva kopije grana, i oznake
folder da drži kopije oznaka. Ako spremište sadrži samo jedan projekat, tada ljudi često kreiraju vršni folder:
/trunk /branches /tags
Pošto se ovaj položaj tako često koristi, kada kreirate novo spremište koristeći TortoiseSVN, takođe će vam ponuditi da kreira imeničku strukturu za vas.
Ako spremište sadrži više projekata, ljudi čest indeksiraju njhov izgled granama:
/trunk/paint /trunk/calc /branches/paint /branches/calc /tags/paint /tags/calc
...ili projektom:
/paint/trunk /paint/branches /paint/tags /calc/trunk /calc/branches /calc/tags
Indeksiranje pomoću projekata je osetljiv na to da li su projekti blisko uporedivi i da li se svaki može individualno preuzeti. Za uporedive projekte gde možete preuzetii sve projekte ođednom, ili gde su svi projekti vezani zajedno u jedan distribucioni paket, često je bolje indeksiranje grana. U ovom slučaju vam je potrebno jedno deblo za preuzimanje i povezanost između sub-projekata je mnogo lakše vidljiva.
Ako usvojimo vršni nivo /deblo /oznake /grane
pristup, nije ništa reći da imate kopirati celo deblo za svaku granu i oznaku, i u neki put ova struktura nudi najveću fleksibilnost.
Za projekte koji nisu povezani možete više voleti da koristite odvojena spremišta. Kada urezujete izmene, revizioni broj celog spremišta se menja, ne revizioni broj projekta. Ako imate 2 nezavisna projekta deljenje spremišta može značiti velike praznine u revizionim brojevima. Subverzija i TortoiseSVN projekti se pojavljuju na istim adresama domaćina, ali su sasvim nezavisna spremišta omogućavajući nezavisan razvoj i nema kofuzije oko razvojnih brojeva.
Svakako, slobodni ste da zanemarite ovaj zajednički izgled. Možete kreirati bilo koju vrstu varijacija, što god radi bolje za vaš tim. Setite se da što god izaberete to nije stalno urezivanje. Vi možete reorganizovati vaše spremište bilo kada. Pošto su grane i oznake pravi imenici TortoiseSVN ih može pomerati i preimenovati kad god želite.
Prebacivanje sa jednog izgleda na drugi je tek stvar emitovanja serije pomeranja sa serverske strane; Ako ne volite način na koji su stvari organizovane u spremištu, malo žonglirajte okolnim imenicima.
Tako, ako niste već kreirali strukturu osnovnog foldera unutar vašeg spremišta treba to da uradite sada. Postoje dva načina da se to postigne. Ako jednostavno želite da kreirate /deblo /oznake /grane
strukturu možete koristiti pretraživač spremišta da kreirate ta tri foldera (u tri posebna urezivanja). Ako želite da kreirate dublju hijerarhiju tada je to slično najpre kreiranju strukture foldera na disku i njen uvoz pri jedinstvenom urezivanju kao ovo:
kreirajte prazan folder na vašem čvrstom disku
kreirajte željeni vršni-nivo folder strukturu unutar tog foldera - nemojte stavljati nijedan fajl još!
uveite ovu strukturu u spremište preko desni klik na folder koji sadrži ovu strukturu foldera i izborom → U import dijalogu unesite URL vašeg spremišta i kliknite OK. Ovo će uvesti vaš privremeni folder u koren spremišta da kreira osnovni izgled spremišta.
Primetimo da ime foldera koji ste uvezli ne pojavljuje se u spremištu, samo njegov sadržaj. Na primer, napravite sledeću strukturu foldera:
C:\Temp\New\trunk C:\Temp\New\branches C:\Temp\New\tags
Uvezite C:\Temp\New
u koren spremišta, koji će tada izgledati ovako:
/trunk /branches /tags
Koji god tip spremišta da koristite, izuzetno je važno da održavate regularno osiguranje, i da proverite osiguranje. Ako server padne vi ste možda sposobni da pristupite zadnjoj verziji vaših fajlova, ali bez spremišta sva istorja je izgubljena zauvek.
Najjednostavniji (ali se ne preporučuje) način je da se kopira folder spremišta u medijum za bekap. Međutim, morate biti apsolutno sigurni da nijedan proces ne pristupa podacima. U ovom kontekstu pristup znači bilo koji pristup uopšte. Ako je vašem spremištu pristupljeno uopšte u toku kopiranja, (veb pretraživač ostaje otvoren, itd.) bekap će biti nekoristan.
Preporučljivi metod je pokrenuti
svnadmin hotcopy path/to/repository path/to/backup
da se kreira kopija vašeg spremišta na siguran način. Zatim napravite bekap kopiju.
Alat svnadmin
je instalisan automatski kada instališete Subversioni klijent komandne linije. Lakši način da ovo dobijete je da čekirate opciju koja uključuje alat komandne linije dok se instalira TortoiseSVN ali ako želite da skinete zadnju verziju alata komandne linije direktno sa Subversion vebsajt.
Zakačiva skripta je program započet nekim događajem iz spremišta, kao što je kreiranje nove revizije ili izmena neverzionisanih osobina. Svka zakačaljka rukuje sa dovoljno informacija da kaže koji je događaj, na koji cilj se izvršava i korisničko ime osobe koja je pokrenula događaj. U zavisnosti izlaza zakačaljke, ili povratni status, zakačivi program može nastaviti akciju, zaustaviti je ili suspendovati na neki način. Molim pogledajte Hook Scripts u Subverzionoj knjizi za sve detalje o zakačaljkama koje su primenjene.
Ovi zakačivi skriptovi su izvršeni na serveru koji ugošćava spremište. TortoiseSVN takođe omogućava da konfigurišete klijent stranu zakačivih skripti gde se očekuju lokalno pod nekim događajima. Vidite xref linkend="tsvn-dug-settings-hooks"/> za više informacija.
Uzorak zakačivih skripti može se naći u hooks
direktorijum spremišta. Ovi uzorci skripti su dostupni za Uniks/Linuks servere ali potrebno je da budu izmenjeni ako je vaš server osnovan na Vindouzu. Zakačke mogu biti beč fajl ili izvršni. Uzorak dole prikazuje beč fajl koji može biti primenjen pre-revprop-izmene zakačka.
rem Only allow log messages to be changed. if "%4" == "svn:log" exit 0 echo Property '%4' cannot be changed >&2 exit 1
Primetimo da nešto poslato u stdaut se odbacuje. Ako da se poruka pojavi u Ureži Odbaci dijalogu morate je poslati na stderr. U beč fajlu to se postiže korišćenjem >&2
.
Ako zakačivi skript odbija vaše urezivanje onda je njegova odluka izvršna. Ali možete izgraditi mehanizam prekrivanja u samom skriptu koristeći tehniku Magična reč. Ako skript želi da odbije operaciju on najpre skenira poruku dnevnika za specijalnu prolaznu frazu, ili fiksnu frazu ili možda prefiks imena fajla. Ako nađe magičnu reč dozvoljava nastavak urezivanja. Ako fraza nije nađena onda ona može urezivati sa porukama kao „Niste rekli magičnu reč“ :-)
Ako želite učiniti vaše Subverziono spremište dostupno drugima morate uključiti vezu ka njemu od vašeg vebsajta. Jedan način da se to uradi mnogo pristupčnije je da se uključi veza preuzimanja za druge TortoiseSVN korisnike.
Kada instalirate TortoiseSVN on registruje novi tsvn:
protokol. Kada TortoiseSVN korisnik klikne na takvu vezu, dijalog preuzimanja se automatski otvara sa URLom spremišta već upisanim.
Da unesete takvu vezu u vašu html stranicu potrebno vam je da dodate kod koji izgleda nešto kao ovo:
<a href="tsvn:http://project.domain.org/svn/trunk"> </a>
Svakako da bi izgledalo čak bolje ako uključite odgovarajuću sliku. Možete koristiti TortoiseSVN logo ili možete dobaviti lično vašu sliku.
<a href="tsvn:http://project.domain.org/svn/trunk"> <img src=TortoiseCheckout.png></a>
Takođe možete napraviti vezu ka specijalnoj reviziji, na primer
<a href="tsvn:http://project.domain.org/svn/trunk?100"> </a>
Da koristite TortoiseSVN (ili bilo koji drugi Subverzioni klijent), potrebno vam je mesto gde je locirano vaše spremište. Možete uskladištiti vaše spremište lokalno i pristupati mu koristeći file://
protokol ili ga smestiti na serveu i pristupati mu sa http://
ili svnn://
protokolima. Dva server protokola mogu, takođe, biti šifrovana. Koristite https://
ili svn+ssx://
, ili možete koristiti svn://
sa SASL.
Ako koristite javni hosting servis kao SourceForge ili vaš server je već podešen od nekog drugog onda nema šta više raditi. Pomerite u Poglavlje 4, Vodič dnevnog korišćenja.
Ako nemate server i radite sami, ili ako samo razvijate Subverziju i TortoiseSVN izolovano, tada lokalno spremište je verovatno vaš najbolji izbor. Samo kreirajte spremište na vašem PC kako je ranije opisano na Poglavlje 3, Spremište. Možete preskočiti ostatak ovog poglavlja i ići direktno na Poglavlje 4, Vodič dnevnog korišćenja da nađete kako da počnete da ga koristite.
Ako razmišljate da podesite višekorisničko spremište na mrežnom deljenom prostoru, razmislite još jednom. Pročitajte odeljak pod imenom „Pristupanje spremištu na mrežnom deljenom prostoru“ da nađete zašto mi mislimo da je to loša ideja. Podešavanje servera nije tako teško kao što zvuči, i daće vam veću sigurnost i verovatno takođe i brzinu.
Mnogo detaljnije informacije o Subverzija server opcijama i kako izabrati najbolju arhitekturu za vašu situaciju, može se na u Subverzionoj knjizi pod Server Configuration.
U ranim danima Subverzije, podešavanje servera zahteva dobro razumevanje konfiguracije servera i u prethodnim verzijama ovog uputstva mi smo uključili detaljni opis kako podesiti server. Od tada stvari su postale lakše jer sada postoji više prepakovanih server instalatera sposobnih da vas vode kroz podešavanje i proces konfigurisanja. Ove veze ka nekim instalaterima za koje znamo su:
Možete uvek naći poslednju vezu na Subverzioni vebsajt.
Možete naći drugi Kako da vodič na TortoiseSVN vebsajt.
Sadržaj
Ovaj dokument opisuje korišćenje dan za danom klijenta TortoiseSVN. To nije uvod u sistem kontrole verzija, i nije uvod u Subverziju (SV). To je više kao mesto gde se možete vratiti tamo gde približno znate šta želite da uradite, ali ne razumete kako da to uradite.
Ako želite uvod u kontrolu verzija sa Subverzijom, preporučujemo vam da pročitate fantastičnu knjigu: Kontrola verzija sa Subverzijom.
Ovaj dokument je takođe u radu, kao i TortoiseSVN to je i Subverzija. Ako nađete neku grešku, molim vas pošaljite je na poštansku listu da možemo uskladiti dokumentaciju. Neke slike ekrana u Vodiču dnevnog korišćenja (VDK) možda ne odražavaju tekuće stanje softvera. Molim vas da nam oprostite. Mi radimo na TortoiseSVN u svoje slobodno vreme.
Da bi dobili najviše od Vodiča dnevnog korišćenja:
Trebalo bi da već imate instaliran TortoiseSVN.
Trebalo bi da ste familijarni sa sistemom kontrole verzija.
Trebalo bi da znate osnove Subverzije.
Trebalo bi da imate podešen server i-ili da imate pristup Subverzionom spremištu.
Ovo poglavlje opisuje neke od osobina TortoiseSVN koje se primenjuju na skoro sve u uputstvu. Primetite da mnoge od osobina se samo prikazuju unutar Subverzione radne kopije.
Jedna od najvidljivijih osobina TortoiseSVN su prekrivne ikone koje se pojavljuju na fajlovima u vašoj radnoj kopiji. One vam pokazuju, savršeno, koji je od vaših fajlova izmenjen. Uporedite sa odeljak pod imenom „Prekrivne ikone“ da nađete šta različiti prekrivači pokazuju.
Sve TortoiseSVN komande se pozivaju iz kontekst menija vindouz eksplorera. Većina je direktno vidljiva kada uradite desni klik na fajl ili folder. Koje su komande dostupne zavisi od toga da li je fajl ili folder ili njihov predački folder pod kontrolom verzija ili nije. Možete, takođe, videtu stablo TortoiseSVN menija kao deo Eksplorer fajl menija.
Neke komande koje se veoma retko koriste dostupne su samo u proširenom kontekst meniju. Da prikažete prošireni kontekst meni držite Šift taster kada uradite desni klik.
U nekim slučajevima možete videti više TortoiseSVN ulaza. To nije bag!
Ovaj primer je za neverzionisane skraćenice u okviru verzionisanog foldera, i u Eksplorer fajl meniju postoji stablo ulaz za TortoiseSVN. Jedno je za folder, jedno za same skraćenice, i treće za objekte na koje pokazuju skraćenice. Da bismo vam pomogli da ih razlikujete, ikone imaju indikator u donjem desnom uglu koji pokazuje da li je meni ulaz za fajl, skraćenicu ili višestruko selektovane stavke.
Druge komande su dostupne kao vučni rukovaoci, kada desni vuci fajlova i foldera na novu lokaciju unutar radne kopije ili kada desni vuci neverzionisan fajl ili folder u folder koji je pod kontrolom verzija.
Neke zajedničke operacije imaju dobro poznate Vindouz skraćenice, ali se ne pojavljuju na digmićima ili u menijima. Ako ne možete pronaći kako da uradite nešto očigledno, kao što je obnavljanje izgleda, proverite ovde.
Po,oć, svakako.
Osvežite tekući izgled. Ovo je možda jedna najkorisnija jedan-taster komanda. Na primer... U Eksploreru ovo će osvežiti prekrivačke ikone u vašoj radnoj kopiji. U dijalogu narezivanja to će re-skenirati radnu kopiju da vidi šta treba da bude urezano. U dijalogu Dnevnika revizija kontaktiraće još jednom spremište da proveri najskorije izmene.
Izaberite sve. Ovo može biti korisno ako dobijete poruku greške i želite da kopirate i nalepite u e-poštu. Koristite Ctrl-A da izaberete poruku greške i onda ...
Kopira izabrani tekst. Uslučaju da nije izabran tekst ali je npr. lista ulaza ili boks poruke, onda sadržaj liste ulaza ili boks poruke je kopiran u klipbord.
Ako je spremište kome pokušavate da pristupite zaštićeno lozinkom, autentikacioni dijalog će vam biti prikazan.
Unesite korisničko ime i lozinku. Boks prove će učiniti da TortoiseSVN smesti akreditaciju u Subverzionom podrazumevanom folderu: %APPDATA%\Subversion\auth
u stablu subfoldera:
svn.simple
sadrži akreditaciju osnove autentikacije (korisnik/lozinka). Primetimo da su lozinke memorisane korišćenjem VinCript Api, nije u punom tekst formatu.
svn.ssl.server
sadrži SSL sertifikate servera.
svn.username
sadrži akreditaciju autentikacje samo za korsničko ime (lozinka nije potrebna).
Ako želite da obrišete autentifikacioni keš možete to uraditi iz Sčuvani podaci stranice TortoiseSVN dijaloga podešavanja. Dugme će obrisati keširane autentifikacione podatke za sva spremišta. Dugme ponekad će prikazati dijalog gde možete izabrati koje keširane autentifikacione podatke treba obrisati. Uporedite sa odeljak pod imenom „Sčvani podaci podešavanje“.
Neki ljudi vole da izbrišu autentikacione podatke kada se odloguju u Vindouzu ili se isključuju. Način da se to uradi je da se koristi skript za isključenje %APPDATA%\Subversion\auth
directory, e.g.
@echo off rmdir /s /q "%APPDATA%\Subversion\auth"
Možete naći opis kako da instalirate takve skripte je na http://www.windows-help-central.com/windows-shutdown-script.html.
Za više informacija kako da se podesi vaš server za autentikaciju i kontrolu pristupa, pogledaj u odeljak pod imenom „Pristupanje Spremištu“.
Mnogi od TortoiseSVN dijaloga imaju puno informacija da prikažu, ali je često korisno da se maksimizira samo visina, ili samo širina, radije nego da se maksimizira na ceo ekran. Konvencionalno, postoje skraćenice za ovo na Maksimiziraj dugme. Koristi srednj dugme miša da se maksimizira vertikalno, i desni miš da se maksimizira horizontalno.
Ako uvozite u postojeće spremište koje već sadrži neke projekte, tada bi trebalo da su već određene strukture spremišta. Ako uvozite podatke u novo spremište vredi potrošiti vreme na razmišljanju o tome kako bi ga trebalo organizovati. Pročitajte odeljak pod imenom „Izgled spremišta“ za dalje savete.
Ovo poglavlje opisuje Subverzione komande uvoza, koje su napravljene za uvoz hijerarhiju foldera u spremište u jednom cugu. Takođe završava posao, ima više skraćenica:
Nema načina da se izaberu fajlovi i imenici za uključivanje pored korišćenja globalnog podešavanja zanemarivanja.
Uvezeni folder ne postaje radna kopija. Imate da uradite preuzimanje da kopirate fajlove nazad sa servera.
Lako je uvesti u loš nivo foldera u spremištu.
Iz tog razloga preporučujemo da uopšte ne koristite komandu uvoza već da radije pratite dvostepeni metod opisan u odeljak pod imenom „Uvoz na mesto“, osim ako ne primenite jednostavan korak kreiranja inicijalne /trunk /tags /branches
strukture u vašem spremištu. Otkako ste ovde, ovo je kako osnovni uvoz radi...
Pre nego što uvezete vaš projekat u spremište potrebno je da:
Izbacite sve fajlove koji nisu potrebni za gradnju projekta (privremeni fajlovi, koje generiše kompajler npr. *.obj, kompajlirane binarije, ...)
Organizujte fajlove u foldere i podfoldere. Takođe je moguće preimenovanje/pomeranje fajlova kasnije jako je preporučljivo da dobijete pravu strukturu projekta pre uvoza!
Sada izaberite folder vršnog nivoa vaše strukture foldera projekta u vindouz eksploreru i desni klik da se otvori kontekstni meni. Izabeite komandu → koja donosi dijalog boks:
U ovom dijalogu možete uneti URL lokacije spremišta gde želite da uvezete vaš projekat. Veoma je važno da se lokalni folder u koji uvozite ne pojavljuje u spremištu, samo njegov sadržaj. Na primer ako imate strukturu:
C:\Projects\Widget\source C:\Projects\Widget\doc C:\Projects\Widget\images
i uvezeteC:\Projects\Widget
u http://mydomain.com/svn/trunk
možete biti iznenađenida vaši direktorijumi idu pravo u trunk
pre nego u Widget
poddirektorijum. Potrebno je da odredite poddirektorijum kao deo URL, http://mydomain.com/svn/trunk/Widget-X
. Primetimo da uvozna komanda automatski pravi poddirektorije u spremištu ako ne postoji.
Uvozna poruka se koristi kao poruka dnevnika.
Podrazumevano, fajlovi i imenici koji hvataju globalno-zanemariv model nisu uvezeni. Da se premosti ovakvo ponašanje možete koristiti Uključiti zanemarene fajlove čekboks. Konsultujte odeljak pod imenom „Generalno podešavanje“ za više informacija o podešavanju globalnog modela izbegavanja.
Ćim pritisnete NIJE pod kontrolom verzija! Da dobijete verzijom kontrolisanu radnu kopiju potrebno je da uradite Preuzimanje verzije koju ste upravo uvezli. Ili da pročitate kako uvesti folder na mesto.
TortoiseSVN uvozi kompletno stablo foldera uključujući sve fajlove u spremište. Projekat je sada smeten u spremište pod kontrolom verzija. Molim vas primetite to da folder koji ste uvezliUzmimo da već imate spremište i želite da dodate novu strukturu foldera u njega, samo pratite ove korake:
Koristite pretraživač spremišta da kreirate novi folder projekata direktno u spremištu. Ako koristite jedan od standardnih rasporeda vi ćete verovatno želeti da kreirate to kao podfolder debla pre nego korena spremišta. Pretraživač spremišta prikazuje strukturu spremišta upravo kao Vindous eksplorer, tako da možete videti kako su stvari organizovane.
Preuzimanje novog foldera preko vrha foldera koji želite da uvezete. Dobićete upozorenje da lokalni folder nije prazan. Zanemariti upozorenje. Sada imate verzionisani foder vršnog nivoa sa neverzionisanim sadržajem.
Koristite svn:zanemari
osobine foldera i uraditi druge izmene koje su vam potrebne.
Urežite folder vršnog nivoa, i imate novo verzionisano stablo i lokalnu radnu kopiju, kreiranu od postojećeg foldera.
Ponekad vam je potrebno da imate fajl pod kontrolom verzija koji sadrži podatke specifične za korisnika. To znači da imate fajl koji svaki programer/korisnik želi da menja da prati njegovo/njeno lokalno podešavanje. Ali verzionisanje takvog fajla je teško jer svaki korisnik želi da ureže njegove/njene izmene svaki put u spremište.
U takvim slučajevima sugeriramo da se koristi šablon fajlovi. Kreirajte fajl koji sadrži sve podatke koji su potrebni programerima, dodajte taj fajl u kontrolu verzija i pustite da programeri provere ovaj fajl. Zatim, svaki programer je napravio kopiju tog fajla i preimenovao tu kopiju. Posle toga izmene kopija nisu više problem.
Kao jedan primer, možete pogledati u TortoiseSVN skriptu gradnje. Fajl se zove default.build.user
koji ne postoji u spremištu. Samo fajl default.build.user.tmpl
. default.build.user.tmpl
je šablon fajl koji svaki programer trba da kreira njegovu kopiju i da preimenuje taj fajl u default.build.user
. Unutar fajla dodali smo komentare tako da korisnik može da vidi koje linije treba da uredi i izmeni u skladu sa lokalnim podešavanjem da izvrši svoj posao.
Tako da ne bismo uznemiravali korisnike takođe smo dodali fajl default.build.user
u listu zanemarivanja predačkog foldera, tj. podesili smo Subverzionu osobinu svn:ignore
da uključi to ime fajla. Na taj način neće ga prikazivati neverzionisanim u bilo kom urezivanju.
Da biste dobili tadnu kopiju potrebno je da uradite preuzimanje iz spremišta.
Iyaberi folder u vindouz eksploreru gde želite smestiti vašu radnu kopiju. Desni klik da se pojavi kontekst meni i izaberite komandu → , koja daje sledeći dijalog boks:
Ako unesete ime foldera koje još ne postoji, tada će folder tog imena biti kreiran.
Uobičajeno podešavanje, meni stavka preuzimanja nije smeštena u TortoiseSVN submeniju ali je prikazana na vrhu menija pretraživača. ToroiseSVN komande koje nisu u submeniju imaju SVN
pripremljen:
Možete izabrati dubinu koju želite pri pruzimanju, što vam omogućuje da specificirate dubinu rekurzije u potomačkim imenicima. Ako želite samo nekoliko delova velikog stabla, možete preuzeti samo folder vršnog nivoa, zatim uskladite foldere rekurzivno.
Preuzimanje celog stabla uključujući i potomačke foldere i podfoldere.
Preuzimanje specificiranog foldera, uključujući sve fajlove i potomačke foldere, ali ne naseljavati potomačke foldere.
Preuzimanje specificiranih foldera, uključujući sve fajlove ali ne preuzimati bilo koji potomački folder.
Preuzimanje samo foldera. Ne naseljavti ga fajlovima ili potomačkim imenicima.
Zadržati dubinu specificiranu u radnoj kopiji. Ova opcija se ne koristi u dijalogu preuzimanja, ali je podrazumevano u svim ostalim dijalozima koji imaju podešavanje dubine.
Koristi se za redukovanje dubine radne kopije kada je folder već ispunjen. Ova opcije je dostupna samo u Uskladi sa revizijom dijalogu.
Da bi se lako izabrale samo stavke koje želite da preuzmete i prisilite da rezultantna radna kopija sadrži samo te stavke kliknite na dugme prazno preuzimanje
. Obnavljanje ovakve radne kopije neće tražiti nedostajuće fajlove i foldere već obnavlja samo ono što već imate uradnoj kopiji.
Ako preuzimate praznu radnu kopiju (tj, izborom nečeg drugog od potpuno rekurzivno
za dubinu preuzimanja), možete lako dodati ili ukloniti subfoldere kasnije korišćenjem jedan od sledećih metoda:
Desni klik na preuzet folder zatim koristiti → i izaberi . Ovo otvara isti dijalog koji je dostupan pri originalnom preuzimanju i omogućava vam da izaberete i onemogućite stavke koje će obuhvatiti preuzimanje. Ovaj metod je veoma fleksibilan ali može biti spor pošto se svaka stavka u folderu usklađuje pojedinačno.
Desni klik na preuzeti folder, zatim koristite → da dovede pretraživač spremišta. Nađite subfolder koji želite da dodate u vašu radnu kopiju, zatim kristite → .
U dijalogu provere za izmene, najpre šift klik na dugme . Dijalog će prikazati fajlove i foldere, koji su u spremištu a vi ih niste preuzeli, kao daljinski dodati
. Desni klik na folder(e) koji želite da dodate u vašu radnu kopiju, zatim koristite → .
Ova osobina je veoma korisna kada samo želite da preuzmete dao velikog stabla, ali želite konvenciju obnavljanja pojedinačne radne kopije. Pretpostavimo da imate veliko stablo koje ima sub-foldere Project01
do Project99
, i želite da preuzmete Project03
, Project25
i Project76/SubProj
. Koristite ove korake:
Preuzmite predački folder sa dubinom „Samo ova stavka“ Sada imate prazan vršni folder.
Izaberite novi folder i koristite
→ da prikažete sadržaj spremišta.Desni klik na Project03
i → .Čuvajte podrazumevano podešavanje i kliknite na . Vi sada imate folder potpuno popunjen.
Ponovite isti proces za Project25
.
Upravite se ka Project76/SubProj
i uradite isto. Ovog puta primetimo da Project76
folder nema sadržaj osim za SubProj
, koji je sam potpuno poppunjen. Subverzija je kreirala prelazne foldere za vas ne popunjavajući ih.
Kada već preuzmete radnu kopiju do posebne dubine maožete kasnije izmeniti dubinu da dobijete više ili manje sadržaja koristeći Načinite dubinu zalepivom checkbox.
→ . U tom dijalogu obavezno proveritePre-1.5 serveri ne razumeju zahtev za dubinom radne kopije, tako da oni uopšte ne mogu da rade efikasno sa tim zahtevima. Komanda će još raditi ali stari server može slati sve podateke ostavljajući klijentu da filtrira ono što nije potrebno, što može biti veći deo mrežnog saobraćaja. Ako je moguće treba da dogradite server na 1.5.
Ako projekat sadrži reference ka eksternim projektima koje ne želite da preuzmete u isto vreme, koristite Izostaviti eksterne čekboks.
Ako je označenIzostaviti eksterne, ili ako želite da povećate vrednost dubine, imaćete da uradite usklađivanje vaše radne kopije koristeći → umesto → .
Preporučuje se da preuzmete samo samo trunk
deo stabla foldera, ili niže. Ako odredite predačku putanju stabla foldera u URL tada možete završiti sa punim hard diskom jer dobijate kopiju celog stabla spremišta uključujući svaku granu i oznaku vašeg projekta!
Ponekad možete želeti da napravite lokalnu kopiju bez bilo kakvog .svn
foldera, tj. da napravite komprimovanu datoteku sorsa. Pročitajte odeljak pod imenom „Izvoz Subverzione radne kopije“ da nađete kako da to uradite.
Slanjem izmena koje ste uradili u vašu radnu kopiju poznato je kao urezivanje izmena. Ali pre nego što urezujete treba da budete sigurni da je radna kopija obnovljena. Možete ili koristiti
→ direktno. Ili možete koristiti → najpre, da vidite koji su fajlovi izmenjeni lokalno ili na serveru.Ako je vaša radna kopija obnovljena i nema konflikta, vi ste spremni da urežete vaše izmene. Izaberite bilo koji fajl/ili foldere koje želiti da urežete, tada
→ .Dijalog urezivanja će vam pokazati svaki izmnjeni fajl, uključujući dodate, neverzionisane fajlove. Ako ne želite da izmenjeni fajlovi budu urezani, samo otčekirjte te fajlove. Ako želite da uključite neverzionisani fajl, samo čekirajte taj fajl da ga dodate u urezivanje.
Da biste brzo štiklirali ili odštiklirali tipove fajlova kao što su verzionisani fajlovi ili izmenjeni fajlovi, kliknite na naslovne stavke iznad liste prikazanih stavki.
Za informacije o bojenju i prekrivačima stavki u skladu sa njihovim statusom molim vidite odeljak pod imenom „Lokalni i daljinski status“.
Stavke koje su prebačene u različite putanje spremišta takođe su označene korišćenjem (s)
markera. Možete prebaciti nešto dok radite na grani i da to zaboravite da vratite u deblo. Ovo je vaš upozoravajući znak!
Kada urezujete fajlove, dijalog urezivanja prikazuje samo fajlove koje ste izabrali. kada urezujete folder dijalog urezivanja će izabrati izmenjene fajlove automatski. Ako zaboravite novi fajl koji ste kreirali, urezivanje foldera će ga naći u svakom slučaju. Urezivanje foldera ne znači da je svaki fajl označen kao izabran; To samo čini vaš život lakšim radeći više posla za vas.
Ako mislite da dijalog urezivanja prikazuje suviše mnogo neverzionisanih (tj. koje generiše kompajler ili osiguanje uređivača) fajlova, postoji više načina da se to opsluži. Možete:
dodajte fajl (ili vilkard proširenje) listi fajlova za isključenje na stranici podešavanja. Ovo će uticati na svaku radnu kopiju koju imate.
dodajte fajl u svn:ignore
listu koristeći → Ovo će uticati samo na folder na koji ste podesili svn:ignore
. Koristeći SVN Dijalog Osobina, možete zameniti svn:ignore
osobine foldera.
dodaj fajl u svn:global-ignores
listu koristeći → Ovo će uticati na direktorijum gde ste podesili svn:global-ignores
osobinu i sve subfoldere takođel.
Pročitajte odeljak pod imenom „Zanemarivanje fajlova i foldera“ za više informacija.
Dvostruku klik na bilo koji izmenjen fajl u dijalogu urezivanja lansiraće spoljašnji diff alat da prikaže vaše izmene. Kontekst meni će vam dati više mogućnosti, kao što je prikazano na snimku. Takođe možete vući fajlove odavde u drugu aplikaciju kao što je uređivač teksta ili IDE .
Možete poništiti izbor stavki klikom na čekbokslevo od stavke. Za foldere možete koristiti Šift-select da učinite akciju rekurzivno.
Kolone prikazane u donjem panelu su prilagodljive. Ako uradite desni klik na bilo koje zaglavlje kolone videćete kontekst meni koji vam dozvoljava da izaberete koja kolona će se prikazati. Možete i izmeniti širinu kolone koristeći vučnu traku koja se pojavljuje kada pomerate miša preko ivice kolone. Prilagođenja su sačuvana tako da možete videti ista zaglavlja sledeći put.
Podrazumevano je da kada se urezuju izmene, svako zaključavanje koje držite na fajlovima se automatski otključava posle zadovoljavajućeg urezivanja. Ako želite da zadržite zaključavanje budite sigurni da je Čuvaj zaključavanje čekboks je čekiran. Podrazumevano stanje ovog čekboksa uzet je iz no_unlock
opcije u Subverzionom konfiguracionom fajlu. Pročitajte odeljak pod imenom „Generalno podešavanje“ za informacije kako urediti Subverzioni konfiguracioni fajl.
Uobičajeno, urezivanje je urađeno u deblo ili granu, ali ne u znak. Posle svega znak se smatra fiksiranim i ne treba se menjati.
Ako se urezivanje pokuša u znak URL, TortoiseSVN najpre prikazuje dijalog potvrđivanja da osigura da li se to zaista želi. Zato što se u većini slučajeva takva urezicanja dešavaju greškom.
Međutim, ova provera radi samo ako je smeštaj spremišta u jednom od preporučenih opcija, znači da koristi imena deblo
, grane
i znaci
da označi tri glavne površine. U slučaju da je setap različit, detekcija šta je znak/grana/deblo (takođe poznato kao klasifikacija modela
), može biti konfigurisasan u dijalogu podešavanja: odeljak pod imenom „Revizioni Graf Podešavanje“
Možete dovući fajlove u dijalog urezivanja od bilo gde, sve dok vaša radna kopija je preuzeta iz istog spremišta. Na primer, možete imati ogromnu radnu kopiju sa više eksplorer prozora otvorenih na raznim imenicima hijerarhije. Ako želite da izbegnete urezivanje sa vršnog foldera (sa dužim puzačem foldera za proveru izmena) možete otvoriti dijalog urezivanja za jedan folder i vući stavku iz drugog prozora da se uključi u okviru istog atomik urezivanja.
Možete vu-i neverzionisane fajlove obitavaju u okviru radne kopije u dijalogu urezivanja, i oni će biti SVN dodati automatski.
Vučenjem fajlova iz liste na dnu dijaloga urezivanja u boks uređenja dnevnika poruka ubaciće putanju kao pun tekst u boks uređenja. Ovo je korisno ako želite da pišete dnevnik poruke koje obuhvataju putanje koje se koriste pri urezivanju.
Ponekad se fajlovi preimenuju van Subverzije, i oni su prikazani u listi fajlova kao fajl koji nedostaje ili neverzionisani fajl. Da bi izbegli gubljenje istorije potrebno je notirati Subverziji o vezi. Jednostavno izaberite obe stavri, staro ime (nedostajuće) i novo ime (neverzionisano) koristi
→ da se upare dva fajla kao preimenovanje.Ako napravite kopiju fajla ali ste zaboravili da koristite Subverzionu komandu da to uradi, možete popraviti tu kopiju tako da novi fajl ne gubi svoju istoriju. Jednostavno izaberite i staro ime (normalno ili izmenjeno) i novo ime (neverzionisano) i koristite
→ da sparite dva fajla kao kopiju.Dijalog urezivanja podržava Subverzijinu listu izmena osobine da pomogne grupisanjem odgovarjućih fajlova zajedno. Nađite o ovim osobinama na odeljak pod imenom „Liste izmena“.
Ponekad želite da urežete, samo deo izmena koje ste uradili, u fajl. Takava situacija se obično dešava kada radite na nečemu kad je neko hitno fiksiranje potrebno da se ureže, i to fiksiranje se dešava u istom fajlu gde radite.
desni klik na fajl i koristite → . Ovo će kreirati kopiju fajla kakav jeste. Zatim možete urediti fajl, npr. u tekst uređivaču i poništiti sve izmene koje ne želite da urežete. Posle pamćenja ovih izmena možete urezati fajl.
Ako koristite ortoiseMerge da uredite fajl možete ili da uredite izmene koje ste koristili ili markirate sve izmene koje želite da uključite desni klik na izmenjeni blok i koristite → da uključite te izmene. Na kraju desni klik i koristite → što će izmeniti desni pregled da uključi samo izmene koje ste markirali ranije i vratiti izmene koje niste markirali.
Kada se urezivanje završi, kopija fajla se vraća automarski, i imate fajl sa svim vašim izmenama koje još nisu urezane.
Ponekad imate verzionisane fajlove koji se često menjaju koji vi zaista ne želite urezati. Ponekad ovo ukazuje na protok u vašem procesu gradnje - zašto su ti fajlovi verzionisani? da li biste trebali koristiti šablon fajlove? Ali srećom to je neizbežno. Klasičan rezon je da vaš IDE menja vremenske markere u projekt fajlu svaki put kad gradite. Fajl projekta treba da bude verzionisan je uključuje sva podešavanja za gradnju, ali on ne treba da bude urezan baš zbog toga što su vremenski markeri promenjeni.
Da bi se pomoglo u uznemiravajućim situacijama kao što je ova, imamo rezervisanu listu izmena nazvanu ignore-on-commit
. Bilo koji fajl dodat ovoj listi izmena biće automatski otčekiran u dijalogu urezivanja.Još uvek možete urezati izmene, ali imate da izaberete ručno u dijalogu urezivanja.
Budite sigurni da unesete dnevnik poruka koji opisuje izmene koje urezujete. Ovo će vam pomoći da vidite šta se dešava i kada, ako pretražite projektov dnevnik poruka kasnije. Poruka može biti toliko duga ili kratka koliko želite; mnogi projekti imaju uvodne linije o tome šta treba uključiti, jezik koji koristiti, ponekad i strogi format.
Možete primeniti jednostavno formatiranje dnevnika poruka koristeći konvenciju sličnu onoj koja se koristi u okviru elektronske pošte. Da bi se primenilo stilisanje teksta
, koristite *tekst*
za masna slova, _tekst_
za podv učeno, i ^tekst^
za italik.
TortoiseSVN uključuje proveru pravopisa da vam pomogne da dobijete ispravan dnevnik poruka. On će osvetliti sve loše-napisane reči. Koristite kontekst meni da pristupite sugerisanim korekcijama. Svakako, on ne zna svaki tehnički termin koji date, tako da korektno napisane reči ponekad prikazuje kao sa greškom. Ali ne brinite. Treba samo da ih dodate u vaš lični rečnik koristeći kontekst meni.
Prozor sa porukom dnevnika takođe uključuje ime fajla i automatsko kompletiranje. To koristi regularne izraze da se izdvoje klase i imena funkcija iz (tekst) fajlova koje ste urezali, kao i imena fajlova. Ako reč koju ukucate liči na nešto iz liste (posle otkucavanje najmanje tri karaktera, ili pritiskom Ctrl+Space), padajući se pojavljuje omogućavajući vam da izaberete puno ime. Regularni izrazi snabdeveni sa TortoiseSVN drže se u TortiseSVN instalacionom bin
folderu.Možete takođe definisati vaše lične regegzes i smestiti ih u %APPDATA%\TortoiseSVN\autolist.txt
. Svakako, vaša privatna autolista neće biti prepisana kada uskladite vašu instalaciju TortoiseSVN. Ako niste familijarni sa regularnim izrazima pogledajte uvodnik u https://en.wikipedia.org/wiki/Regular_expression, i onlajn dokumentaciju i tutorijal na http://www.regular-expressions.info/.
Uzimanje regeks upravo sada može biti trik, da bi pomoglo sortiranje odgovarajućeg izraza postoji test dijalog koji vam omogućava da unesete izraz i onda ukucate imena fajlova da ga testirate. Pokrenite ga iz komandnog prompta koristeći komandu TortoiseProc.exe /command:autotexttest
Prozor dnevnika poruka obuhvata i mogućnost skraćenice za poruku urezivanja. Ove skraćenice su prikazane u dijalogu autokompletiranja kad jednom otkucate prečicu skraćenice i izborom skraćenice u dijalogu autokompletiranja zatim ubacite pun tekst skraćenice. Skraćenice obezbeđene u TortoiseSVN su u TortoiseSVN instalacionom bin
folderu. Možete takođe definisati vaše lične skraćenice i smestiti ih u %APPDATA%\TortoiseSVN\snippet.txt
. #
je karakter komentar.Nova linija se može ubaciti eskejp karakterom: \n
i \r
. Da se ubaci inverzna kosa crta eskejp je: \\
.
Možete ponovo koristiti prethodno unete poruke dnevnika. Samo kliknite na
da vidite listu zadnjih nekoliko poruka koje ste uneli za ovu radnu kopiju. Broj sačuvanih poruka može biti podešen u TortoiseSVN dijalogu podešavanja.Možete obrisati sve sačuvane poruke od Sačuvani podaci strane TortoiseSVN podešavanja, ili možete obrisati pojedine poruke u okviru dijaloga Nedavne poruke koristeći Briši taster.
Ako želite da uključite proverene putanje u vašem dnevniku poruka, možete koristiti komandu
→ u edit kontroli.Drugi način da se unese putanja u dnevnik poruka da se jednostavno vuku fajlovi iz liste fajlova u edit kontrolu.
Ima nekoliko specijalnih osobina foldera koje mogu biti korišćene da pomognu davanje više kontrole preko formatiranja dnevnika poruka i jezik korišćen modulom za proveru pravopisa. Čitajte odeljak pod imenom „Podešavanje projekta“ za dalje informacije.
Ako ste aktivirali sistem praćenja bagova, možete podesiti jedan ili više Problema u Bug-ID / Issue-Nr: tekst boksu. Višestruki problemi treba da budu odvojeni zarezom.Alternativno, ako koristite regeks-zasnovana podrška tragača bagova, samo dodajte vaš problem reference kao deo dnevnika poruka. Pročitajte više u odeljak pod imenom „Integracija sa Bag Praćenja Sistem / Problem Tragači“.
Posle pritiskanja
, pojavljuje se dijalog koji prikazuje napredovanje urezivanja.Progres dijalogkoristi kodiranje bojama da osvetli različite akcije urezivanja
Urezivanje izmene.
Urezivanje novih dodavanja
Urezivanje brisanja ili zamena
Sve druge stavke
Ovo je podrazumevana šema boja, ali možete prilagoditi ove boje koristeći dijalog podešavanja. Čitajte odeljak pod imenom „TortoiseSVN podešavanje boja“ za više informacije.
Periodično, morate omogućiti da izmene koje su drugi uradili budu inkorporirane u vašu lokalnu radnu kopiju. Proces dobijanje izmena od servera u vašu lokalnu kopiju poznato kao obnavljanje. obnavljanje može biti dato na pojedinačnim fajlovima, skup izabranih fajlova, ililii rekurzivno na celoj hijerarhiji foldera. Da bi obnov, izaberite fajlove i/ili foldere koje želite,desni klik i izaberite → u kontekst meniju pretraživača. Jedan prozor će iskočiti da prikaže napredovanje obnavljanje dok radi. Izmene koje su drugi uradili biće stopljene u vašim fajlovima, čuvajući bilo koje izmene koje možete imati u istim fajlovima. Spremište ne utiče na obnavljanje.
Progres dijalog koristi bpje kodirane da posvetli različite obnovljene akcije
Novq stavka dodata u vašu RK
Redundantne stavke obrisane iz vaše RK, ili nedostajuće stavke zamenjene u vašoj RK.
Izmene iz spremišta sukcesifno su stopljene sa vašim lokalnim izmenama.
Izmene iz spremišta stopljeni sa lokalnim imenama, rezultovane u konfliktima koje treba da rešiti.
Neizmenjena stavka u vašoj RK obnovljen novom verzijom iz spremišta.
Ovo je podrazumevana šema boja, ali možete prilagoditi ove boje koristeći dijalog podešavanja. Čitajte odeljak pod imenom „TortoiseSVN podešavanje boja“ za više informacije.
Ako dobijete bilo koje konflikte u toku obnavljanja (to se može desiti ako su drugi izmenili iste linije u istom fajlu koje ste i vi izmenili i te izmene se ne mogu spariti) tada dijalog prikazuje ove konflikte crveno. Možete uraditi dvostruki klik na ove linije da pokrenete spoljašnji alat za stapanje da se razreše konflikti.
Kada je obnavljanje kompletno, progres dijalog prikazuje ukupnost brojnih stavki obnavljanja, dodatih, uklonjenih, konfliktnih, itd. ispod fajl liste. Ukupna informacija se može kopirati u klipbord koristeći Ctrl+C.
Standardna komanda obnavljanje nema opcija i samo usklađuje vašu radnu kopiju sa GLAVNOM revizijom u spremištu, što je najčešći slučaj. Ako želite više kontrole u toku procesa usklađivanja morate koristiti
→ umesto nje. Ova instrukcija omogućava da uskladite radnu kopiju sa specifičnom revizijom, ne samo sa poslednjom. Pretpostavimo da je vaša radna kopija na reviziji 100, a vi želite stanje na reviziji 50 - tada jednostavno uskladite sa revizijom 50.U istom dijalogu možete takođe izabrati firstterm>dubinu
Da olakšate uključivanje ili isključivanje specifičnih stavki iz preuzimanja kliknite na dugme
. Ovo otvara dijalog gde možete čekirati sve stavke koje želite u vašoj radnoj kopiji i otčekirati sve stavke koje ne želite.Možete izabrati gde ignorisati eksterne projekte pri obnavljanju (tj. reference projekta koje koriste svn:externals
).
Ako uskladite fajl ili folder sa specifičnom revizijom, ne treba da pravite izmene tih fajlova. Dobićete „zastarelo“ poruku o grešci kada pokušate da ih urežete! Ako želite da vratite izmene fakla i ponovo počnete od ranije revizije, možete se vratiti na prethodnu reviziju iz dijaloga revizionog dnevnika. Bacite pogled na odeljak pod imenom „Vrati nazad (poništi) revizije u spremištu“ za dalje instrukcije, i alternativne metode.
može srećom da bude korisno da vidite na šta je vaš projekat ličio u nekom ranijem trenutku njegove istorije. Alu uopšteno, usklađuvanjem pojedinih fajlova sa ranijom revizijom nije dobra ideja jer ostavlja vašu radnu kopiju u nekonzistentno stanje. Ako je fajl koji obnavljamo promenio ime, možete čak naći da je fajl tek nestao iz vaše radne kopije jer nema fajla tog imena da postoji u ranijoj reviziji. Možete takođe primetiti da će stavka pokazati normalan zeleni prekrivač, dakle to je neprepoznatljivi od fajlova koji su obnovljeni.
Ako jednostavno želite lokalnu kopiju stare verzije fajla bolje je koristiti
→ komanda iz dijaloga dnevnika fajla.Ako izaberete više fajlova i foldera u pretraživaču i tada izaberete
, svi ovi fajlovi/imenici se usklađuju jedan po jedan. TortoiseSVN osigurava da ti svi fajlovi/imenici, koji su iz istog spremišta, su usklađeni sa upravo istom revizijom! Čak ako između ovih usklađivanja dođe do drugog urezivanja.U jednom trenutku dobijate konfl ikt kada uskladite/stopite vaše fajlove iz spremišta ili kada prebacite vašu radnu kopiju na različit URL. Postoje dve vrste konflikata :
Fajl konflikt se javlja ako su dva (ili više) programera izmenila istih nekoliko linija fajla.
Konflikt stabla javlja se kadaje programer pomerio/preimenovao/obrisao fajl ili folder, koji je drugi programer pomerio/preimenovao/obrisao ili samo izmenio.
Fajl konflikt se javlja kada dva ili više programera izmene istih nekoliko linija fajla. Kako Subverzija nezna ništa o vašem projektu ostavlja da konflikt razreše programeri. Konfliktna površina u tekstualnom fajlu označena je kao:
<<<<<<< filename your changes ======= code merged from repository >>>>>>> revision
Takođe, za svaki konfliktni fajl Subverzija stavlja tri dodatna fajla u vaš direktorijum:
Ovo je vaš fajl kako je postojao u vašoj radnoj kopiji pre nego ste uskladili vašu radnu kopiju - to je, bez konfliktnih markera. Ovaj fajl ima vaše poslednje izmene u njemu i ništa više.
Ovo je fajl koji je bio u OSNOVNOJ reviziji pre nego ste uskladili radnu kopiju. Dakle, taj fajl koji ste preuzeli pre nego ste uradili vaše zadnje uređenje.
ovo je fajl koji je vaš Subverzioni klijent upravo primio sa servera kada ste uskladili vašu radnu kopiju. Ovaj fajl odgovara GLAVNOJ reviziji spremišta.
Možete lansirati spoljašnji alat za stapanje / konflikt uređivač pomoću <<<<<<<
.
Posle izvršenja komande filename.ext.mine
i filename.ext.r*
fajlovi, da vam omogući da urežete vaše izmene.
Ako imate konflikt sa binarnim fajlovima, Subverzija ne pokušava da stopi same fajlove. Lokalni fajl ostaje neizmenjen (tačno kao što ste ga izmenili) i vi imate filename.ext.r*
fajlove. Ako želite da odbacite svoje izmene i zadržite verziju iz spremišta, samo iskoristite komandu Vrati. Ako želite da zadržite vašu verziju i da prepišete verziju spremišta, koristite komandu Reši, i urežite svoju verziju.
Možete koristiti komandu Rešen za više fajlova sa desnim klikom na predački folder i izborom
→ Ovo će prikazati dijalog listing svih konfliktnih fajlova u tom folderu, i možete izabrati koji da markirate rešenim.Konflikt osobina se javlja kada dva ili više programera izmene iste osobine. Isto kao sa sadržajem fajla, rešavanje konflikta mogu izvršiti samo programeri.
Ako jedna od izmena mora da pokrije drugu tada izaberite opciju Reši koristeći lokalne osobine ili Reši koristeći daljinske osobine. Ako izmene moraju da budu stopljene izaberite Ručno uređenje osobina, sortirajte potrebne vrednosti osobina i markirajte ih kao rešene.
Konflikt stabla javlja se kadaje programer pomerio/preimenovao/obrisao fajl ili folder, koji je drugi programer pomerio/preimenovao/obrisao ili samo izmenio. Postoji mnogo različitih situacija koje mogu prouzrokovati konflikt stabla, i svi oni zahtevaju različite stepene rešavanja konflikta.
Kada je fajl obrisan lokalno u Subverziji, fajl je takođe obrisan iz lokalnog fajl sistema , tako da čak i ako je on deo konfliktnog stabla on ne može pokazati konfliktne prekrivače i ne možete desno kliknuti na njega da rešite konflikt. Koristite Proveri Izmene dijalog da pristupite Uredi konflikte opcijama.
TortoiseSVN vam može pomoći da pronađete ispravno mesto da stopite izmene, ali može biti potreban dodatan rad da se sortiraju konflikti. Zapamtite to da posle obnavljanja radna OSNOVA će uvek sadržati reviziju svake stavke kako je to u spremištu u vreme obnavljanja. Ako vratite izmene posle obnavljanja vraćate se na stanje spremišta, ne na trenutak kada ste počeli da radite svoje lokalne izmene.
Programer A menja Foo.c
i urezuje ga u spremište.
Programer B je istovremeno pomerio Foo.c
u Bar.c
u svojoj radnoj kopiji, ili jednostavno obrisao Foo.c
ili njegov predački folder.
Obnavljanje radne kopije programera B daje konflikt stabla:
Foo.c
je obrisano iz radne , ali je označeno sa konfliktom stabla.opije.
Ako je konflikt od preimenovanja pre nego od brisanja tada je Bar.c
označen kao dodat, ali ne sadrži izmene programera A.
Programer B sada ima da izabere da li da zadrži izmene Programera A. U slučaju preimenovanja fajla on može da stopi izmene u Foo.c
u preimenovanom fajlu Bar.c
. Za jednostavno brisanje fajla ili foldera mora da izabere da čuva stavku sa izmenama Programer A i odbaci brisanje. Ili, označavajući konflikt rešenim bez ikakvog angažovanja odbacuje izmene Programera A.
Dijalog uređenja konflikta omogućava da se stope izmene ako može da se nađe originalni fajl preimenovanog Bar.c
. Ako ima multipl fajlova koji možda pomeraju izvorne onda dugmad za svaki od tih fajlova prikazuju koji vam dozvoljava da izaberete korektan fajl.
Programer A pomera Foo.c
u Bar.c
i urezuje ga u spremište.
Programer B menja Foo.c
u svojoj radnoj kopiji.
Ili u slučaju pomeranja foldera ...
Programer A pomera predački folder FooFolder
u BarFolder
i urezuje ga u spremište.
Programer B menja Foo.c
u svojoj radnoj kopiji.
Obnova radne kopije programera B daje konflikt stabla. Za jednostavni fajl konflikt:
Bar.c
je dodat u radnu kopiju kao normala fajl.
Foo.c
je označen kao izmenjen (sa istorijom) i ima konfliktno stablo..
Za konflikt foldera:
BarFolder
je dodat u radnu kopiju kao normalan folder.
FooFolder
je označen kao dodat (sa istorijom) i ima konflikt stabla.
Foo.c
je označen kao izmenjen.
Programer B sada odluči da li da ide sa reorganizaciojom programera A i stopi njegove izmene u odgovarajući fajl u novoj strukturi, ili jednostavno vrati A-ove izmene i sačuva lokalni fajl.
Da sestope njene lokalne izmene sa mešanjem, izrađivač B mora najpre da nađe ime konfliktnog fajla Foo.c
je preimenovan/pomeren u spremište. Ovo može biti dato korišćenjem dijaloga dnevnika. Onda koristite dugme koje prikazuje korektan izvorni fajl da rešite konflikt.
Ako programer B odluči da su A izmene bile loše ona mora da izabere Markiraj kao rešeno dugme u dijalogu uređivača konflikta. Ovo markira konfliktni fajl/folder kao rešen, ali A programerske izmene treba da budu uklonjene ručno. Ponovo će dijalog dnevnika pomoći da se nađe šta će se ukloniti.
Programer A pomera Foo.c
u Bar.c
i urezuje ga u spremište.
Programer B pomera Foo.c
u Bix.c
.
Obnavljanje radne kopije programera B daje konflikt stabla:
Bix.c
je označen kao dodat sa istorijom.
Bar.c
je dodat u radnu kopiju sa statusom 'normalan'.
Foo.c
je označen kao obrisan i ima konflikt stabla.
Da se reši konflikt, Programer B ima da nađe ime fajla konfliktnog fajla Foo.c
je preimenovano/pomereno u spremištu. Ovo može biti urađeno koristeći dijalog dnevnika.
Zatim programer B ima da odluči koje novo ime fajla Foo.c
da čuva - ono dato od saradnika A ili preimenovanje koje je sam uradio.
Posle ručnog rešenja konflikta programer B, konflikt stabla je označen kao rešen dugmetom u dijalogu konflikt urednika.
Programer A radeći na deblu menja Foo.c
i urezuje ga u spremište.
Programer B radeći na grani pomera Foo.c
u Bar.c
i urezuje ga u spremište.
Stapanje izmena debla programer A u radnu kopiju grane saradnika B daje konflikt stabla:
Bar.c
je već dodat u radnu kopiju sa statusom 'normalan'.
Foo.c
je označeno kao nedostajuće sa konfliktom stabla.
Da se reši konflikt, Programer B ima da označi fajl kao rešen u dijalogu konflikt urednika, što će ga ukloniti iz konfliktne liste. Ona zatim ima da odluči da li da kopira nedostajući fajl Foo.c
iz spremišta i doda ga u radnu kopiju, da li da stopi izmene Programera A u Foo.c
u preimenovan Bar.c
ili da zanemari izmene označavajući konflikt rešenim i da ne radi više ništa.
Primetimo da ako kopirate nedostajući fajl iz spremišta i zatim ga označite rešenim, vaša kopija će ga ponovo ukloniti. Morate najpre rešiti konflikt.
Programer A radeći na deblu pomera Foo.c
u Bar.c
i urezuje ga u spremište.
Programer B radeći na grani menja Foo.c
i urezuje ga u spremište.
Programer A radeći u deblu pomera predački folder FooFolder
u BarFolder
i urezuje ga u spremište.
Programer B radeći u grani menja Foo.c
u svojoj radnoj kopiji.
Stapanje izmena debla programer A u radnu kopiju grane saradnika B daje konflikt stabla:
Bar.c
je označen kao dodat.
Foo.c
je označen kao izmenjen sa konfliktom stabla.
Programer B sada odluči da li da ide sa reorganizaciojom programera A i stopi njegove izmene u odgovarajući fajl u novoj strukturi, ili jednostavno vrati A-ove izmene i sačuva lokalni fajl.
Stapanje njnih lokalnih izmena sa reorganizovanjem programer B mora najpre da nađe ime fajla u konfliktu Foo.c
je preimenovano/pomereno u spremištu. Ovo može biti urađeno korišćenjem dijaloga dnevnoka za stopljeni izvor. Uređivač konflikta prikazuje samo dnevnik za radnu kopiju i ne zna koja je putanja korišćena pri stapanju, tako da to morate naći sami. Izmene onda moraju biti stopljene ručno jer sada nema načina da se to automatizuje ili samo uprosti proces. Ako se izmene prenesu konfliktna putanja je redundantna i može se obrisati.
Ako programer B odluči da su A izmene bile loše ona mora da izabere Markiraj kao rešen dugme u dijalogu uređivanja konflikta. Ovo markira konfliktni fajl/folder kao rešen, ali izmene programera A treba da budu uklonjene ručno. Ponovo će dijalog dnevnika za stopljeni izvor pomoći da se nađe šta je pomereno.
Programer A radeći na deblu pomera Foo.c
u Bar.c
i urezuje ga u spremište.
Programer A radeći na grani pomera Foo.c
u Bar.c
i urezuje ga u spremište.
Stapanje izmena debla programer A u radnu kopiju grane saradnika B daje konflikt stabla:
Foo.c
je označen sa normalnim (neizmenjenim) statusom.
Bar.c
je označen kao dodat sa istorijom.
Foo.c
je označeno kao nedostajući sa konfliktom stabla.
Da se reši ovaj konflikt progamer B ima da nađe ime konfliktnog fajla Foo.c
koje je preimenovano/pomereno u spremištu. Ovo će biti dato korišćenjem dijaloga dnevnika za stopljeni izvor.
Zatim programer B ima da odluči koje novo ime fajla Foo.c
da čuva - ono dato od saradnika A ili preimenovanje koje je sam uradio.
Posle ručnog rešenja konflikta programer B, konflikt stabla je označen kao rešen dugmetom u dijalogu konflikt urednika.
Postoje drugi slučajevi koji su jednostavno označeni kao konflikt stabla zato što konflikt radije obuhvata folder nego fajl. Na primer, ako dodate folder istog imena i u deblo i u granu ionda pokušate da stopite dobićete konflikt stabla. Ako želite da zadržite folder iz cilja stapanja, samo označite konflikt rešenim. Ako želite da koristite jedan od izvora stapanja potrebno vam je da SVN obriše jedan od ciljeva pre nego uradi ponovno stapanje. Ako želite nešto komplikovanije treba to rešiti ručno.
Dok vi radite na svojoj radnoj kopiji često vam treba da znate koje fajlove ste izmenili/dodali/uklonili ili preimenovali, ili čak koji fajlovi su izmenjeni i urezani od drugih.
Sada imate da preuzmete radnu kopiju iz Subverzionog spremišta možete videti svoje fajlove u vindouz eksploreru sa izmenjenim ikonama. Ovo je rezon zašto TortoiseSVN tako popularan. TortoiseSVN dodaje takozvane prekrivne ikone za svaku fajl ikonu koja prekriva originalnu ikonu fajla. Zavisno o Subverzionom stanju fajl prekrivna ikona se razlikuje.
Sveže preuzeta radna kopija ima zelen čekmarku kao prekrivač. To znači da je Subverzioni status normalan.
Čim počnete uređenje fajla, status se menja u modifikovan i prekrivač ikone se menja u crveni uzvičnik marker. Tada možete lako videti koji fajlovi su izmenjeni od zadnjeg obnavljanja vaše radne kopije i treba da bude urezana.
Ako se tokom obnavljanja konflikta javi da se ikona izmeni u žuti uzvičnik marku.
Ako ste podesili svn:needs-lock
osobine fajla, Subverzija čini fajl samo za čitanje dok zaključate fajl. Takvi fajlovi imaju ovaj prekrivač da označi da ste otključali najpre pre nego uređujete fajl.
Ako držite zakčan fajl i Subverzioni status je normalan, ovaj prekrivač ikona vas podseća da treba otključati fajl ako ga ne koristite da omogućite drugim korisnicima da urezuju svoje izmene u taj fajl.
Ova ikona pokazuje da su neki fajlovi i imenici unutar tekućeg foldera bili predviđeni da budu obrisani iz verzije kontrole ili fajl pod kontrolom verzija nedostaje u folderu.
Znak plus vam kaže da taj fajl ili folder je predviđen da bude dodat kontroli verzija.
Uspravna crta vam kaže da fajl i imnik je zanemaren u svrhu kontrole verzija. Ovaj prekrivač je opcionalni.
Ova ikona prikazuje fajlove i foldere koji nisu pod kontrolom verzija, ali nisu zanemareni. Ovaj prekrivač je opcionalni.
U stvari, možete naći da da nisu sve od ovih ikona korišćene u vašem sistemu. To je zato što broj prekrivača koje dozvoljava Windows je veoma ograničen i ako i koristite staru verziju TortoiseCVS, tada nema dovoljno mogućih prekrivajućih pozicija. TortoiseSVN pokušava da bude „Dobar Građanin (TM)“ i ograničava njeno korišćenje prekrivača da takođe da drugim aplikacijama šansu.
Sada ima više Tortoise klijenata (TortoiseCVS, TortoiseHg, ...) limit ikona postaje realni problem. Da bi se to prevazišlo, TortoiseSVN projekat uvodi zajednički skup ikona, koji se unosi kao DLL, koje mogu biti korišćene od svih Tortoise klijenata. Proverite klijent snabdevača da vidite da li je već integrisan :-)
Za opis kako ikone prekrivači odgovaraju Subverzionom statusu i ostale tehničke detalje pročitaj odeljak pod imenom „Prekrivne ikone“.
Ponekad želite da imate detaljnije informacije o fajl/folder nego što je prekrivna ikona. Možete dobiti sve informacije koje Subverzija daje u dijalogu osobina pretraživača. Samo izaberite fajl ili folder i izaberite → u kontekst meniju (primedba: to je normalan meni osobina ulaz koji daje pretraživač, nije deo TortoiseSVN submenija!). U dijalogu osobina TortoiseSVN dodaje novu stranu osobina za fajlove/foldere pod Subverzijinom kontrolom, gde možete videti relevantne informacije o izabranom fajlu/folderu.
To je često jako korisno znati koje fajlove ste menjali i takođe koji fajlovi su izmenjeni i urezani od drugih. To je gde komanda → dolazi ručno. Ovaj dijalog će vam pokazati svaki fajl koji se izmenio na bilo koji način u vašoj radnoj kopiji, kao i bilo koje neverzionisane fajlove koje možete imati.
Ako kliknetet na Šift taster dok kliknete na dugme
tada možete pogledati izmene u spremištu. Na taj način možete proveriti pre obnavljanja da li ima mogućeg konflikta. Takođe možete osveiti izabrane fajlove iz spremišta bez obnavljanja celog foldera. Podrazumeva se da dugme nalazi samo daljinski status sa dubinom preuzimanja radne kopije. Ako želite da vidite fajlove i foldere u spremištu, čak i one koje niste preuzeli, treba da držiteDijalog koristi kolor kodiranje da osvetli satus.
Lokalno imenjene stavke.
if unchanged files are inside a directory that's been moved, the status will show a +
sign in the status column, and it will be colored in blue as well.
Dodate stavke. Stavke koje su dodate sa istorijom ima jedan +
znak u Tekst status koloni, i alattip prikazuje odakle su stavke kopirane.
Obrisane ili nedostajuće stavke.
Stavke izmenjene lokalno i u spremištu. Izmene će biti stopljeni pri obnavljanju. Ovi mogu proizvesti konflikte pri obnavljanju.
Stavke izmenjene lokalno i izbrisane u spremištu, ili izmenjene u spremištu i obrisane lokalno. Ovo će proizvesti konflikte pri obnavljanju.
Nepromenjen i neverzionisane stavke.
Ovo je podrazumevana šema boja, ali možete prilagoditi ove boje koristeći dijalog podešavanja. Čitajte odeljak pod imenom „TortoiseSVN podešavanje boja“ za više informacije.
Prekrivačke ikone su korišćene da dobro označe druga stanja. Donja slika prikazuje sve moguće prekrivače koji se prikazuju ako su neophodni.
Prekrivači su prikazani za sledeća stanja:
Dubina preuzima prazan
, znači samo sama stavka.
Dubina preuzimanja fajlovi
, znači samo te stavke i svi fajlovi potomci bez potomačkog foldera.
Dubina preuzimanja trenitno
, znači samo sama stavka i fajl i folder potomak, ali bez potomaka potomačkog foldera.
Ugnježdene stavke, tj. radne kopije unutar radne kopije.
Eksterne stavke, tj, sve stavke koje su dodate preko svn:externals
osobina.
Stavke koje su vraćene posle urezivanja. Vidi odeljak pod imenom „Urezivanje samo dela fajlova“ za detalje.
Stavke koje imaju izmene osobina, ali samo u svn:mergeinfo
osobine. Ako je bilo koja osobina izmenjena, prekrivači nisu korišćeni.
Stavke koje su prebačene u različitu putanju spremišta takođe su indicirane korišćenjem (s)
markera. Možete prebaciti nešto dok radite na grani i zaboraviti da vratite nazad u deblo. Ovo je vaš znak upozorenja! Kontekst meni vam dopušta da ih opet prebacite nazad u normalnu putanju.
Iz kontekst menija dijaloga možete prikazati razlike izmena. Provera lokalnih izmena vi uradite korišćenjem → . Proverite izmene u spremištu koje su uradili drugi koristeći → .
Takođe možete vratiti izmene u individualnim fajlovima. Ako slučajno obrišete fajl, to će biti prikazano kao Nedostaje i možete koristiti Vrati da se to pokrije.
Neverzionisani i zanemareni fajlovi mogu biti poslati korpu za otpatke koristeći Šifttaster dok kliknete na Obriši.
→ . Ako želiti da obrišete fajlove za stalno (premošćavanjem korpe za otpatke) držiteAko želite da detaljno pregledate fajl, možete ga prevući odavde u drugu aplikaciju kao što je uređivač teksta ile IDE, ili možete sačuvati kopiju jednostavnim prevlačenjem u folder pretraživača.
Kolone su podesive. Ako uradite desni klik na bilo koje zaglavlje kolone videćete kontekst meni koji vam omogućava da izaberete koje kolone će biti prikazane. Takođe možete izmeniti kolone koristeći vučnu ručicu koja se pojavljuje kada pomerate miša preko granica kolona. Ova podešavanja su sačuvana, tako da ćete videti ista zaglavlja sledeći put.
Ako radite na više nezavisnih zadataka odjednom, možete takođe grupirati fajlove zajedno u listu izmena. Pročitajte odeljak pod imenom „Liste izmena“ za više informacija.
Na dnu dijaloga možete videti zbir opsega revizija spremišta u vašoj radnoj kopiji. Ovo su urezane revizije, nisu obnovljene revizije; one predstavljaju opseg revizija gde su ovi fajlovi zadnji urezani, ne revizije koje su obnovljene. Primetimo da je prikazani opseg revizija primenjen samo na prikazanim stavkama, ne na celu radni kopiju. Ako želite da vidite te informacije za celu radnu kopiju morate proveriti Prikaži nemodifikovane fajlove čekboks.
Ako želite jasan pregled radne kopije, tj. prikazujući sve fajlove na svakom nivou hijerarhije foldera, onda Proveri Modifikacije dijalog je najlakši način da se to dostigne. Samo proverite Prikaži nemodifikovane fajlove čekboks da prikažetefajlove u vašoj radnoj kopiji.
Ponekad se fajlovi preimenuju van Subverzije, i oni su prikazani u listi fajlova kao fajl koji nedostaje ili neverzionisani fajl. Da bi izbegli gubljenje istorije potrebno je notirati Subverziji o vezi. Jednostavno izaberite obe stavri, staro ime (nedostajuće) i novo ime (neverzionisano) koristi
→ da se upare dva fajla kao preimenovanje.Ako napravite kopiju fajla ali ste zaboravili da koristite Subverzionu komandu da to uradi, možete popraviti tu kopiju tako da novi fajl ne gubi svoju istoriju. Jednostavno izaberite i staro ime (normalno ili izmenjeno) i novo ime (neverzionisano) i koristite
→ da sparite dva fajla kao kopiju.Često želite da pogledate unutar vaših fajlova da vidite šta ste menjali. Možete izvršiti ovo izborom fajla koji je izmenjen i izborom OSNOVNA
revizija), što je sačuvano posle zadnjeg preuzimanja ili obnavljanje.
Čak i kad nij unutar radne kopije ili kada imate više verzija fajla koji leže okolo, možete još uvek prikazati razlike:
Izaberite dva fajla koja želite da uporedite u eksploreru (npr. koristeći Ctrl i miš) i izaberite iz TortoiseSVN.ovog kontekstnog menija. Fajl na koji je poslednji put kliknuto (onaj koji je u fokusu, tj. tačkasti pravougaonik) biće pregledan kao kasniji.
U idealnom svetu, vi uvek radite samo na jednoj stvari u vremenu, i vaša radna kopija sadrži samo jedan skup logičnih izmena. OK, vratimo se realnosti. To se često dešava da imate da radite na više nezavisnih zadataka odjednom, i kada pogledate u dijalog urezivanja, sve izmene su pomešane zajedno. Osobina lista izmena pomaže vam da grupišete fajlove zajedno, čineći to lakim da se vidi šta radite. Naravno ovo se može raditi samo ako izmene nisu preklopljene. Ako dva različita posla dotiču isti fajl, nema načina da izdvojite izmene.
Možete videti listu promena na više mesta, ali najvažnije je dijalog urezivanja i proveri-za-izmene dijalogu. Počnimo u proveri-za-izmene dijalogu posle vašeg rada na više osobina i više fajlova. Kada prvi put otvorite dijalog svi izmenjeni fajlovi su izlistani zajedno. Pretpostavimo da želite organizovati stvari i grupisati te fajlove saglano sa osobinama.
Izaberite jedan ili više fajlova i koristite
→ da dodate stavku u listu izmena. Početno nema liste izmena tako da najpre treba kreirati novu listu izmena. Dajte joj ime koje opisuje za šta ćete je koristiti i kliknite .Dijalog se menja da pokaže grupe stavki.Kada jednom kreirate listu izmena možete vući i baciti stavke u nju, ili iz druge liste izmena, ili iz Windows Explorer. Vučenjem iz Eksplorera može biti korisno ako vam dozvoljava da dodate stavke u listu izmena u listu izmena pre nego je fajl izmenjen. Mogli ste to uraditi iz proveri-za-izmene dijaloga, ali samo prikazivanjem sve neizmenjene fajlove.
U dijalogu urezivanja možete videti ove iste fajlove, grupisane listom izmena. Osim što daje trenutnu vizuelnu indikaciju grupisanja, možete koristiti grupna zaglavlja da izaberete koji fajl urezati.
TortoiseSVN rezerviše jedno ime liste izmena za sopstveno korišćenje, imenom zanemari-pri-urezivanju
. Ovo se koristi da se označe verzionisani fajlovi koji skoro nikad ne želite da urežete čak i kada imaju lokalne izmene. Osobina je opisana u odeljak pod imenom „Isključivanje stavki iz liste za urezivanje“.
Kada urezujete fajlove koji pripadaju listi izmena normalno je da očekujete da članovi liste izmena nisu više potrebni. Tako se podrazumevano fajlovi uklone iz liste izmena automatski pri urezivanju. Ako želite zadržati fajl u listi izmena, koristite Čuvaj liste izmena čekboks na dnu dijaloga urezivanja.
Lista izmena je čista mogućnost lokalnog klijenta. kreiranjem i uklanjanjem lista izmena ne utiče na spremište, niti na bilo koju radnu kopiju. Ona je jednostavno uobičajeni način da organizujete vaše fajlove.
Primetimo da ako koristite listu izmena, eksternali neće više biti prikazani u svojoj grupi. Ako ima lista izmena fajlovi i folderi se grupišu po listi izmena, ne po eksternalima.
More often than wanted, it's necessary to stop what you were working on and work on something else. For example a serious problem needs immediate dealing with and you have to stop working on the new feature. If possible, you should commit the changes you have done so far and then start working on the urgent issue, but often those changes would break the build or are just not ready for committing yet.
So if you can't commit your local changes yet, you have to put them aside while you're working on the urgent issue. The shelving feature helps you do exactly that: you can store your local changes on a shelve, get your working copy in a clean state again and work on the issue. After you're finished with the urgent issue and you've committed those changes, you can unshelve your shelved work and continue working on your previous task again.
Two new commands are implemented for this. One for shelving and one for unshelving.
To shelve your local changes, select your working copy and use
→ The following dialog allows you to select the files you want to shelve and give a name under which you want to store them.
If you select an existing shelf, then a new version is created for that shelf. If you provide a new name, a new shelf is created for the selected files.
If you click the
button, the shelf is created and your working copy files are reset to a clean state. If you click the button, the shelf is created but your local modifications are kept.To unshelve your changes, use
→ to get the unshelve dialog. This dialog shows you a list of all shelved items. Select the shelved item you want and the version to apply back to your working copy and click .Shelves are purely a local client feature. Creating and removing Shelves will not affect the repository, nor anyone else's working copy.
The shelving feature is still marked as experimental
.
That means that while shelving works as advertised, it is still in a stage where it's heavily improved and worked on. That also means that there's no guarantee that the shelves you create are upwards compatible and future versions might not be able to use them. And of course the UI might change as well in future versions to accommodate new features and behaviors.
Za svaku izmenu koju uradite i urežete, možete omogućiti dnevnik poruka za te izmene. Na taj način možete kasnije naći koje izmene ste uradili i zašto, i imate detaljan dnevnik za vaš razvojni proces.
Dnevnik Revizija Dijalog obnavlja dnevnik poruka i prikazuje vam ga. Displej je podeljen u 3 panela,
Gornji panel prikazuje listu revizija gde su izmene fajla/foldera urezane. Rezultat obuhvata datum i vreme, ličnost koja urezuje reviziju i počinje dnevnik poruka.
Linije prikazane plavo označavaju nešto što je kopirano u ovoj razvojnoj liniji (verovatno iz grane).
Srednji panel prikazuje pun dnevnik poruka za izabranu reviziju.
Donji panel prikazuje listu fajlova i foldera koji su izmenjeni kao deo izabrane revizije.
Ali to je mnogo više od toga - to omogućava komandama kontekst menija koje možete koristiti da dobijete čak više informacija o istoriji projekta.
Ima više mesta odakle možete prikazati Dnevnik dijalog:
Iz TortoiseSVN kontekst submeni
Iz vlasničkih listova
Iz Progresa dijaloga kada je obnavljanje završeno. Tada Dnevnik dijalog samo prikazuje te revizije koje su bile izmenjene od vašeg zadnjeg obnavljanja.
Iz pretraživača spremišta
Ako spremište nije dostupno možete videti Želite da se isključite? dijalog, opisan u odeljak pod imenom „Isključen mod“.
Gornji panel ima Akcije kolonu koja sadrži ikone koje sumiraju šta je dato u reviziji. Ima četiri različitih ikona svaka prikazana u njenoj sopstvenoj koloni.
Ako revizija menja fajl ili folder, izmenjen ikona je prikazana u prvoj koloni.
Ako revizija doda fajl ili folder, dodat ikona je prikazana u drugoj koloni.
Ako revizija briše fajl ili folder, obrisan ikona je prikazana u trećoj koloni.
Ako je revizija premestila fajl ili folder, premešten ikona je prikazana u četvrtoj koloni.
Ako revizija pomeri ili preimenuje fajl ili direktorijum, ikona pomeren se prikazuje u četvrtoj koloni.
Ako revizija zameni fajl ili direktorijum pomeranjem/preimenovanjem, ikona pomeri pomereno je prikazana u četvrtoj koloni.
Ako revizija stopi fajl ili direktorijum ikona stopljen je prikazana u četvrtoj koloni.
Ako je revizija vratila stopljen fajl ili direktorijum ikona vraćeno stapanje je prikazana u četvrtoj koloni.
Vršnji panel dnevnik dijaloga ima kontekst meni koji omogućava da pristupite mnogim informacijama. Neki od ovih meni ulaza javljaju se samo ako je dnevnik prikazan za fajl, a neki samo ako je dnevnik za folder.
Uporedite izabranu reviziju sa vašom radnom kopijom. Podrazumevani Diff-alat je TortoiseMerge koji ide uz TortoiseSVN. Ako je dijalog dnevnika za foldere, ovo će prikazati listu izmenjenih fajlova, i omogućavaju vam da pregledate izmene učinjene u svakom fajlu individualno.
Okrivljuje izabranu reviziju i fajl u vašoj radnoj OSNOVI i poredi izveštaj okrivljavanja koristeći vizualni diff alat. Pročitajte odeljak pod imenom „Razlikeke okrivljavanja“ za više detalja. (samo fajlovi)
Pregled izmena urađenih u izabranoj reviziji kao Unified-Diff fajl (GNU format zakrpa9. Ovo prikazuje samo razlike između nekih linija sadržaja. To je teže za čitanje od vizuelnog poređenja fajlova, ali će prikazati sve izmene zajedno u kompaktnom obliku.
Ako držite pritisnut Šift taster kada kliknete na stavku menija, dijalog najpre prikaže gde ćete podesiti opcije za jedinsteveni dif. Ova opcija obuhvata mogućnost da zanemari izmene krja linija i belina.
Upoređuje izabranu reviziju sa prethodnom revizijom. Ovo radi na sličan način pri poređenju vaše radne kopije.Za foldere ova opcija će najpre prikazati dijalog izmenjenih fajlova koji vam dopušta da izaberetefajlove za poređenje.
Prikazuje dijalog izmenjenih fajlova koji vam omogućava da izaberete fajlove. Okrivite izabranu reviziju, i prethodnu reviziju, i uporedite rezultat koristeći vizualni diff alat. (samo imenici)
Sačuvajte izabranu reviziju u fajl tako da imate stariju verziju tog fajla. (samo fajlovi)
Otvora izabrani fajl, ili sa podrazumevanim prikazivačem tog tipa fajlova, ili sa programom koji ste izabrali. (samo fajlovi)
Krivac za fajl do izabrane revizije. (samo fajlovi)
Otvara pretraživač spremišta da pregleda izabrane fajlove u spremištu kakvi su bili u izabranoj reviziji.
Kreira granu ili oznaka iz izabrane revizije. Ovo je korisno npr. ako zaboravite da kreirate oznaka i već ste urezali neke izmene koje nisu bile pretpostavljene da dođu u tu realizaciju.
Obn vašu radnu kopiju prema izabranoj reviziji. Korisno ako želite da vaša radna kopija odslikava prošlo vreme, ili ako je bilo daljih urezivanja u spremište i želite da uskladite vašu radnu kopiju korak po korak. Najbolje je uskladiti ceo folder u vašoj radnoj kopiji, ne samo jedan fajl, inače će vaša radna kopija postati nekonzistentna.
Ako želite da poništite ranije izmene zauvek, koristite Vrati na ovu revizije umesto toga.i
Vraća u raniju reviziju. Ako ste uradili više izmena, i tada odlučili to da zaista želite da vratite kako su stvari bile u reviziji N, ova komanda vam je potrebna. Izmene su vraćene u vašu radnu kopiju tako da ova operacija ne utiče na spremište sve dok ne urežete izmene. Primetite da će ovo poništiti sve izmene urađene posle izabrane revizije, zamenom fajla/foldera sa ranijom verzijom.
Ako je vaša kopija u neizmenjenom stanju, posle izvršenja ove akcije vaša radna kopija će se pokazati kao izmenjena. Ako već imate lokalne izmene ova komanda će stopiti poništene izmene u vašoj radnoj kopiji.
Ono što se interno dešava je to da Subverzija izvršava vraćanje stapanja svih izmena urađenih posle izabrane revizije, poništavajući efekat tih prethodnih urezivanja.
Ako se posle izvršavanja ovih akcija odlučite da želite da poništiti poništeno i dobićete vašu radnu kopiju nazad u njeno prethodno stanje, treba da koristite → iz Vindouz Eksplorera, koji će odbaciti lokalne izmene učinjene akcijom ovog vraćenog stapanja.
Ako jednostavno želite da vidite kako je fajl ili folder izgledao u ranijoj reviziji, koristite Uskladi sa revizijom ili Sačuvaj reviziju kao... umesto toga.
Poništava izmene od kojih je urađena u izabranoj reviziji. Izmene su vraćene u vašu radnu kopiju tako da ta operacija uopšte neutiče na spremište! Primetimo da će to poništiti izmene urađene samo u toj reviziji; to ne menja vašu radnu kopiju celim fajlom u ranijoj reviziji. Ovo je jako korisno za poništavanje ranijih izmena kada su beć urađene druge nezavisne izmene.
Ako je vaša kopija u neizmenjenom stanju, posle izvršenja ove akcije vaša radna kopija će se pokazati kao izmenjena. Ako već imate lokalne izmene ova komanda će stopiti poništene izmene u vašoj radnoj kopiji.
Ono što se interno dešava je to da Subverzija izvršava vraćanje stapanja te revizije, poništavajući efekat prethodnog urezivanja.
Možete poništiti poništeno kako je gore opisano u Vrati u ovu reviziju.
Stapa izabranu reviziju(e) u različite radne kopije. Dijalog izbora foldera dozvoljava vam da izaberete radnu kopiju u koju stapate, ali posle toga nema dijaloga potvrde, niti bilo kakvo suprotstavljanje da počnete test stapanje. Dobra je ideja stopiti u nemodifikovanu radnu kopiju tako da možete vratiti izmene ako to ne radi!Ovo je korisna osobina ako želite da stopite izabranu reviziju iz jedne grane u drugu.
Uradite sveže preuzimanje izabranog foldera u izabranoj reviziji. To izbacuje dijalog za vas da se potvrdi URL i revizija, i izabere lokacija za preuzimanje.
Izvoz izabranog fajla/foldera u izabranoj reviziji. To izbacuje dijalog za vas da potvrdite URL i reviziju, i izbor lokaciju za izvoz.
Uređuje dnevnik poruka ili autora spojenih prethodnim urezivanjem. Pročitajte odeljak pod imenom „Izmena poruka dnevnika i autora“ da nađete kako to radi.
Pogledajte i uredite bilo koju osobinu revizije, ne samo dnevnik poriku i autora. Uporedite sa odeljak pod imenom „Izmena poruka dnevnika i autora“.
Kopira detalje dnevnika o izabranim revizijama za klipbord. Ovo će kopirati revizioni broj, autora, datum, dnevnik poruka i listu izmenjenih stavki za svaku reviziju.
Pretražuje dnevnik poruka za tekst koji ste uneli. To pretražuje dnevnik poruka koje ste uneli i takođe zbirnu akciju kreiranu Subverzijom (prikazan u donjem panelu). Pretraživanje ne zavisi od veličine slova.
Ovaj meni je prikazan samo ako je SmartBear kod saradnik alat instaliran. Kada se pozove prvi put prikazuje se dijalog koji pita korisnika da unese uverenje i za kod saradnik i SVN. Kada se podešavanja jednom zapamte dijalog podešavanja se više ne prikazuje kada se meni poziva, osim ako korisnik drži Ctrl dok izvršava stavku menija. Konfiguracija i izabrana revizija(e) su korišćene da se pozove kod saradnik grafički korisnički klijent interfejs, koji kreira novi pregled sa izabranom revizijom.
Ako izaberete dve revizije odjednom (koristeći uobičajen Ctrl-modifikator), kontekst meni se menja i daje vam manje opcija:
Upoređuje dve izabrane revizije koristeći vizuelni alat razlike. Podrazumevan Diff-Alat je TortoiseMerge koji ide uz TortoiseSVN.
Ako izaberete opciju za folder, sledeći dijalog izbaci listing izmenjenih fajlova i dozvoljava vam dalje diff opcije. Pročitajte više o Dijalogu Poređenja Revizija u odeljak pod imenom „Poređenje foldera“.
Okrivljuje dve revizije i poredi izveštaj okrivljavanja koristeći vizuelni alat razlika. Pročitajte odeljak pod imenom „Razlikeke okrivljavanja“ za više detalja.
Pregleda razlike između dve izabrane revizije kao Ujedinjen-Diff fajl. To radi za fajlve i foldere.
Kopiranje dnevnika poruka u klipbord kako je opisano iznad.
Traženje poruka dnevnika kako je opisano iznad.
Ako izaberete dve ili više revizija (koristeći obično Ctrlili Shift modifikator), kontekst meni će uneti ulaz da Vrati sve izmene koje su urađene u izabranoj reviziji. Ovo je najlakši način za vraćanje grupe revizija u jednom potezu.
Možete takođe izabrati da stopite izabrane revizije u drugu radnu kopiju, kako je gore opisano.
Ako sve izabrane revizije imaju istog autora, možete urediti autora svih tih revizija u jednom prolazu.
Donji panel dijaloga dnevnika takođe ima kontekst meni koji vam omogućava da
Prikazuje izmene napravljene u izabranoj reviziji za pojedinačne fajlove.
Okrivljavanje izabrane revizije i prethodne revizije za izabrane fajlove, i poređenje izveštaja okrivljavanja koristeći vizualni alat razlike. Pročitajte odeljak pod imenom „Razlikeke okrivljavanja“ za više detalja.
Prikazuje izmene fajla u formatu objedinjene razlike. Ovaj kontekst meni je dostupan samo za fajlove prikazane kao izmenjeni.
Otvara izabrani fajl, ili sa podrazumevanim pregedačem tog tipa fajlova, ili sa programom koji izaberete.
Otvara dijalog Okrivljavanja dozvoljavajući da okrivite izabrane revizije.
Vratiti izmene učinjene izabranim fajlovima u toj reviziji.
Vidi Subverzijine osobine za izabranu stavku.
Prikazuje revizioni dnevnik za izabrane pojedinačne fajlove.
Prikazuje dnevnik revizija za izabrani pojedinačan fajl, uključujući stopljene izmene. Nađite više u odeljak pod imenom „Spajanje osobina praćenja“.
Sačuvati izabranu reviziju fajla tako da imate staru verziju tog fajla.
Izvezite izabrane stavke u ovoj reviziji u folder, čuvajući hijerarhiju fajla.
Kada se izberi višestruki fajlovi u donjem panelu dijaloga dnevnika kontekst meni se menja u sledeći:
Sačuvati izabranu reviziju fajla tako da imate staru verziju tog fajla.
Prikaži izmene napravljene u izabranoj reviziji za izabrane fajlove. Primetimo da je funkcionalnost izmena pozvana više puta, koji mogu doneti višestruke kopije od vas izabranih dif alata, ili samo dodat novi poredbeni tab u vašem dif alatu. Ako imate izabrano više od 15 fajlova bićete upitani da potvrdite akciju.
Ovo će otvoriti fajlove lokalne radne kopije koja odgovara vašim izabranim fajlovima koristeći aplikaciju koja je registrovana za ekstenziju. [Ponašanje je ono što dobijete sa dvostrukim klikom na fajl(ove) radne kopije u Vindouz pretraživaču]. U zavisnosti kako je ekstenzija fajla pridružena aplikaciji i mogućnosti aplikacije ovo može biti spora operacija. U najgorem slučaju nova stavka aplikacije može biti lansirana od Vindouza za svaki fajl koji je izabran.
Ako držite Ctrl dok pozivate komandu, fajlovi radne kopije su uvek uneti u Vizual Studio. Ovo radi samo kada su sledeći uslovi stavljeni: Vizualni Studio mora da radi u istom korisničkom kontekstudok ima isti nivo proces integriteta [radeći kao admin ili ne] kao TortoiseProc.ehe. Može se želeti da ima rezultat koji sadrži unete izmenjene fajlove, takođe to nije striktno neophodno. Jedini fajlovi koji postoje na disku sa ekstenzijama [.cpp, .h, .cs, .rc, .resx, .xaml, .js, .html, .htm, .asp, .aspx, .php, .css and .xml] će biti uneti. Maksimum od 100 fajlova može biti uneto u Vizualni Studio u jednom trenutku i fajlovi su uvek uneti kao novi tabovi u tekuću otvorenu stavku Vizial Studija. Korist pregledanog koda izmeenog u Vizualnom Studiju leži u činjenici da možete koristiti ugrađen navigacioni kod, referentno nalaženje, statik kod analizu i drugi alati urađeni u Vizualnom Studiju.
Izvoz izabranih fajlova/foldera u izabranoj reviziji. Ovo dovodi dijalog da potvrdite URL i reviziju, i izaberete lokaciju za izvoz.
Možete zapaziti da ponekad govorimo o izmenama a drugi put o razlikama. U čemu je razlika?
Subverzija koristi revizione brojeve da označi 2 različite stvari. Revizija generalno predstavlja stanje spremišta u vremenskom trenutku, ali može, takođe, biti korišćena da predstavi skup izmena koji je kreirala ta revizija, npr. „Dato u r1234“ znači da su izmene urezane u r1234 implementiraju osobinu X. Da bi bilo jasno u kom smislu je uzet, koristimo dva različita termina.
Ako izabrete dve revizije N i M, kontekst meni će ponuditi da prikaže razlike između te dve revizije. U Subverzijinim terminima to je diff -r M:N
.
Ako izaberete pojedinačnu reviziju N, kontekst meni će ponuditi da prikaže izmene napravljene u toj reviziji. U Subverzijinim terminima to je diff -r N-1:N
ili diff -c N
.
Donji panel prikazuje fajlove izmenjene u svim izabranim revizijama, tako kontekst meni uvek dozvoljava prikazivanje izmen.
Dnevnik dijalog ne prikazuje uvek sve izmene ikad urađene iz brojnih razloga:
Za ogromna spremišta može biti stotine ili čak hiljade izmena i sve ih pronaći može uzeti mnogo vremena. Normalno, vas interesuju samo najskorije izmene. Podrazmeva se da broj donetih poruka dnevnika ograničen je na 100, ali možete promeniti ovu vrednost u odeljak pod imenom „TortoiseSVN dijalog podešavanje 1“),
→ (Kada je Stani na kopiraj/preimenj boks čekiran, Prikaži Dnevnik će stati u tačku gde je izabrani fajl ili folder kopiran od negde u okviru spremišta. Ovo može biti korisno kada tražimo grane (ili oznake) kako su stale u korenu te grane, i daje brz pokazatelj izmena učinjenih samo u toj grani.
Normalno vi želite da ostavite opcije nečekirane. TortoiseSVN pamti stanje čekboksa, tako će on poštovati vaše preference.
Kada je Prikaži Dnevnik dijalog pozvan u okviru Stopi dijaloga, boks je uvek čekirana kao podrazumevano. To je zbog toga što stapanje najčešće gleda u izmene na granama, i vraćanje ispod korena grane ne čini mišta u tom slučaju.
Primetimo da Subverzija tekuće postavlja preimenovanje kao kopiraj/briši par, tako preimenovanje fajla ili foldera će takođe, uzrokovati zaustavljanje displeja dnevnika ako je ova opcija čekirana.
Ako želite da vidite više poruka dnevnika, kliknite
da vratite sledećih 100 poruka dnevnika. Možete ponoviti ovo toliko puta koliko želite.Sledeće do ovog dugmeta je multi-funkciono dugme koje pamti zadnje opcije za koje ste ga koristili. Kliknite na strelicu da vidite druge opcije koje su ponuđene.
Koristite
ako želite da vidite specifičan opseg revizija. Dijalog će vas onda pitati da unesete početnu i krajnju reviziju.Koristite ceo dnevnik poruka iz GLAVNE nazad do revizije 1.
ako želite da viditeDa osvežite zadnju reviziju u slučaju kada postoje druga urezivanja dok je dijalog dnevnika otvoren, kliknite F5 key.
Da osvežite keš dnevnika, kliknite Ctrl-F5 keys.
Zato što dnevnik dijalog prikazuje dnevnik od GLAVNE, ne od tekuće revizije radne kopije, to se često dešava tamo gde je dnevnik poruka prikazan za sadržaj koji još nije obnovljen u vašoj radnoj kopiji. Pomoć to čini jasnijim, poruka urezivanja koja odgovara reviziji koju imate u vašoj radnoj kopiji prikazana je masnim slovima.
Kada prikazujete dnevnik foldera osvetljena revizija je najviša revizija nađena bilo gde unutar foldera, koja zahteva puzanje radne kopije. Puzanje se pokreće u okviru odvojene niti tako da ne kasni prikazivanje dnevnika, ali kao rezultat toga osvetljavanje foldera se ne pojavljuje trenutno.
Subverzija 1.5 i kasnije čuvaju svedočanstvo o stapanju koristeći osobine. Ovo nam omogućava da dobijemo detaljniju istoriju stopljenih izmena. Na primer, ako razvijate nove osobine na grani i zatim stopite tu granu nazad u deblo, dalji razvoj će pokazati u dnevniku debla pojednačno urezivanje za stapanje, čak i ako možda ima 1000 urezivanja u toku razvoja grane.
Ako želite da vidite detalje koje revizije su stopljene kao deo tog urezivanja, koristite Uključene stopljene revizije čekboks. To će ponovo naći dnevnik poruka, ali će takođe ubaciti dnevnik poruka iz revizija koje su stopljene. Stopljene revizije su prikazane sivo jer prikazuju izmene učinjene na različitim delovima stabla.
Svakako, stapanje nikad nije jednostavno! U toku daljeg razvoja na grani verovatno će biti slučajnih stapanja nazad iz debla da se sačuva grana i sinkronizuje sa glavnom linijom koda. Tako da istorija stapanja grane takođe uključuje sledeći sloj istorije stapanja. Ovi različiti slojevi su prikazani u dijalogu dnevnika koristeći nivoe uvlačenja.
Revizione osobine su kompletno različite od Subverzionih osobina svake stavke. Revprops su opisne stavke koje su pridružene specifičnom revizionom broju, kao što je dnevnik poruka, datum urezivanja i ime (autor) urezivanja.
Ponekad možete poželeti da izmenite dnevnik poruku koju ste nekad uneli, možda zato što je sintksna greška u njoj ili želite da poboljšate poruku ili je izmenite iz drugih razloga. Ili želite da izmenite autora urezivanja jer ste zaboravili da podesite autentikaciju ili...
Subverzija vam dozvoljava da izmenite revizione osobine uvek kad to želite. Ali posle takvih promena nije moguće vraćanje (ove izmene nisu verzionisane) ove osobine su onemogućene uobičajeno.Da se uradi ovaj posao morate podesiti pre-revprop-izmene zakačaljku.Molim pogledajte poglavlje Hook Scripts u Subverzionoj knjizi za detalje o tome kako to uraditi.. Pročitajte odeljak pod imenom „Zakačive skripte sa serverske strane“ da nađete neke dalje zabeleške o primeni zakačaljki na Vindouz mašini.
Kada jedanput podesite svoj server sa željenim zakačaljkama, možete menjati autora i dnevnik poruku (ili drugi revprop) bilo koje revizije, koristeći kontekst meni iz gornjeg panela Dnevnik dijaloga. Možete takođe uređivati dnevnik poruku koristeći kontekst meni iz srednjeg panela.
Pošto Subverzione revizione osobine nisu verzionisane, pravljenjem izmena u tim osobinama (na primer, svn:log
poruka urezivanja osobina) će prekriti prethodnu vrednost osobine zauvek.
Pošto TortoiseSVN čuva keš svih informacija dnevnika, uređenje urađeno za autore i poruke dnevnika prikazaće samo vašu lokalnu instalaciju. Ostali korisnici koristeći TortoiseSVN će samo videti keširane (stare) autore i poruke dnevnika sve dok ne osveže keš dnevnika. Uporedite sa odeljak pod imenom „Obnavljanje izgleda“
Ako želite da ograničite dnevnik poruke da prikazuju samo ono što vas interesuje pre nego da premotavate listu od stotinu, možete koristiti filter kontrolu na vrhu Dnevnik Dijaloga. Početak i kraj datum kontrolišu da vam dozvole da ograničite izlaz na poznat opseg datuma. Boks pretraživanja vam omogućava da prikažete samo poruke koje sadrže pojedine fraze.
Kliknite na ikonu pretraživanja da izaberete koje informacije želite da tražite, i izaberite regex mod. Normalno je da vam samo treba jednostavno sub-string pretraživanje teksta, ali ako vam treba fleksibilnije pretraživanje možete koristiti regularne izraze. Ako lebdite mišem preko boksa, alatsavet će vam dati napomenu kako da koristite regeks funkcije. Filter radi tako što proveri da li vaš filter string nalazi dnevnik ulaze, i zatim samo one ulaze koji nalaze filter string koji je prikazan.
Jednostavno pod-string pretraživanje radi na sličan način kao kod mašine za traženje. Stringovi koji se traže su razdvojeni razmakom i ceo string mora da bude nađen. Možete koristiti vodeći -
da ukažete da poseban pod-string nije nađen (invertuje upoređivanje za taj pojam), i možete koristiti !
na početku izraza da invertujete upoređivanje za ceo izraz. Možete koristiti vodeći +
da odredite da taj pod-string treba uključiti, čak i ako je prethodno isključen sa -
. Primetimo da je redosled inkluzije/ekskluzije značajan ovde. Možete koristiti navodnike da zaokružite string koji mora da sadrži razmake, i ako želite da tražite navodnike vi morate da koristite dva navodnika zajedno kao samopokazujuću sekvencu. Primetimo da inverzna kosa crta nije korišćena kao eskejp karakter i nema poseban značaj u jednostavno pod-string traženju. Primer će ovo učiniti jednostavnijim:
Alise Bob -Eve
traži stringove koji sadrže Alice i Bob ali ne Eve
Alice -Bob +Eve
traži stringove koji sadrže Alice ali ne Bob. ili stringove koji sadrže Eve
-Case+SpecialCase
traži stringove koji ne sadrže Case, ali još uvek uključuje stringove koji sadrže SpecialCase.
!Alice Bob
traži stringove koji ne sadrže Alice i Bob
!-Alice -Bob
sećate li se De Morganove teoreme? Ne(Ne Alice I Ne Bob) redukuje se u (Alice ILI Bob).
"Alice i Bob"
straži literalni izraz „Alice i Bob“
""
traži dvostruke navodnike bilo gde u tekstu
"Alice kaže ""haj""Bobu"
traži izraz „Kaže "haj" Bobu“.
Opisujući korišćenje regularnih izraza pretraživanja je izvan razmatranja ovog uputstva, ali možete naći onlajn dokumentaciju i uputstvo na http://www.regular-expressions.info/.
Primetiom da ovi filtri deluju na poruke već obnovljene. Oni ne kontrolišu skidanje poruka iz spremišta.
Možete takođe filtrirati imena putanja u donjem panelu koristeći Sakri nepovezane izmenjene putanje čekboks. Povezane putanje su one koje sadrže putanju korišćenu da prikaže dnevnik. Ako nađete dnevnik za folder, to znači da je bilo šta u tom folderu ili ispod njega. Za fajl znači samo da je to jedan fajl. Normalno lista putanja prikazuje bilo koju drugu putanju zakačenu istim urezivanjem, ali sivo. Ako je boks čekiran ove putanje su sakrivene.
Ponekad će vaša radna praksa zahtevati da dnevnik poruke prate poseban format, što znači da tekst koji opisuje izmene nije vidljiv u skraćenom sažetku prikazanom u gornjem panelu. Osobina tsvn:logsummary
se može koristiti da izdvoji deo dnevnik poruke da bude prikazan na vršnom panelu. Pročitajte odeljak pod imenom „Osobine TortoiseSVN projekata“ da nađete kako da koristite ovu osobinu.
Pošto formatiranje zavisi od pristupu Subverzionim osobinama, možete videti samo rezultate kada koristite preuzetu radnu kopiju. Nalaženje osobina daljinski je spora operacija, tako da nećete videti ovu osobinu u akciji iz repo pretraživača.
dugme dovlači boks koji prikazuje neke interesantne informacije o revizijama prikazanaim u Dnevnik dijalogu. Ovo prikazuje koliko autora je radilo, koliko urezivanja je urađeno, nedeljni napredak, i još mnogo šta. Sada možete videti jasno ko radi naporno i ko zabušava ;-)
Ova strana vam daje sve brojeve o kojima možete razmišljati, posebno period i broj revizija koje su pokrivene i neke min/maks/srednje vrednosti.
Ovaj graf prikazuje koji autori su aktivni na projektu pomoću jednostavnog histograma, stek histograma ili pita dijagrama.
Tamo gde je malo glavnih autora i mnogo sporednih pomoćnika, broj tankih segmenata čini graf teškim za čitanje. Klizač na dnu omogućava vam da podesite prag (kao procenat ukupnog urezivanja) ispod koga je bilo koja aktivnost grupisana u kategoriju Drugi.
Ova strana vam daje grafički prikaz aktivnosti projekta u terminima broja urezivanja i autor. To daje neke ideje o tome kada je projekat rađen i ko je radio u koje vreme.
Kada postoji više autora, dobićete mnogo linija na grafu. Postoji dva moguća pogleda ovde: normalan, gde svaka autorska aktivnost je relativna na osnovnu liniju, i stekovana, gde je svaka autorska aktivnost relativna na liniju ispod. Kasnije opcije izbegavaju linije koje se presecaju preko grafa što čini graf lakšim za čitanje ali manje lak da se vidi izlaz za jednog autora.
Podrazumevano je da je analiza zavisna od veličine slova tako da korisnici PeterEgen
i PeteRegen
se tretiraju kao različiti autori. Međutim, u mnogim slučajevima imena korisnika nisu zavisna od veličine slova, i ponekad se unose nekonzistentno, tako da možete poželeti da DavidMorgan
i davidmorgan
budu tretirani kao ista osoba. Koristite Autori nezavisni od veličine slova čekboks da kontrolišete kako se ovim rukuje.
Primetimo da statistika pokriva isti period kao i Dnevnik dijalog. Ako on prikazuje samo jednu reviziju tada statistika vam neće reći mnogo.
Ako server nije dostupan, i imate omogućeno keširanje dnevnika možete koristiti dnevnik dijalog i revizioni graf u isključenom modu. Ovo koristi podatke iz keša, koji dopuštaju da nastavite sa radom mada informacije nisu ažurne ili su nekompletne.
Ovde imate tri opcije:
Kompletirati tekuće operacije u iskoljučenom modu, ali pokušati da spremište traži podatke dnevnika sledeći put.
Ostati isključen mod dok se zahteva specifična provera spremišta. Vidite odeljak pod imenom „Obnavljanje izgleda“.
Ako ne želite da nastavite operisanje sa moguće zastarelim podacima, samo odustanite.
Učini ovo podrazumevanim boks provere predupređuje ovaj dijalog od ponovnog pojavljivanja i stalnog uzimanja opcije koju ste tada izabrali. Možete samo izmeniti (ili ukloniti) podrazumevanu stavku posle izrade toga preko → .
Ako želite da proverite server ponovo za nove dnevnik poruke, možete jednostavno da osvežite pregled koristeći F5. Ako koristite dnevnik keš (omogućen podrazumevano), to će proveriti spremište za nove poruke i naći će samo nove. Ako je dnevnik keš bio u isključenom modu, to će dovesti do njegovog uključenja.
Ako koristite dnevnik keš i smatrate da je sadržaj poruke ili autor možda izmenjen, možete koristiti Shift-F5 or Ctrl-F5 da ponovo nađete prikazane poruke sa servera i uskladite dnevnik keš. Primetimo da to utiče samo na trenutno prikazane poruke i ne čini neispravnim ceo keš za to spremište.
Jedan od najčešćih zahteva u razvoju projekta je da se vidi šta je izmenjeno. Možete želeti da vidite razlike između dve revizije istog fajla, ili razlike između dva posbna fajla. TortoiseSVN ima ugrađen alat zvani TortoiseMerge za pregledanje razlika tekst fajlova. Da bi se pregledale razlike fajlova slika, TortoiseSVN takođe ima alat koji se zove TortoiseIDiff. svakako, možete koristiti vaš favorit diff program ako želite.
Ako želite da vidite koje izmene ste vi uradili u vašoj radnoj kopiji, samo koristite eksplorerov kontekst meni i izaberite → .
Ako želite da vidite šta je izmenjeno na deblu (ako radite na grani) ili na specifičnoj grani (ako radite na deblu), možete koristiti eksplorer kontekst meni. Samo držite Shift taster dok uradite desni klik na fajl. Tada izaberite → . U sledećem dijalogu specificirajte URL u spremištu sa kojim hoćete da poredite vaš lokalni fajl.
Možete takođe koristiti pretraživač spremišta i izabrati dva stabla za diff, možda dve oznake, ili granu/oznaku i deblo. Kontekst meni omogućava vam da ih poredite koristeći odeljak pod imenom „Poređenje foldera“.
. Pročitajte više uAko želite da vidite razlike između posebne revizije i vaše radne kopije, oristite Revizioni Dnevnik dijalog, izaberite reviziju koja vas interesuje, zatim izaberite
iz kontekst menija.Ako želite da vidite razlike između zadnje urezane revizije i vaše radne kopije, uzimajući da radna kopija nije izmenjena, samo uradite desni klik na fajl. Zatim izaberite
→ . Ovo će omogućiti diff između revizije pre zadnjeg -urezivanja-datuma (kako je zapisana u vašoj radnoj kopiji= i radne OSNOVE. Ovo vam prikazuje zadnje izmene tog fajla koje su dovele do stanja koje sada vidite u vašoj radnoj kopiji. To će prikazati izmene novije od vaše radne kopije.Ako želite da vidite razlike između dve revizije koje su već urezane, koristite Revizioni Dnevnik i izaberite dve revizije koje želite da poredite koristeći uobičajen Ctrl-modifikator). Zatim izaberite iz kontekst menija.
Ako ovo uradite iz revizionog dnevnika za foldere, Poređenje Revizija dijalog se pojavljuje, prikazujući listu izmenjenih fajlova u tom folderu. Pročitajte više u odeljak pod imenom „Poređenje foldera“.
Ako želite da vidite izmene napravljene na svim fajlovima u pojedinoj reviziji u jednom pregledu, možete koristiti Ujedinjen-Diff izlaz (GNU format zakrpa). Ovo prikazuje samo razlike nekoliko linija u sadržaju. Teže je čitati nego vizuelno poređenje fajla, ali će prikazati sve izmene zajedno. Iz Revizioni Dnevnik dijaloga izaberite reviziju koja vas interesuje, zatim izaberite
iz kontekst menija.Ako želite da vidite razlike između dva različita fajla, možete to uraditi direktno u pretraživaču izboromoba fajla (koristeći običan Ctrl-modifikator). Zatim iz pretraživačevog kontekst menija izaberite → .
Ako fajlovi za poređenje nisu smešteni u istom folderu koristite komandu Ctrl-modifikator dok klikćete.
→ da označite prvi fajl za difovanje, zatim potraljžite drugi fajl i koristite → . Da uklonite označen fajl koristite komandu → ponovo ali držiteAko želite da vidite razlike između fajla u vašoj radnoj kopiji, i fajl u bilo kojem Subverzionom spremištu, možete to uraditi direktno u pretraživaču izborom fajla zatim držeći Shift taster dok desnim klikom dobijete kontekst meni. Izaberite → . Možete uraditi istu stvar za folder radne kopije. TortoiseMerge prikazuje ove razlike na isti način kao što je prikazano u fajlu zakrpe - lista izmenjenih fajlova koje možete pregledati jedan po jedan.
Ako želite da vidite ne samo razlike već i autore, revizija i datum gde su izmene izvršene, možete kombinovati diff i okrivi izveštaje u okviru revizionog dnevnik dijaloga. Pročitajte odeljak pod imenom „Razlikeke okrivljavanja“ za više detalja.
Ugrađeni alat koji daje TortoiseSVN ne podržava viđene razlike između hijerarhije foldera. Alo ako imate spoljašnji alat koji podržava te osobine možete ga koristiti umesto toga. U odeljak pod imenom „Spoljašnji Razl/Stopi alat“ mi vam kažemo o nekim alatima koji su korišćeni.
Ako ste konfigurisali diff alat treće strane, možete koristiti Shift kada izaberete Diff komandu da koristite alternativni alat. Pročitajte odeljak pod imenom „Spoljašnji program podešavanja“ da nađete o konfiguraciji drugih diff alata.
Ponekad u životu projekta možete izmeniti završetak linija od CRLF
u LF
, ili možete izmeniti uvlačenje paragrafa. Na nesreću ovo će označiti veliki broj linija kao izmenjene, čak i kad nema izmena značajnog koda. Opcije će ovde pomoći da se upravlja ovim izmenama kada one dođu da se uporede i primene razlike. Možete videti ova podešavanja u Stopi i Okrivi dijalozima, isto kao i u podešavanju TortoiseMerge.
Zanemari završetak linija izbacuje izmene koje su samo zbog razlika u stilu završetka linija.
Poređenje belina uključuje sve izmene u uvlačenju i beline unutar linije kao dodate/uklonjene linije.
Zanemari izmene beline isključuje izmene koje su samo zbog izmena u iznosu ili tipu beline, npr. izmenom uvlačenja ili izmenom tabova ili razmaka. Dodavanjem beline gde nisu bila ranije, ili potpuno uklanjanjem beline je još uvek je prikazano kao promena.
Zanemari sve beline isključuje sve samo-belina izmene.
Prirodno, svaka linija sa izmenjenim sadržajem uvek je uključena u diff.
Kada izaberete dva stabla u okviru pretraživača spremišta, ili kada izaberete dve revizije foldera u dnevnik dijalogu, možete → .
Ovaj dijalog prikazuje listu fajlova koji su izmenjeni i dozvoljava vam da uporedite ili okrivite njih pojedinačno koristeći kontekst meni.
Možete izvesti stablo izmena, što je korisno ako želite da pošaljete još nekome strukturu stabla projekta, ali sadrži samo fajlove koji su izmenjeni. Ova operacija radi samo na izabranim fajlovima, potrebno je da izaberete fajlove od interesa - obično to znači svi od njih - i zatim → . Bićete upitani za lokaciju da sačuvate stablo izmena.
Možete takođe izvesti lista izmenjenih fajlova u tekst fajl koristeći → .
Ako želite da izvezete listu fajlova i akciju (izmenjen,dodat,obrisan) takođe, možete to uraditi koristeći →
Dugme na vrhu omogućava da izmenite pravac poređenja. Možete prikazati izmene potrebne da uzmete od A do B, ili ako više volite, od B do A.
Dugmići sa revizionim brojevima na sebi mogu se koristiti za izmene za različite revizione opsege. Kada izmenite opseg, lista stavki koja pravi razliku između dve revizije biće obnovljen automatski.
Ako je lista fajlimena veoma duga, možete koristiti traži boks da redukujete listu fajlimena koja sadrže specifičan tekst. Primetimo da se koristi jednostavno pretraživanje teksta, zako da ako želite da redukujete listu na C izvorne fajlove morate uneti .c
pre nego *.c
.
Postoji mnogo alata dostupnih za razlikovanje tekst fajlova, uključujući naš TortoiseMerge, ali mi često nalazimo sebe da želimo takođe da vidimo kako kako se fajl slike izmenio. To je zašto smo kreirali TortoiseIDiff.
→ za svaki od čestih fajl formata slike će startovati TortoiseIDiff da prikaže razlike u slici. Podrazumevano slike se prikazuju strana-po-stranu ali možete koristiti Pregled meni ili alatnom panelu da pređete na vrh-dno pregled umesto toga, ili ako više volite, možete preklopiti slike i pretpostaviti da koristite lajtboks.
Prirodno je da možete povećati ili smanjiti ili kružiti oko slike. Možete prikazati sliku u panelu jednostavnim levim-vučenjem. Ako izaberete Veži slike zajedno opciju, zatim otvorite panel kontrolu (skrolpult, mištočkić) na obe vezane slike.
Info boks slike prikazuje detalje fajla slike, kao što su veličina u pikselima, rezolucija i dubina boja. Ako se ovaj boks dobije koristite
→ da ga sakrijete. Možete dobiti iste informacije u alatsavetu ako letite mišem preko pulta naslova slike.Kada su slike prekrivene, relativni intezitet slike (alfa mešavina) se kontroliše klizačem sa leve strane. Možete kliknuti bilo gde na klizaču da se podesi mešavina direktno, ili možete vući klizač da promenite mešavinu interaktivno. Ctrl+Shift-Wheel da izmenite mešavinu.
Dugme iznad slajdera varira između 0% i 100% mešavine, i ako dvostruko kliknete na dugme, smeša se menja automatski svake sekunde dok ne kliknete na dugme ponovo. Ovo može biti korisno kada tražite više malih promena.
Ponekad želite da vidite razlike pre nego smešu. Možete imati fajlove slike iz dve revizije ploče štampanog kola i želeti da vidite koje su trake promenjene. Ako onemogućite mod alfa smeše razlika će biti prikazana kao XOR vrednosto boje piksela. Nepromenjene površine biće potpuno bele a izmene će biti obojene.
Kada želite da dif ne-tekst dokumente vi normalno koristite softver korišćen da kreirate dokument koji razume format fajla. Za zajdničko korišćenje Mikrosoft Open Ofice postoji naravno određena podrška za pregledanje razlika i TortoiseSVN uključije skripte da ih dozove sa ispravnim podešavanjem kada vi dif fajlove sa dobro poznatom ekstenzijom. Vi proverite koja ekstenzija je podržana i dodate vašu odlaskom na Eksterni programi section.
→ i kliknite uAko ste instalirali Click-to-Run verziju Ofisa 2010 i pokušate da dif dokumenta možete dobiti poruku greške od Vindous Skript Hosta nešto kao ovo: „ActiveX komponenta ne mogu kreirati objekat: word.Application“. Izgleda da koristite MSI-osnovanu verziju Ofice da dobijete dif funkcionalnost.
Ako alat kojim smo se snabdeli ne radi o što nam treb, treba probati jedan od mnogih programa otvorenog koda ili komercijalnih koji su dostupni. Svako ima svoje favorite i ta lista izgleda da nije kompletna, ali evo šta treba razmotriti:
WinMerge is a great open-source diff tool which can also handle directories.
Perforce je komercijalni RCS, ali možete skinuti diff/stopi alat besplatno. Uzmite više informacija sa Perforce.
KDiff3 je besplatan diff alat koji takođe može da opslužuje foldere. Možete ga skinuti sa here.
SourceGear Vault je komercijalni RCS, ali možete skinuti dif/merdž alat besplatno. Preuzmite više informacija sa SourceGear.
EgzamDiff Standard je slobodan. Može raditi sa fajlovima ali ne sa imenicima. EgzamDiff Pro je šerver i dodaje brojne pogodnosti uključujući diff foldera i mogćnosti uređenja. U oba slučaja, verzija 3.2 i iznad koriste junikod. Možete ih skinuti sa PrestoSoft.
Sličan EgzamDiff Pro, ovo je je izvanredan šerver diff alat koji radi sa diff foldera i junikodom. Skinite ga sa Scooter Software.
Araksis Merge je koristan komercijalni alat za diff i stapanje fajlova i foldera. On radi trostruko poređenje u stapanju i ima sinhronizacionu vezu za korišćenje ako ste izmenili red funkcija. Skinite ga sa Araxis.
Pročitajte odeljak pod imenom „Spoljašnji program podešavanja“ za informacije kako da se podesi TortoiseSVN da koristi ove alate.
Ako ste kreirali nove fajlove i/ili foldere u toku procesa razvoja tada vam je potrebno da ih dodate u alat za kontrolu izvernog koda takođe. Izaberite fajl(ove) i/ili folder i koristite → .
Posle dodavanja fajlova/foldera kontroli koda fajlovi se pojavljuju sa dodat
prekrivnom ikonom koja znači da najpre treba da urežete vašu radnu kopiju da učinite ove fajlove/foldere dostupne drugim programerima. Dodavanjem fajla/foldera ne ne utiče na spremište.
Takođe možete koristiti Dodaj komandu na već verzionisane foldere. U tom slučaju dodaj dijalog će prikazati sve neverzionisane fajlove unutar verzionisanog foldera. To vam pomaže da ako imate puno novih fajlova da ih dodate odjednom.
Da bi se dodali falovi van vaše radne kopije možete koristiti uhvati-i-vuci ručicu:
izaberite fajlove koje želite da dodate
desno povlačiti njih u novu lokaciju unutar radne kopije.
otpustite desno dugme miša
izaberite
→ . Fajlovi će tada biti kopirani u radnu kopiju i dodati u kontrolu verzija.Možete takođe dodati fajlove u okviru radne kopije jednostavno pomoću levog-vučenja i otpuštanja u dijalog urezivanja.
Ako dodate fajl ili folder greškom možete poništiti dodavanje pre nego urežete koristeći
→ .Često se dešava da već imate fajlove koji su vam potrebni u drugom projektu u vašem spremištu i jednostavno želite da ga kopirate odatle. Možete jednostavno kopirati fajlove i dodati ih ali nećete imati istoriju. Ako subsekventno fiksirate greške u originalnim fajlovima možete samo da stopite fikseve automatski ako je nova kopija u relaciji sa originalom u Subverziji.
Najlakši način da se kopiraju fajlovi i imenici u okviru radne kopije je da se koristi meni desno povlačenje. Kada desno vučete fajl ili folder iz jedne radne kopije u drugu, ili čak u okviru istog foldera, kontekst meni se pojavljuje kada otpustite miš.
Sada možete kopirati postojeći verzionisani sadržaj u novu lokaciju, moguće preimeovanjem u isto vreme.
Možete kopirati ili pomerati verzionisane fajlove unutar radne kopije, ili između dve radne opije, koristeći familijarnu iseci-i-nalepi metod.Koristite standardnu Vindouz Kopiraj ili Iseci da kopirate jednu ili više verzionisanih stavki u klipbord. Ako klipbord sadrži te verzionisane stavke, mžete koristiti → (primedba: notirajte standard Vindouz Paste) da kopirate ili pomerite te stavke u novu lokaciju radne kopije.
Mžete kopirati fajlove i foldere iz svoje radne kopije na drugu lokaciju u spremištu koristeći odeljak pod imenom „Kreiranje Grane ili oznaka“ da nađete više o tome.
→ . Uporedite saMožete locirati stariju verziju fajla ili foldera u dnevnik dijalogu i kopirati ih na novu lokaciju u folderu spremišta direktno iz dnevnik dijaloga koristeći odeljak pod imenom „Dobijanje dodatnih informacija“ za više detalja.
→ . Uporedi saTakođe možete koristiti pretraživač spremišta da locirate sadržaj koji želite i da ga kopirate u svoju radnu kopiju direktno iz spremišta, ili da kopirate između dve lokacije unutar spremišta. Uporedite sa odeljak pod imenom „Pretraživač spremišta“ za više detalja.
Mada možete kopirati ili pomerati fajlove i foldere unutar spremišta, vi ne možete kopirati ili pomerati iz jednog spremišta u drugo dok čuvate istoriju koristeći TortoiseSVN. Čak ni ako spremište živi na istom serveru. Sve što možete uraditi je kopiranje sadržaja u njegovom tekućem stanju i dodavanje kao novi sadržaj u drugo spremište.
Ako ste nesigurni da li dva URL na istom serveru ukazuju na isti ili različita spremišta, koristite repo pretraživač da otvorite jedan URL i nađite gde je koren spremišta. Ako možete da vidite obe lokacije u jednom repo pretraživač prozoru onda su oni u istom spremištu.
U većini projekata vi imate fajlove i foldere koji nisu subjekat kontrole verzija. Oni mogu uključivati fajlove kreirane kompajlerom, *.obj, *.lst
, možda izlazni folder korišćen za smeštanje izvršnih fajlova. Kadagod urezujete izmene, TortoiseSVN prikazuje vaše neverzionisane fajlove koji popunjavaju listu u dijalogu urezivanja. Svakako da možete isključiti ovo prikazivanje, ali tada možete zaboraviti da dodate nove fajlove izvornog koda.
Najbolji način da se izbegnu ovi problemi je da se razvojni fajlovi dodaju listi zanemarenih u projektu. Na taj način oni se nikad ne prikazuju u dijalogu urezivanja, a pravi neverzionisani fajlovi izѕvornog koda su još uvek označeni.
Ako uradite desni klik na pojedinačni neverzionisani fajl, i izaberete komandu → iz kontekst menija, submeni se pojavljuje dozvoljavajući da izaberete baš taj fajl, ili sve fajlove sa istom ekstenzijim. Oba submenija takođe imaju (rekurzivno)
ekvivalent. Ako izaberete više fajlova nema submenija i možete samo da dodate te specifične fajlove/foldere.
Ako izaberete (rrekurzivno)
verziju zanemarivanja kontekst menija, stavka će biti zanemarena ne samo za izabrane foldere već i sve subfoldere takođe.Međutim ovo zahteva SVN klijent verziju 1.8 ili višu.
Ako želite da uklonite jednu ili više stavki iz liste zanemarenih, desni klik na te stavke i izaberite → Možete takođe pristupiti folderu svn:ignore
osobina direktno. To vam omogućava da specificirate mnogo opštiji model koristeći globiranje imena fajlova, opisano u sledećem paragrafu. Pročitajte odeljak pod imenom „Podešavanje projekta“ za više informacija o podešavanju osobina direktno. Molim vas budite pažljivi jer svaki model zanemarivanja mora da bude smešten u posebnoj liniji. Odvajanje razmakom ne radi.
Drugi nčin da se zanemare fajlovi je da se dodaju u globalnu listu zanemarivanja. Velika razlika ovde je da je globalna lista zanemarivanja je klijentska osobina. Primenjuje se na sve Subverzione projekte, ali na samo na klijentovom PC. Generalno je bolje da se koristi svn:ignore
osobina kada je moguće jer može biti primenjena na specifičnu oblast projekta, i to radi za svakog ko preuzme projekat. Pročitajte odeljak pod imenom „Generalno podešavanje“ za više informacija.
Verzionisani fajlovi i imenici ne mogu biti nikad zanemareni - to je osobina Subverzije. Ako verzionišete fajl greškom pročitajte odeljak pod imenom „Zanemarivanje fajlova koji su već verzionisani.“ za instrukcije kako da ga „odverzionišete“.
Subverzioni model zanemarivanja koristi globalisanje imena fajlova kao tehniku originalno korićenu u Uniksu da se specificiraju fajlovi koristeći meta-karaktere kao džokere. Sledeći karakteri imaju specijalna značenja:
Čini sličnim svaki string karaktera, uključujući prazan string (bez karaktera).
Hvatanje bilo kog pojedinog karaktera.
Čini sličnim bilo koji karakter zatvoren u srednjoj zagradi. U okviru zagrada, par karaktera odvojenih sa „-“ čine sličnim svaki karakter leksički između ta dva. Na primer [AGm-p]
čini sličnim svaki od A
, G
, m
, n
, o
or p
.
Model sparivanja zavisi od veličine slova, što može uzrokovati problem na Vindouzu. Možete fosirati nezavisnost od veličine slova na teži način sparivanjem karaktera, tj. zanemarivanjem *.tmp
bezo bzira od veličine slova, možete koristiti model *.[Tt][Mm][Pp]
.
Ako želite zvaničnu definiciju globalisanja naćićete je u IEEE specifikacijama za komandni jezik školjke Pattern Matching Notation.
Ne ptreba da uključite informaciju putanje u vašem modelu. Traženje modela namerava da bude korišćeno prema punim imenima fajla i foldera. Ako želite da zanemarite sve CVS
foldere, samo dodajte CVS
u listu zanemarivanja. Nema potrebe da se specificira CVS */CVS
kako ste radili u ranijim verzijama. Ako želite da zanemarite sve tmp
foldere kada oni postoje u prog
folderu ali ne u okvoru doc
foldera treba da koristite svn:ignore
osobinu umestotoga. Nema pouzdanog načina da se ovo postigne koristeći model zanemarivanja.
Subverzija omogućava preimenovanje i pomeranje fajlova i foldera. Tako da ima mnogo ulaza za preimenovanje u TortoiseSVN submeni.
Koristi
→ da uklonite fajlove ili foldere iz Subverzije.Kada vi „izmenjen“. Sve dok ne urežete izmene možete vratiti nazad fajl koristeći → na predačkom fojderu.
→ fajl ili folder to odmah izbacuje iz vaše radne kopije isto kao da je označeno za brisanje u spremištu sa sledećim urezivanjem. Koreni folder stavke prikazuje prekrivnu ikonu da jeAko želite da obrišete stavku iz spremišta, ali da je zadržite lokalno kaoneverzionisani fajl/folder, koristite Shift taster kada desno kliknete na stavku u pretraživačevom list panelu (desni panel) da bi ga videli u proširenom kontekst meniju.
→ . Treba da držiteAko se stavka obriše preko pretraživača umesto korišćenjem TortoiseSVN kontekst menija dijalog urezivanja prikazuje tu stavku kao nedostajuću i takođe vam dozvoljava da je uklonite iz kontrole verzija pre urezivanja. Međutim, ako uskladite vašu radnu kopiju Subverzija će obeležiti nedostajuću stavku i zameniti je zadnjom verzijom iz spremišta. Ako vam je potrebno da obrišete verzionisani fajl uvek koristite
→ tako da Subverzija ne mora da pogađa šta vi zaista želite.Ako ste obrisali fajl ili folder i već ste urezali tu operaciju brisanja onda normalno
→ ne može uopšte to da vrati. Ali fajl ili folder nije izgubljen potpuno. Ako znate reviziju fajla ili foldera uzmite obrisane (ako ne, koristite dnevnik dijalog da ih nađete) otvorite pretraživač spremišta i prebacite na tu reviziju. Zatim izaberite fajl ili folder koje ste obrisali, desni klik i izaberite → kao cilj za tu operaciju kopiranja izaberite putanju u vašoj radnoj kopiji.Ako želite da uradite jednostavno na-mestu preimenovanje fajla ili foldera, koristite
→ Unesite novo ime za stavku i uradite.Ako želite da pomerite fajlove okolo unutar vaše radne kopije, možda u različit sub-folder, koristite desni miš vuci-i-baci ručicu:
izbor fajlova ili foldera koje želite da pomerite
desno povlačiti njih u novu lokaciju unutar radne kopije.
otpustite desno dugme miša
u popap meniju izaberite
→Kako su preimenovanje i pomeranje dati kao brisanje praćeno dodavanjem morate urezati predački folder preimenovanih/pomerenih fajlova tako da obrisani deo preimenovanja/pomeranja će se prikazati u dijalogu urezivanja. Ako ne urežete uklonjeni deo preimenuj/pomeri, on će ostati iza u spremištu i kada vaš saradnik uskladi stari fajl neće biti uklonjen. tj. on će imati obe staru i novu kopiju.
Vi morate urezati preimenovanje foldera pre izmena bilo kog fajla u folderu, drugačije vaša radna kopija će stvarni biti zabrljana.
Drugi način za pomeranje ili kopiranje fajlova je korišćenje kopiraj/seci Vindouz komande. Izaberite fajlove koje želite da kopirate, desni klik i izaberite
→ iz kontekst menija pretraživača. Zatim potražite ciljni folder, desni klik i izaberite → . Za pomeranje fajlova, izaberite → umesto → .Možete takođe koristiti pretraživač spremišta da pomerate stavke naokolo. Pročitajte odeljak pod imenom „Pretraživač spremišta“ da nađete više detalja.
Vi ne treba da koristite TortoiseSVN Pomeri ili Preimenuj komande na imenicima koji su kreirani korišćenjem svn:externals
. Ova akcija će prouzrokovati da se spoljašnja stavka obriše iz svog predačkog spremišta, verovatno unesretivši mnogo drugih ljudi. Ako treba da pomerite spoljašnji folder treba koristiti obično pomeranje iz školjke, zatim podesite svn:externals
osobine predačkog foldera izvora i odredišta.
Ako spremište već sadrži dva fajla sa istim imenom koji se razlikuju samo u veličini slova (npr. TEST.TXT
i test.txt
), vi nećete moći da uskladite ili preuzmete predački folder na Vindouz klijentu. Pošto Subverzija podržava fajlimena zavisna od veličine slova, Vindouz to ne radi.
Ovo se ponekad dešava kada dva čoveka urezuju, iz posebnih radnih kopija, fajlove za koje se desi da imaju ista imena, ali sa razlikom u veličini slova. To se takođe dešava kada su fajlovi urezani iz sistema sa fajlsistemom koji razlikuje veličinu slova kao Linuks.
U tom slučaju morate odlučiti koji od njih želite da zadržite i obrišete (ili preimenujete) drugi iz spremišta.
Postoji server zakačiva skripta dostupna na: https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ koji će preduprediti proveru koji rezultati su u konfliktu.
Ponekad vaš prijateljski IDE će preimenovati fajlove za vas kao deo pravljenja primera, i svakako to ne kaže Subverziji. Ako pokušate da urežete svoje izmene Subverzija će videti stara fajlimena kao nedostajuća i nova kao neverzionisane fajlove. Možete samo proveriti novo fajlime da dodate ali tada gubite sliku istorije pošto Subverzija nezna fajlove na koje se odnosi.
Bolji način je da se notira Subverzija da su ove izmene u stvari preimenovanja i možete to uraditi u okviru Ureži i Proveri Modifikaciju dijalog. Jednostavno izaberite staro ime (nedostaje) i novo ime (neverzionisano) i koristite → da uparite dva fajla kao preimenovanje.
Obično podešavate listu zanemarivanja tako da su svi generisani fajlvi zanemareni u Subverziji. Ali šta ako želite da očistite sve zanemarene stavke da bi izradili čistu gradnju? Obično to podešavate u mejkfajlu ali ako debagujete mejkfajl ili menjanjem sistema izgradnje korisno je da se ima način čišćenja platforme.
TortoiseSVN omogućava upravo takvu opciju korišćenjem Shift dok desno kliknete na folder u panelu liste pretraživača (desni panel) da bi videli ovo u proširenom kontekst meniju. Ovo će proizvesti dijalog koji lista sve neverzionisane fajlove bilo gde u vašoj radnoj kopiji. Možete zatim izabrati stavke za uklanjanje.
→ . DržiteKada se te stavke obrišu korpa za otpatke se koristi tako da ako napravite grešku i obrišete fajl koji treba da bude verzionisan još uvek ga možete povratiti.
Ako želite poništiti sve izmene koje ste uradili u fajlu od zadnjeg obnavljanja potrebno je da izaberete fajl, desni klik da iskoči kontekst meni i zatim izaberite komandu → Dijalog će iskočiti prikazijući vam fajlove koje ste izmenili i vratili. Izaberite one koje želite da vratite i kliknite na .
Ako, takođe, želite da obrišete listu izmena koja je setovana, proverite boks na dnu dijaloga.
Ako želite da poništite brisanje ili preimenovanje, potrebno je da koristite Vrati na predački folder jer obrisana stavka ne postoje za desni klikn na njih.
Ako želite poništiti dodavanje stavke to se pojavljuje u kontekst meniju kao
→ . Ovo zaista vraća ali ime je promenjeno da ga učini mnogo uočljivijim.Kolone u ovom dijalogu mogu se podesiti na isti način kao kolone u Proveri za modifikaciju dijalogu. Pročitajte odeljak pod imenom „Lokalni i daljinski status“ za više detalja.
Kako se vraćanjeponekad koristi da obriše radnu kopiju postoji dodatno dugme koje omogućava da obrišete neverzionisane stavke. Kada kliknete na ovo dugme drugi dijalog se pojavljuje listajući neverzionisane stavke koje zatim možete izabrati za brisanje.
ne poništava bilo koju izmenu koja je već urezana. Ako želite da poništite sve izmene koje su urezane u posebnoj reviziji pročitajte odeljak pod imenom „Revizioni dijalog dnevnika“ za dodatne informacije.
samo poništava vaše lokalne izmene. ToKada vratite izmene možete naći da ta operacija traje duže nego ste očekivali. To je zato što se izmenjena verzija fajla šalje u korpu tako da možete vratiti izmene ako ste pogrešili. Međutim, ako je korpa puna Vindouz uzima puno vremena da nađe mesto da stavi fajl. Rešenje je jednostavno: ili ispraznite korpu ili deaktivirajte Koristite korpu pri vraćanju boks u TortoiseSVN podešavanju.
Subverziona komanda ne može kompletirati zadovoljavajuće, možda zbog problema sa serverom, vaša radna kopija može biti u nekonzistetnom stanju. U tom slučaju treba da koristite
→ Dobra je ideja da uradite ovo na vršnom nivoi radne kopije.U dijalogu čišćenja postoje druge korisne opcije za prebacivanje radne kopije u čisto
stanje.
Kao što je gore izloženo, ova opcija pokušava da prebaci nekozistentnu radnu kopiju u radno i korisno stanje.Ovo ne utiče na podatke koje imate već samo na stanje baze podataka radne kopije. Ovo je aktuelna komanda Čišćenje
koju znate od starih TortoiseSVN klijenata ili drugih SVN klijenata.
Ako se čekira, svi ključevi za upisivanje su uklonjeni iz baze podataka radne kopije. Za većinu situacija ovo se zahteva da čišćenje radi!
Samo otčekiraj ovu opciju ako je radna kopija korišćena od drugih korisnika/klijenata u isto vreme. Ali ako je čišćenje neuspešno treba da čekirati ovu opciju da čišćenje bude uspešno.
Adjusts the recorded time stamps of all files, speeding up future status checks. This can speed up all dialogs that show working copy file lists, for example the Commit dialog.
Uklanja ne korišćene stare kopije i komprimuje sve stare kopije radne kopije fajlova.
Ponekad prekrivači školjke, specijalno na stablu pregleda sa leve strane pretraživača ne prikazuje tekući status, ili status keš odbija da prepozna izmene. U ovoj situaciji možete koristiti ovu komandu da prisilite obnavljanje.
Ako je čekirano, onda sve akcije su date za sve fajlove i foldere uključene sa svn:externals
osobinama.
Ovo je brz i lak način za uklanjanje svih generisanih fajlova u vašu radnu kopiju. Svi fajlovi i imenici koji nisu verzionisani gurnuti su u kantu za đubre.
Primedba: vi možete uraditi isto od
→ dijalog. Tu dobijete listu svih neverzionisanih fajlova i foldera da birate za uklanjanje.Ova komanda vraća sve lokalne izmene koje još nisu urezane.
Primedba: bolje je koristiti
→ komandu umesto toga, jer tad možete videti i izabrati fajlove koje hoćete da vratite.
Možete čitati i podesiti Subverzione osobine iz Vindouz osobine dijaloga, ali takođe iz → i u okviru TortoiseSVN statusne liste iz → .
Možete dodatu vaše lične osobine, ili neke osobine sa specifičnim značenjem u Subverziji. To što počinje sa svn:
. svn:externals
je takva osobina; vidite kako se rukuje eksternalima u odeljak pod imenom „Spoljašnje Stavke“.
Subverzija podržava CVS-slične proširenje ključnih reči koje se mogu koristiti da uglave fajlime i revizionu informaciju u sam fajl. Ključne reči trenutno podržane su:
Datum zadnjeg poznatog urezivanja. Ovo je zasnovano na informaciju dobijenu kada ste uskladili vašu radnu kopiju. To ne proverava spremište da nađe najskorije izmene.
Revizija zadnje poznatog urezvanja.
Autor koji je uradio zadnje poznato urezivanje.
Pun URL ovog fajla u spremištu.
Komprimovana kombinacija prethodne četiri ključne reči.
Da bi se našlo kako koristiti ove ključne reči, pogledajte u svn:keywords section u Subverzionoj knjizi koja vam daje pun opis ovih ključnih reči i kako ih koristiti.
Za više informacija o osobinama u Subverziji vidite link Special Properties.
Da biste dodali nove osobine najpre kliknite na Nov.... Izaberite ime željene osobine iz menija, i popunite ga željenim informacijama u dijalogu specifičnih osobina. Ovi specifični dijalozi osobina više su opisani u odeljak pod imenom „Uređivač osobina“.
Da se dodaju osobine koje nemaju svoj dijalog koristite Nov... meni. Zatim ili izborom postojeće osobine u kombo boksu ili unošenjem izabranog imena osobine.
izAko želite da primenite osobinu na više stavki odjednom, izaberite fajlove/foldere u pretraživaču, zatim izaberite
→ .Ako želite da primenite osobine na svaki fajl i folder u hijerarhiji ispod tekućeg foldera, čekirajte Rekurziv čekboks.
Ako želite da uredite postojeću osobinu, izaberite tu osobinu iz liste postojećih osobina, zatim kliknite na
.Ako želite da uklonite postojeću osobinu, izaberite osobinu iz liste postojećih osobina, zatim kliknite na
.Osobina svn:externals
može se koristiti da se privuče u druge projekte iz istog spremišta ili sasvim različitog spremišta. Za više informacija, pročitajte odeljak pod imenom „Spoljašnje Stavke“.
Pošto su osobine verzionisane, ne možete uređivati osobine prethodne revizije. Ako pogledate osobine iz dijaloga dnevnika, ili iz ne-GLVNE revizije u pretraživaču spremišta, videćete listu osobina i vrednosti, ali ne i kontrolu uređenja.
Često ćete zateći sebe da primenjujete isti skup osobina više puta, na primer bugtraq:logregex
. Da pojednostavite proces kopiranja osobina iz jednog projekta u drugi, možete koristiti Izvezi/Uvezi mogućnost.
Od fajla ili foldera gde je osobina već podešena koristite
→ , izaberite osobine koje želite da izvezete i kliknite na . Bićete pitani za fajlime gde će se imena osobina i vrednosti sačuvati.Iz foldera gde želite da primenite ove osobine, koristite
→ kliknite na . Bićete pitani za fajlime za uvoz pa odite do mesta gde ste sačuvali ranije izvezen fajl i izaberite ga. Osobine će biti dodate folderu ne-rekurzivno.Ako želite da dodate osobine stablu rekurzivno pratite gornje korake, zatim u dijalogu osobina izaberite svaku osobinu jednu za drugom, Primeni osobinu rekurzivnoboks i kliknite na .
, čekirajteUvozni fajl format je binarni i vlasništvo TortoiseSVN. NJegova je jedina svrha da prenese osobine koristeći Uvoz i Izvoz, tako da nije potrebno uređenje ovih fajlova.
TortoiseSVN može rukovati binarnim vrednostima osobina koristeći fajlove. Da bi se pročitala binarna vrednost osobine
u fajl. Da se podesi binarna vrednost koristite heksa uređivač ili drugi odgovarajući alat da creirate fajl sa sadržajem koji vam je potreban, zatim iz tog fajla.Mada se binarne osobine ne koriste često one mogu biti korisne u nekim aplikacijama. Na primer ako smeštate ogromne grafičke fajlove, ili ako aplikacija korišćena da unese fajl je ogromna, možete želeti da sačuvate pregledne sličice kao oobinu da biste mogli da brzo dobijete pregled.
Možete konfigurisati Subverziju i TortoiseSVN da podesite osobine automatski na fajlovima i imenicima kada se oni dodaju u spremište. Postoji dva načina da se to uradi.
Možete da uređujete Subverzioni konfiguracioni fajl da omogućite ovu osobinu na vašem klijentu. Opšta strana TortoiseSVN dijaloga podešavanja ima dugme za urteđivanje da je pozovete direktno. Konfig fajl je jednostavan tekst fajl koji kontroliše neke Subverzione radnje. Potrebno je da izmenite dve stvari: najpre u delu naslovljenom sa razno
uklonite oznaku komentara na liniji enable-auto-props = yes
. Zatim, potrebno je da uredite deo ispod da definišete koje osobine želite da dodate kom tipu fajlova. Ovaj način je standardna Subverziona osobina i radi sa svakim Subverzionim klijentom. Međutim, mora da bude definisana kod svakog klijenta posebno - nema načina da se prenese ovo podešavanje kroz spremište.
Alternativni metod je da se podesi tsvn:autoprops
osobina na folderu, kako je opisano u sledećem paragrafu. Ovaj metod radi samo za TortoiseSVN klijente, ali to se dobija za sve radne kopije pri obnavljanju.
Od Subverzije 1.8 možete setovati osobinu svn:auto-props
u korenom folderu. Vrednost osobine se automatski prenese u sve potomačke stavke.
Koji god metod da se izabere morate primetiti da su auto-osobine primenjene samo na fajlove u vreme kada su dodati spremištu. Auto-osobine neće nikada izmeniti osobine fajlova koji su već verzionisani.
Ako želiti da budete apsolutno sigurni u to da novi fajlovi imaju ispravne osobine primenjene, vi treba da podesite u spremištu pre-urezivanja zakačaljku da odbaci urezivanje tamo gde nisu podešene odgovarajuće osobine.
Subverzione osobine su verzionisane. Posle izmena ili dodavanja osobina treba da urežete vaše izmene.
Ako postoji konflikt pri urezivanju izmena, zato što drugi korisnik ima izmenjene iste osobine, Subverzija generiše .prej
fajl. Obrišite ovaj fajl posle razrešenja konflikta.
TortoiseSVN ima neke svoje specijalne osobine, i one počinju sa tsvn:
.
tsvn:logminsize
podešava minimalnu dužinu dnevnik poruke za urezivanje. Ako unesete kraću poruku nego što je specificirano ovde, urezivanje je onemogućeno. Ova osobina je veoma korisna da vas podseti da snabdete odgovarajuću opisnu poruku za svako urezivanje. Ako ova osobina nije podešena, ili ima vrednost nula, prazan dnevnik poruka je dozvoljen.
tsvn:lockmsgminsize
podešava minimalnu dužinu poruke zaključavanja. Ako unesete kraću poruku od specificirane ovde, zaključavanje je onemogućeno. Ova osobina je veoma korisna da vas podseti da snabdete odgovarajuću opisnu poruku za svako zaključavanje koje uzmete. Ako ova osobina nije podešena, ili je vrednost nula, prazna poruka zaključavanja se dozvoljava.
tsvn:logwidthmarker
se koristi sa projektima koji zahtevaju dnevnik poruku formatiranu na maksimalnu širinu (tipično 80 karaktera) pre savijanja linije. Podešavanje ove osobine na ne-nula uradiće 2 stvari u dnevnik poruka dijalogu: smešta marker da indicira maksimalnu širinu i onemogućava savijanje reči na displeju, tako možete videti da li je tekst koji ste uneli suviše dugačak. Primetimo: ova osobina radi korektno samo ako imate pismo fiksne-širine izabran za dnevnik poruka.
tsvn:logtemplate
se koristi sa projektima koji imaju pravila o formatiranju dnevnik poruka. osobine drže multi-linijski tekst string koji će biti ubačen u boks poruka urezivanja kada počnete urezivanje. Zatim možete urediti da uključite željene informacije. Primetio: ako takođe koristite tsvn:logminsize
, budite sigurni da podesite dužinu veću od modela ili ćete izgubiti zaštitni mehanizam.
Postoje i specifični šabloni prema akciji koje možete koristiti umesto tsvn:logtemplate
. Specifični šabloni prema akciji se koriste ako se setuju, ali tsvn:logtemplate
će biti korišćeno ako nije setovan specifični šablon prema akciji.
Akciono specifični šabloni su:
tsvn:logtemplatecommit
je korišćen za sva urezivanja iz radne kopije.
tsvn:logtemplatebranch
je korišćen kada kreirate grana/oznaka, ili kada kopirate fajlove ili foldere direktno u pretraživaču spremišta.
tsvn:logtemplateimport
je korišćen za uvoz.
tsvn:logtemplatedelete
je korišćen pri brisanju stavki direktno u pretraživaču spremišta.
tsvn:logtemplatemove
je korišćen pri preimenovanju ili pomeranju u pretraživaču spremišta.
tsvn:logtemplatemkdir
je korišćen pri kreiranju foldera u pretraživaču spremišta.
tsvn:logtemplatepropset
je korišćen kada se menjaju osobine u pretraživaču spremišta.
tsvn:logtemplatelock
je korišćen pri zaključavanju.
Subverzija vam omogućava da podesite „autoprops“ koji bi se primenjivao na novododate ili uvezene fajlove, u zavisnosti od ekstenzije fajla. Ovo zavisi od toga da svaki klijent ima odgovarajući skup odgovarajućih autopropsova u svmj Subverzion konfiguracionom fajlu. tsvn:autoprops
može biti podešen na foldere i oni mogu biti stopljeni sa korisničkim lokalnim autopropsima dok se uvozi ili dodaju fajlovi. Format je ist kao Subverzioni autoprops, npr. *.sh = svn:eol-style=native;svn:executable
uspostavlja dve osobine na fajlovima sa .sh
ekstenzijom.
Ako postoji konflikt između lokalnih autoprops i tsvn:autoprops
, podešavanje projekta uzima primat jer je specifično za projekt.
Od Subverzije 1.8 možete koristiti osobonu svn:auto-props
umesto tsvn:autoprops
odkad ovo ima vrlo sličnu funkcionalnost ali radi sa svim svn klijentima i nije specifično za TortoiseSVN.
U Ureži dijalogu imate opcije da nalepite na listu izmenjenih fajlova, uključujući status svakog fajla (dodat,izmenjen,itd). tsvn:logfilelistenglish
definiše da li je status fajla ubačen na engleskom ili na lokalnom jeziku. Ako osobina nije podešena podrazumevano stanje je true
.
TortoiseSVN can use a spell checker. On Windows 10, the spell checker of the OS is used. On earlier Windows versions, it can use spell checker modules which are also used by OpenOffice and Mozilla. If you have those installed this property will determine which spell checker to use, i.e. in which language the log messages for your project should be written. tsvn:projectlanguage
sets the language module the spell checking engine should use when you enter a log message. You can find the values for your language on this page: MSDN: Language Identifiers.
Možete uneti ovu vrednost u decimalnoj ili heksadecimalnoj formi ako se prefiksuje sa 0x
. Na primer Engleski (US) može se uneti kao 0x0409
ili 1033
.
Osobina tsvn:logsummary
se koristi izdvoji deo dnevnik poruke koji će biti prikazan u dnevnik poruka rezultata.
Vrednost tsvn:logsummary
osobine mora biti podešena na jednu liniju regeks stringa koji sadrži jednu regeks grupu. Štogod spari tu grupu koristi se kao rezultat.
Jedan primer: \[SUMMARY\]:\s+(.*)
Će uhvatiti sve posle „[SUMMARY]“ u dnevnik poruka i koristi ga kao rezultat.
Osobina tsvn:logrevregex
definiše regularni izraz koji nalazi reference u revizije u dnevniku poruka. Ovo se koristi u dijalogu dnevnika da okrene takve reference u veze na koje kada se klikne ili se skroluje u tu reviziju (ako je revizija već prikazana u dijalogu dnevnika, ili ako je dostupan iz keša dnevnika) ili otvara novi dijalog dnevnika koji prikazuje tu reviziju.
Regularni izraz mora naći celu referencu, ne samo revizioni broj. Revizioni broj je izvučen iz nađenog referentnog teksta automatski.
Ako ova osobona nije podešena, podrazumevan regularni izraz se koristi da se povežu revizione reference.
Postoji više osobina dostupnih za konfiguraciju klijentske zakačive skripte. Svaka osobina je za jedan poseban tip ѕakačive skripte.
Dostupne osobine/zakačive-skripte su
Parametri su isti kao kod konfigurisanja zakačivih skripti u dijalogu podešavanja. Vidi odeljak pod imenom „Zakačiv skript klijentske strane“ za detalje.
Kako nema svaki korisnik svoju radnu kopiju preuzetu u istu lokaciju sa istim imenom možete konfigurisati skriptu/alat da izvršite premeštanje u vašoj radnoj kopiji određujući URL u spremištu umesto toga, koristeći %REPOROOT%
kao deo URL za koren spremišta. Na primer, ako je vaša zakačiva skripta u vašoj radnoj kopiji pod contrib/hook-scripts/client-side/checkyear.js
, vi ćete odrediti putanju za skriptu kao %REPOROOT%/trunk/contrib/hook-scripts/client-side/checkyear.js
. Na taj način čak i ako pomerite vaše spremište na drugi server ne morate podešavati osobine zakačive skripte.
Umesto %REPOROOT%
možete specificirati %REPOROOT+%
. Znak +
se koristi da ubaci bilo koji broj folder putanja neophodnih da nađu skriptu.Ovo je korisno ako želite da odredite vašu skriptu tako da i ako kreirate granu skripta se još uveknalazi čak i ako je url radne kopije različit. Koristeći gornji primer vi možete specificirati putanju ka skripti kao %REPOROOT+%/contrib/hook-scripts/client-side/checkyear.js
.
Sledeća slika ekrana prikazuje kako je skripta za proveru tekuće kopirajt godine u zaglavlju izvornog fajla konfigurisana za TortoiseSVN.
Kada želite da dodate novu osobinu vi možete ili uzeti jedan iz liste u kombo boksu ili možete uneti bilo koje ime osobine koje želite. Ako vaš projekat koristi neke podrazumevane osobine i želite te osobine da se pojave na listi u kombo boksu ( da izbegnete greške kada unosite ime osobine), možete kreirati listu vaših uobičajenih osobina koristeći tsvn:userfileproperties
i tsvn:userdirproperties
. Primenite ove osobine na folder. Kada uredite osobine bilo koje potomačke stavke, vaše uobičajene osobine će se pojaviti u listi pre-definisanih imena osobina.
Možete takođe specificirati da li je uobičajen dijalog korišćen da doda/uredi vaše osobine. TortoiseSVN nudi različit dijalog, u zavisnosti od tipa osobina.
Ako vaše osobine mogu imati samo dva stanja, npr. istina i laž, onda možete konfigurisati vaše osobine kao bul
tip.
Specificirajte vaše osobine kao :
propertyname=bool;labeltext(YESVALUE;NOVALUE;Checkboxtext)
labeltext
je tekst prikazan u gornjem dijalogu iznad čekboksa gde možete objasniti svrhu i upotrebu osobine. Drugi parametri treba da budu samoobjašnjive.
Ako vaše osobine prikazuju jednu od mnogih mogućih stanja, npr. da, ne, možda
, onda možete konfigurisati vašu osobinu kao stanje
osobinu slično ovome:
propertyname=state;labeltext(DEFVAL;VAL1;TEXT1;VAL2;TEXT2;VAL3;TEXT3;...)
Parametri su isti kao i za bul
osobine, sa DEFVAL
uobičajenom vrednošću koja se koristi ako osobina još nije podešena ili ima vrednost koja nije konfigurisana.
Za do tri različite vrednosti dijalog prikazuje do tri radio dugmeta. Ako ima više vrednosti koristi se kombo boks gde korisnik bira odgovarajuće stanje.
Za osobine koje se sastoje od linije teksta koristi posebna linija
tip osobine:
propertyname=singleline;labeltext(regex)
regex
specificira regularni izraz koji se koristi da proveri (nađe) tekst koji je korisnik uneo. Ako tekst ne nalazi regeks onda korisniku se prikazuje greška i osobina nije podešena.
Osobine koje se sastoje od višestrukih linija teksta, koristite multilinija
tip osobina:
propertyname=multiline;labeltext(regex)
regex
specificira regularni izraz koji se koristi da proveri (nađe) tekst koji je korisnik uneo. Ne zaboravite da uključite novu liniju (\n) karakter u regeks.
Slika ekrana iznad je napravljena sa sledećim tsvn:userdirproperties
:
my:boolprop=bool;This is a bool type property. Either check or uncheck it.(true;false;my bool prop) my:stateprop1=state;This is a state property. Select one of the two states.(true;true;true value;false;false value) my:stateprop2=state;This is a state property. Select one of the three states.(maybe;true;answer is correct;false;answer is wrong;maybe;not answered) my:stateprop3=state;Specify the day to set this property.(1;1;Monday;2;Tuesday;3;Wednesday;4;Thursday;5;Friday;6;Saturday;7;Sunday) my:singlelineprop=singleline;enter a small comment(.*) my:multilineprop=multiline;copy and paste a full chapter here(.*)
TortoiseSVN može se integrisati sa nekim alatima za bag praćenje. Ovo koristi osobine projekata koja počinje sa bugtraq:
. Pročitajte odeljak pod imenom „Integracija sa Bag Praćenja Sistem / Problem Tragači“ za dodatne informacije.
Može se takođe integrisati sa nekim veb-zasnovanim pretraživačem spremišta, koristeći osobine projekta koje počinju sa webviewer:
. Pročitajte odeljak pod imenom „Integracija sa Veb-zasnovanom pregledaču spremišta“ za dalje informacije.
Ove specijalne osobine projekta moraju biti podešene na foldere za sistem da rade. Kada koristite TortoiseSVN komandu koja koristi ove osobine, osobine se čitaju iz foldera na koji je kliknuto. Ako se osobine ne nađu ovde TortoiseSVN će potražiti nagore kroz stblo foldera da ih nađe sve dok ne dođe do neverzionisanog foldera, ili koren stabla (npr. C:\
) se nađe. Ako možete biti sigurni da svaki korisnik preuzima samo iz npr. trunk/
i ne isti sub-folder, dovoljno je da se podese osobine na trunk/
. Ako niste sigurni, morate podesiti osobine rekurzivno na svakom sub-folderu. Podešavanje osobine dublje u hijerarhiji projekta prebaci podešavanje na viši nivo (bliže trunk/
). Ako ne možete biti sigurni, treba da podesite osobine rekurzivno na svaki sub-folder. Ako podesite iste osobine ali koristite drugačije vrednosti na različitim dubinama u hijerarhiji vašeg projekta dobićete različite rezultate u zavisnosti gde kliknete u strukturi foldera.
Za osobine projekta samo, tj tsvn:
, bugtraq:
i webviewer:
možete koristiti Rekurziv čekboks da podesite osobine svih sub-foldera u hijerarhiji, takođe bez podešavanja na sve fajlove.
Kada dodate novi sub-folder u radnu kopiju koristeći TortoiseSVN, osobine bilo kog projekta prisutne u predačkom folderu će automatski biti takođe dodate novom potomačkom folderi.
Daljinsko traženje osobina je spora operacija, tako neke osobine opisane gore neće raditi u pretraživaču spremišta kako je to u radnoj kopiji.
Kada dodate osobine koristeći repo pretraživač, samo standardne svn:
osobine su često u predefinisanim listama. Bilo koja druga imena osobina moraju se uneti ručno.
Osobine ne mogu biti podešene ili obrisane korišćenjem repo pretraživača.
Osobine projekta neće biti prosleđene automatski kada potomački folder bude dodat korišćenjem repo pretraživača.
tsvn:autoprops
neće podesiti osobine fajlova koji su dodati korišćenjem repo pretraživača.
Takođe TortoiseSVN osobine projekta su izuzetno korisne, one samo rade sa TortoiseSVN, i neki će samo raditi u novoj verziji TortoiseSVN. Ako ljudi rade na vašem projektu koristite mnoštvo Subverzionih klijenata, ili moguće ako imate staru verziju TortoiseSVN, možete da koristite zakačaljke spremišta da forsirate politiku projekta. Osobine projekta mogu pomoći da se primeni politika, ona se ne može forsirati.
Neke osobine koriste specifične vrednosti, ili su formatirane na specifičan način da bi se koristile brzo. Da bi pomogli formatirjte korektno, TortoiseSVN daje dijalog uređenja za neke posebne osobine koje pokazuju moguće vrednosti ili podelu osobina u pojedinačne komponenete.
Osobina svn:externals
može se koristiti da se privuče u druge projekte iz istog spremišta ili sasvim različitog spremišta kako je opisano u odeljak pod imenom „Spoljašnje Stavke“.
Potrebno je da definišete ime subfoldera gde se vrši preuzimanje iz eksternog foldera i Subverzioni URL edžternal stavke. Možete preuzeti eksternal sa GLAVNE revizije tako da kad se eksternal stavka promeni u spremištu vaša radna kopija će primiti te izmene pri usklađivanju. Međutim, ako ako želite eksternal iz posebne stabilne tačke morate koristiti odreženu reviziju. U ovom slučajumožete i želeti da odredite istu reviziju kao peg reviziju. Ako se eksternal stavka preimenuje u nekoj tački u budućnosti tada Subverzija neće biti sposobna da uskladi tu stavku u vašoj radnoj kopiji. Određivanjem peg revizije vi kažete Subverziji da pogleda za stavku koja ima to ime u peg reviziji pre nego u GLAVNOJ.
Dugme
nalazi GLAVNU reviziju svakog eksternal URL i prikazuje tu GLAVNU reviziju u krajnje desnoj koloni. Kada je GLAVNA revizija poznata jednostavni desni klik na eksternal daje vam komandu ka peg izabrani eksternal i njegovu eksplicitnu GLAVNU reviziju. U slučaju da GLAVNA revizija još nije poznata, desni klik komanda će najpre naći GLAVNU reviziju.
Izaberite ključne reči koje želite da proširite u vašem fajlu.
Izaberite kraj linije stil koji želite da koristite i TortoiseSVN će koristiti korektne vrednosti osobina.
Ove 3 osobine kontrolišu formatiranje dnevnik poruka. Prve 2 onemogućavaju pri urezivanju ili zaključavaju dijaloge sve dok poruka ne dostigne minimalnu dužine. Granične pozicije pokazuju marker date širine kolone kao vodič za projekte koji imaju ograničenu širinu svojih dnevnika poruka. Postavljanjem vrednosti na nulu briše osobinu.
Bira jezik koji se koristi za proveru pisanja dnevnika poruka u dijalogu urezivanja. Fajl lista čekboksova postaje efektivna posle desnog klika na panel dnevnika poruka i izaberete Nalepi fajl listu. Uobičajeno je da je status Subverzije prikazan u lokalnom jeziku. Kada je ovaj boks čekiran status je uvek da na engleskom za projekte koji zahtevaju isključivo engleske dnevnik poruke.
Ova osobina jedostavno kontrolišu da li će fajl biti preuzet kao samo za čitanje ako nije zaključan u radnoj kopiji.
Ova osobina kontroliše da li će fajl imati izvršni status kada se preuzima u Juniks/Linuks sistem. Nema uticaja na Vindous preuzimanje.
Kadgod se revizije stapaju u radnoj kopiji, TortoiseSVN generiše dnevnik poruku iz svih stopljenih revizija. One su dostupne preko
dugmeta u dijalogu urezivanja.Možete izabrati generisane poruke sledećom osobinom:
Osobina određuje prvi deo generisanog dnevnika poruke. Sledeće ključne reči mogu da se koriste:
Lista razdvojena zapetama stopljenih revizija tj. 3, 5, 6, 7
Kao {revisions}
, ali sa svakom revizijom kojoj prethodi jedno r
, npr. r3, r5, r6, r7
Lista razdvojena zapetama stopljenih revizija grupisanih u opsegge ako je moguće, npr. 3, 5-7
Izvorni URL stapanja, npr. odakle su revizije stopljene.
Uobičajena vrednost za ovaj string je Stopljena revizija(e) {revrange} iz {mergeurl}:
sa njulajn na kraju.
Ova osobina određuje kako će izgledati tekst za svaku stopljenu reviziju. Sledeće ključne reči se mogu koristiti:
Dnevnik poruke stopljene revizije, kako je unet.
Kao {msg}
, ali njulajnovi zamenjeni razmakom tako da se cela dnevnik poruka pojavljuje u istoj liniji.
Autor stopljene revizije.
Sama stopljena revizija.
Bag ID stopljene revizije, ako ima neka.
Ova osobina određuje položaj stringa naslova određenog sa tsvn:mergelogtemplatetitle
ili tsvn:mergelogtemplatereversetitle
. Ako se osobina podesi sa da
ili istina
, onda je string naslova dodat na dno umesto na vrh.
Ovo radi samo ako su stopljene revizije već u kešu dnevnika. Ako imate onemogućen dnevnik keša ili nije prikazan dnevnik pre stapanja, generisane poruke neće sadržati bilo kakvu informaciju o stopljenim revizijama.
Ponekad je korisno da se izradi radna kopija koja je od brojnih različitih preuzimanja. Na primer, možete želeti različite fajlove ili podfoldere da dođu sa različitih lokacija u spremište, ili možda sve zajedno iz različitih spremišta. Ako želite da svaki korisnik ima isti pregled možete definisati svn:spoljašne
osobine da vučete specifične resurse na lokaciju gde su vam potrebni.
Recimo da preuzimate radnu kopiju /project1
u D:\dev\project1
. Izaberite folder D:\dev\project1
, desni klik i izaberite → iz kontekst menija. Pojaviće se dijalog osobina. Tada idite na Subverzioni tab. Tada možete podesiti osobine. Kliknite . U dijalogu osobina ili dvostruki klik na svn:externals
ako već postoji, ili kliknite na dugme i izaberite externals
iz menija. Da dodate novi eksternal kliknite na i zatim popunite traženu informaciju u prikazanom dijalogu.
URLovi moraju biti odgovarajuće istaknuti ili oni neće raditi, npr. morate zameniti svaki razmak sa %20
.
Ako želite da lokalna putanja uključi razmake ili druge specijalne karaktere, možete ih okružiti dvostrukim navodnicima, ili možete koristiti \
(inverzna kosa crta) karakter izbegavanja kao u stilu Juniks školjke da prethodi specijalnom karakteru. Svakako ovo takođe znači da možete koristiti /
(kosa crta) kao razdvajač putanje. Primetimo da je ovo ponašanje novo u Subverziji 1.6 i neće raditi sa starijim klijentima.
Morate čvrsto da rešite da koristite eksplicitno revizione brojeve u svim vašim eksternim definicijama, kako je opisano gore. Takav rad znači da ste odlučili kada povući različite slike eksternih informacija i tačno koje slike povući. Pored zajedničkog osećaja da nema iznenađenja spremišta trećeg-lica koja mogu da nemaju bilo kakvu kontrolu nad tim, koristeći eksplicitne revizione brojeve takođe znači to da ako unazad datirate vašu radnu kopiju prema prethodnoj reviziji vaše eksterne definicije će se vratiti na način kako su izgledali u prethodnoj reviziji, što znači da ćete eksterne radne kopije uskladiti sa načinom njihov po izgledu kada je vaša radna kopija imala prethodnu reviziju. Za projekat softvera ovo može biti razlika između uspešne i neuspešne izrade starije slike vaše kompleksne osnove koda.
Dijalog uređenja za svn:externals
osobine omogućava vam da izaberete eksternal i automatski ga podesite eksplicitno na GLAVNU reviziju.
Ako je spoljašnji projekat u istom spremištu, bilo koja izmena koju tamo napravite biće uključena u listu za urezivanje kada urezujete glavni projekat.
Ako je eksternalni projekat u različitim spremištima svaka promena koju napravite u eksternom projektu biće prikazan ili će indicirati kada urezujete glavni projekat, ali imaćete da urežete ove eksterne promene separatno.
Ako koristite apsolutne URLove u svn:spoljašnje
definicije i imate da relocirate vašu radnu kopiju (npr. ako je URL vašeg spremišta izmenjen), tada vaši eksternali se ne mogu izmeniti niti uopšte raditi.
Da se izbegnu takvi problemi Subverzioni klijenti od verzije 1.5 podržavaju relativne spoljašnje URLove. Četiri različita metoda specificiranja relativnih URLova je podržano. U sledećem primerima uzmimo da imamo dva spremišta: jedno na http://example.com/svn/repos-1
i drugo na http://example.com/svn/repos-2
. Preuzeli smo http://example.com/svn/repos-1/project/trunk
u C:\Working
i svn:spoljašnje
osobine su podešene na deblo.
Ovi Urlovi uvek počinju stringom../
na primer:
../../widgets/foo common/foo-widget
Ovo će ekstratovati http://example.com/svn/repos-1/widgets/foo
u C:\Working\common\foo-widget
.
Primetimo da je URL relativno u odnosu na URL foldera sa svn:spoljašnje
osobine, nije ka folderu gde su spoljšnje osobine upisane na disku.
Ovi URLovi uvek počinju stringom ^/
na primer:
^/widgets/foo common/foo-widget
Ovo će ekstratovati http://example.com/svn/repos-1/widgets/foo
u C:\Working\common\foo-widget
.
Možete se lako pozvati na drugo spremište istim SVNParentPath
(zajednički direktorijum koji sadrži više spremišta). Na primer:
^/../repos-2/hammers/claw common/claw-hammer
Ovo će ekstraktoviti http://example.com/svn/repos-2/hammers/claw
u C:\Working\common\claw-hammer
.
Urlovi koji počinju stringom //
kopiraju samo šema deo URLa. Ovo je korisno kada isto ime domaćina mora da bude u pristupu raznim šemama u zavisnosti od lokacije mreže; npr. klijent na internetu koristi http://
dok eksterni klijenti koriste svn+ssh://
. Na primer:
//example.com/svn/repos-1/widgets/foo common/foo-widget
Ovo će ekstraktovati http://example.com/svn/repos-1/widgets/foo
ili svn+ssh://example.com/svn/repos-1/widgets/foo
u zavisnosti od toga koji je metod korišćen za preuzimanje C:\Working
.
URLovi koji počinju stringom /
kopiraju šemu i domaćinov deo URLa, na primer:
/svn/repos-1/widgets/foo common/foo-widget
Ovo će ekstraktovati http://example.com/svn/repos-1/widgets/foo
u C:\Working\common\foo-widget
. Ali ako preuzmete vaše radnu kopiju sa drugog servera sa svn+ssh://another.mirror.net/svn/repos-1/project1/trunk
tada će eksternal ekstrahovati svn+ssh://another.mirror.net/svn/repos-1/widgets/foo
.
Takođe možete specificirati peg i operativnu reviziju za URL ako se trži. Da naučite više o peg i operativnim revizijama, molil pročitajte odgovarajuća poglavlja u Subverzionoj knjizi.
Ako specificirate ciljni folder za eksternal kao subfolder kao u gornjem primeru, budite sigurni da ti svi folderi između su takođe verzionisani. Tako za gornji primer folder common
treba da bude verzionisan!
Mada će eksternali raditi u većini situacija ispravno ako folderi između nisu verzionisani, ima nekih operacija kada neće raditi kako očekujete. I status ikone prekrivanja u pretraživaču takođe neće prikazati korektan status.
Ako vam treba više informacija kako TortoiseSVN rukuje sa Osobinama pročitajte odeljak pod imenom „Podešavanje projekta“.
Da biste našli više o raznim metodama pristupa zajedničkim podprojektima čitajte odeljak pod imenom „Uključi sličan sub-projekat“.
Kao Subverzija 1.6 možete dodati pojedinačni spoljašnji fajl u vašu radnu kopiju koristeći istu sintaksu kao za foldere. Međutim, postoje neke restrikcije.
Putanja do fajl eksternal mora biti direktni potomak foldera gde je postavljena svn:externals
osobina.
URL za fajl eksternal mora biti u istom spremištu kao URL gde će fajl eksternali biti ubačeni; inter-spremište fajl eksternali nisu podržani.
Fajl eksternal postaje baš kao bilo koji drugi verzionisani fajl u mnogo pogleda, ali ne može biti pomeren ili obrisan koristeći normalne komande; svn:externals
osobine se moraju izmeniti umesto toga.
Ako već imate radnu kopiju fajlova ili foldera koje želite da uključite kao eksternale u drugoj radnoj kopiji možete jednostavno da ih dodate preko vuci i pusti u vindous pretraživaču.
Jednostavno desno vuci fajla ili foldera iz jedne radne kopije tamo gde vi to želite da bude uključena kao eksternal. Kontekst meni se pojavljuje kada otpustite dugme miša: ako kliknete na ulaz kontekst menija osobina svn:eksternali
se automatski dodaje. Sve što treba da uradite je da urežete izmene osobine da bi ste dobili da su ovi eksternali odgovarajuće uključeni u radnu kopiju.
Jedna od osobina sistema kontrole verzija je mogućnost da se izoluju izmene na odvojenoj liniji razvoja. Ova linija je poznata kao grana. Grane se često koriste da se isprobaju nove osobine bez narušavanja glavne linije razvoja sa greškama kompajlera i bagovima. Uskoro kada nove osobine postanu stabilne razvojna grana je stopljena nazad u glavnu granu (deblo).
Druga osobina sistema kontrole verzija je mogućnost da se markira posebna revizija (npr. realizovana verzija), tako da možete u bilo koje vreme ponovo kreirate određenu izradu ili okolinu. Ovaj proces je poznat kao označavanje.
Subverzija nema specijalne komande za grananje i označavanje, ali koristi takozvane „jevtine kopije“ umesto. Jevtine kopije su slične čvrstim vezama na Juniksu, koje znače to da se umesto pravljenja kompletnih kopija u spremištu, interna veza se kreira, ukazujući na specifično stablo/reviziju. Kao rezultat grane i oznake se vrlo brzo kreiraju, i skoro da ne uzimaju dodatni prostor u spremištu.
Ako ste uvezli vaš projekat sa preporučenom strukturom foldera, kreiranjem grana ili oznaka verzija je veoma jednostavno:
Izaberite folder u vašoj radnoj kopiji koji želite da kopirate u granu ili oznaku, zatim izaberite komandu → .
Uobičajeni destinacioni URL za novu granu biće izvorni URL na koji je osnovana vaša radna kopija. Potrebno je da uredite taj URL ka novoj putanji za vašu granu/znak. Tako umesto
http://svn.collab.net/repos/ProjectName/trunk
možete sada koristiti nešto kao
http://svn.collab.net/repos/ProjectName/tags/Release_1.10
Ako ne možete da se setite konvencije imenovanja koju ste koristili poslednji put, kliknite na dugme desno da otvorite pretraživač spremišta tako da možete videti postojeću strukturu spremišta.
Kada odredite ciljni URL svi folderi do zadnjeg moraju već postojati ili ćete dobiti poruku o grešci. U gornjem primeru, URL http://svn.collab.net/repos/ProjectName/tags/
mora postojati da se kreira Release_1.10
znak.
Međutim, ako želite da kreirate grana/znak u URL koji ima središnje foldere koji još ne postoje morate čekirati opciju Kreirajte središnje foldere
na dnu dijaloga. Ako je opcija aktivirana svi središnji folderi se automatski kreiraju.
Primetimo da je ova opcija onemogućena uobičajeno da bi se izbegle greške pri kucanju. Na primer, ako otkucate ciljni URL kao http://svn.collab.net/repos/ProjectName/Tags/Release_1.10
umesto http://svn.collab.net/repos/ProjectName/tags/Release_1.10
, dobićete grešku sa onemogućenom opcijom, ali ako je opcija omogućena folder Tags
će biti automatski kreiran i završiće se folderom Tags
i folderom tags
.
Sada imate da izaberete izvor za kopiranje. Ovde imate tri mogućnosti:
Nova grana se kopira direktno u spremište iz GLAVNE revizije. Nikakve podatke ne treba preneti iz vaše radne kopije, i grana se kreira brzo.
Nova grana je kopirana direktno u spremište ali možete izabrati stariju reviziju. Ovo je korisno ako ste zaboravili da uradite oznaku kada ste realizovali vaš projekat prošle nedelje. Ako ne možete zapamtiti revizioni broj kliknite dugme s desne strane da prikažete revizioni dnevnik i izaberite revizioni broj odatle. Ponovo nema podataka koji se prenose iz vaše radne kopije i grana se kreira brzo.
Nova grana je idntična kopija vaše lokalne radne kopije. Ako ste uskladili neke fajlove sa starijom revizijom u vašoj RK, ili ako ste napravili lokalne izmene, to je tačno ono što ide u kopiju. Prirodno ova vrsta kompleksnih oznaki može obuhvatiti podatke iz vaše RK nazad u spremište ako ona već ne postoji tamo.
Ako želite vašu radnu kopiju da prebacite na novo kreiranu granu automatski, koristite prebaci radnu kopiju na novu granu/oznaku čekboks. Ali ako to uradite, najpre budite sigurni da vaša radna kopija ne sadrži izmene. Ako sadrži, ove promene će biti stopljene u granu RK kada prebacite.
Ako vaša radna kopija ima druge projekte uključene sa svn:externals
osobinom, ti eksternali će biti izlistani na dnu dijaloga grana/ѕnak. Za svaki eksternal ciljna putanja i izvorni URL je prikazan.
Ako želite da budete sigurni da je novi znak uvek u konzistentnom stanju proverite sve eksternale da imaju odgovarajuće revizije. Ako ne proverite eksternale i eksternale za GLAVNU reviziju koji se mogu menjati u buduće, izmenom novog znaka će proveriti GLAVNU reviziju eksternala i vaš znak se neće moći kompajlirati. Zato je dobra ideja da se podese eksternali na eksplicitnu reviziju kada se kreira znak.
Eksternali se automatski zakače na neku GLAVNU reviziju radne kopije OSNOVNE revizije u zavisnosti od izvor grana/znak:
Tabela 4.1. Označena revizija
Kopiraj izvor | Označena revizija |
---|---|
GLAVNA revizija u spremištu | GLAVNA revizija eksternala |
Određena revizija u spremištu | GLAVNA revizija eksternala |
Radna kopija | RK OSNOVNA revizija eksternala |
Ako je projekta uključen kao eksternal koji ima svoj uključen eksternal onda to neće biti označeno! Samo eksternali koji su direktni potomci mogu biti označeni.
Pritisnite unutar spremišta.
da urežete novu kopiju u spremište. Ne zaboravite da obezbedite dnevnik poruku. Primetimo da je kopija kreiranaPrimetimo da osim što ste odlučili da prebacite vašu radnu kopiju na novokreiranu granu, kreiranje Grane ili Oznake ne utiče na vašu radnu kopiju. Čak i ako kreirate granu iz vaše RK, ove izmene su urezane u novu granu, ne u deblo, tako da vaša RK može još uvek biti markirana kao izmenjena sa respektom na deblo.
Možete takođekreiratigranu ili oznaka i ako nemate radnu kopiju. Da to uradite, otvorite pretraživač spremišta.Možete tamo vući foldere u novu lokaciju. Treba da držite Ctrl taster dok vučete da kreirate kopiju, inače će folder biti pomeren, a neće biti kopiran.
Takođemožete vući folder pomoću desnog dugmeta miša.Kadaotpustite dugme miša možete izabrati iz kontekstnog menija gdeželite da pomerite folder ili da ga kopirate. Svakako, da kreirate granu ili oznaku morate kopirati folder, ne pomerati ga.
Još jedan način je iz dijaloga dnevnika. Možete prikazati dijalog dnevnika npr. deblo, izaberite reviziju (ili GLAVNU reviziju na sam vrh ili prethodnu reviziju), desni kliki i izaberite
... to nije (ne realno) pitanje. Dok preuzimanje skida sve iz željene grane u spremištu ka folderu vaše radne kopije,
→ samo prenosi izmenjene podatke u vašu radnu kopiju. Dobro za mrežno unošenje, dobro za vaše strpljenje. :-)Da bi bili sposobni da radite sa sveže generisanom granom ili oznakom imate više načina da rukujete time. Možete:
→ da se uradi sveže preuzimanje u prazan folder. Možete preuzeti bilo koju lokaciju na vašem lokalnom disku i možete kreirati onoliko radnih kopija iz vašeg spremišta koliko želite.
Prebacite vašu radnu kopiju u novo kreiranu kopiju spremištu. Opet izaberite vršni nivo folder vašeg projekta i koristite
→ iz kontekst menija.U sledećem dijalogu unesite URL grane koju ste kreirali. Izaberite Glavna Revizija radio dugme i kliknite na . Vaša radna kopija je prebačena na novu granu/oznaku.
Prebacite rad tek kao Obnova i nikad ne odbaciti vaše lokalne izmene. Bilo koje izmene koje ste uradili u vašoj radnoj kopiji koje još nisu urezane biće stopljene kada uradite Prebacivanje. Ako ne želite da se to desi morate ili urezati izmene pre prebacivanje, ili vratiti vašu radnu kopiju u već-urezanu reviziju (tipčno GLAVNA).
Ako želite da radite na deblu i grani, ali ne želite skupo sveže preuzimanje, možete koristiti Vindouz Eksplorer da napravite kopiju vašeg debla u sledći folder, zatim
→ zatim kopirajte u novu granu.Takođe, sama Subverzija ne pravi razliku između oznaki i grana, način kako se tipično koriste razlikuje se u malom.
Oznake se obično koriste da se kreira statička slika projekta u pojedinačnom stanju. Kao takvi se ne koriste normalno pri razvoju - to je zašto postoje grane, koji rezon mi preporučujemo /deblo /grane /oznake
strukturu spremišta na prvom mestu. Rad na znak revizijama nije dobra ideja, ali vaši lokalni fajlovi nisu zaštićeni od upisivanja pa nema ništa da vas zaustavi da to uradite greškom. Međutim, ako pokušate da urežete putanju u spremište koja sadrži /oznake/
, TortoiseSVN će vas upozoriti.
To može biti da je potrebno uaditi dalje izmene za realizaciju koju već označavate. Korektan način rukovanja ovim je kreiranje nove grane od oznaka najpre i urezati granu. Uradite vaše Izmene na ovoj grani i zatim kreirajte novi znak od ove nove grane, npr. Version_1.0.1
.
Ako izmenite radnu kopiju kreiranu od grane i urežete, zatim sve izmene idu u novu granu i ne u deblo. Samo modifikacije su uskladištene. Ostatak ostaje jeftina kopija.
Tamo gde se grane koriste da održavaju odvojene linije razvoja, u nekim stanjima vi ćete želeti da stopite izmene napravljene na grani nazad u deblo, ili obratno.
Važno je razumeti kako grananje i stapanje radi u Subverziji pre no se počne njihovo korišćenje, jer to može postati sasvim kompleksno. Veoma je preporučljivo da pročitate poglavlje Branching and Merging u Subverzionoj knjizi, što daje pun opis i puno primera kako ih koristiti.
Sledeća tačka za notiranje je tda to stapanje uvek nalazi mesto u okviru radne kopije. Ako želite da stopite izmene u granu, imate da uzmete radnu kopiju za preuzimanje grane, i pozovete čarobnjak stapanja iz radne kopije koristeći → .
Generalno je to dobra ideja da se izvrši stapanje u neizmenjenu radnu kopiju. Ako ste uradili druge izmene u vašoj RK, urežite ih najpre. Ako stapanje ne ide kako ste očekivali, morate vratiti izmene i Vrati komanda će poništiti sve izmene uključujući bilo koje urađene pre stapanja.
Postoje tri često korišćena slučaja za stapanje koji su podržani u blago različitom načinu, kako je opisano dole. Prva strana čarobnjaka stapanja vas pita da izaberete metod koji vam treba.
Metoda se koristi u slučaju kad ste napravili jednu ili više revizija u grani (ili glavnoj grani) i želite preneti te izmene u neku drugu granu.
Šta pitate Subverziju da uadi je „ Izračunajte neophodne izmene da dobijete [OD] revizije 1 grane A [KA] reviziji 7 grane A, i primenite ove izmene u mojoj radnoj kopiji (debla ili grane B). “
Ako ostavite revizioni opseg praznim Subverzija koristi stapanje-praćenje mogućnosti da izračina korektan revizioni opseg za korišćenje. Ovo je poznato kao reintegrisanje ili automatsko stapanje.
Ovo je mnogo opštiji slučaj reintegracionog metoda. Šta pitate Subverziju da radi je: „ Izračunajte neophodne izmene da dobijete [OD] glavna revizija debla [KA] glavna revizija grane, i primenite ove izmene u mojoj radnoj kopiji (debla). “ Net rezultat je da deblo sada izgleda tačno kao grana.
Ako vaš server/spremište ne podržava praćenje stapanja onda je ovo jedini način da se grane stope nazad u deblo. Drugi slučaj korišćenja javlja se koristeći prodajne grane i potrebno je stopiti izmene prateći novi prodajni izdanak u vašem kodu debla. Za više informacija pročitajte poglavlje vendor branches u Subverzionoj knjizi.
U Od: polju unesite pun folder URL grane ili oznake koji sadrži izmene koje želite da prenesete u radnu kopiju. Možete kliknuti da pretražite spremište i nađete željenu granu. Ako ste stopili iz ove grane ranije, sada samo koristite padajuću listu koja prikazuje istoriju prethodno korišćenih URLova.
Ako stapate iz preimenovanih ili obrisanih grana morate da se vratite nazad na reviziju gde te grane još postoje. U tom slučaju potrebno vam je da specificirate tu reviziju kao peg reviziju u opsegu revizija koje se stapaju (vidi dole) u drugačijem slučaju stapanje neće proći kada ne može da nađe putanju u GLAVNOJ.
U Revizioni opseg za stapanje polju unesite listu revizija koje želite da stopite. Ovo može biti pojedinačna revizija, lista specifičnih revizija odvojenih zapetama, ili opseg revizija odvojenih crticom, ili kombinacija svega.
Ako vam je potrebno da specificirate peg reviziju za stapanje, dodajte peg reviziju na kraj revizija, npr.5-7,10@3
. U gornjem primeru, revizije 5,6,7 i 10 će biti stopljene, sa 3 koja je peg revizija.
Postoji važna razlika u načinu kako je specificiran opseg revizija sa TortoiseSVN poređena sa klijentom komandne linije. Najlakši način da se vizualizuje to je da se misli o ogradi sa zidom i ogradi panelom.
Sa klijentom komandne linije vi specificirate izmene za stapanje koristeći dva „ograda sa zidom“ revizija koja specificira pre i posle tačaka.
Sa TortoiseSVN vi specificirate izmenljivskup da se stopi koristeći „ograda panelima“. Razlog za ovo postaje čista kada koristite dnevnik dijalog da specificirate revizije za stapanje, gde se svaka revizija pojavljuje kao izmenljivskup.
Ako stapate revizije u delovima, metod prikazan u Subverzijinoj knjizi daje va stapanje 100-200 ovog puta i 200-300 sledeći put. Sa TortoiseSVN možete stapati 100-200 ovoaj put i 201-300 sledeći put.
Ove razlike su generisale mnogo udara na mejling liste. Mi saznajemo to da ima razlike sa klijentom komandne linije, ali verujemo da većina GUI korisnika lakše razume metodu koju smo implementirali.
Najlakši način da se izabere opseg revizija koje su vam potrebne je da se klikne na Shift-modifikator). Kliknite na i lista revizionih brojeva za stapanje će biti napunjena za vas.
, koji će izlistati skore promene sa njihovim komentarima dnevnika. AAko želite da stopite izmene iz pojedinačne revizije samo kliknite na tu reviziju. Ako želite da stopite izmene iz više revizija, onda izaberite taj opseg (koristeći podrazumevaniAko želite da stopite izmene nazad van vaše radne kopije, da vratite izmene koje su već urezane, izaberite reviziju za vraćanje i budite sigurni da je Inverzno stapanje boks čekiran.
Ako ste već stopili neke izmene iz ove grane, puni nade vi ćete napraviti zapažanje o zadnjoj reviziji stopljenoj u dnevnik poruci kada urezujete izmene. U ovom slučaju, možete koristiti
za Radnu Kopiju da bi pratili dnevnik poruku.Setite se da mislimo na revizije kao izmenjene skupove, treba da Koristite reviziju posle krajnje tačke zadnjeg stapanja kao početnu tačku za ovo stapanje. Na primer, ako ste stopili revizije 37 do 39 poslednji put, tada je početna tačka za ovo stapanje revizija 40.Ako koristite praćenje stapanja osobinu Subverzije, ne treba vam da pamtite koje revizije su već stopljene - Subverzija beleži to za vas. Ako ostavite revizioni opseg praznim, sve revizije koje još niste stopili biće uključene. Pročitajte odeljak pod imenom „Praćenje Spajanja“ da nađete više o tome.
Kada se koristi praćenje stapanja, dijalog dnevnkaće prikazati prethodno stopljenu reviziju i revizije predatirane od zajedničke predačke tačke, npr. pre nego je grana kopirana kao posivela. Čekboks Sakri nestopljive revizije omogućava vam da kompletno filtrirate revizije tako da vidite revizije koje mogu biti stopljene.
Ako drugi ljudi možda urezuju izmene budite pažljivi pri korišćenju GLAVNE revizije. Ona možda ne ukazuje na reviziju na koju vi mislite ako još neko urezuje posle vašeg zadnjeg obnavljanja.
Ako ostavite opseg revizija praznim ili imate radio dugme sve revizije čekirano onda Subverzija stapa sve revizije koje još nisu stopljene. Ovo je poznato kao reintegrisanje ili automatsko stapanje.
Postoje neki uslovi koji dovode do reintegrisanja stapanja. Najpre, server mora da podržava stapanja praćenje. Radna kopija mora biti eskonačne dubine (bez praznog preuzimanja), i ne sme imati bilo kakvu lokalnu izmenu, prebačene stavke ili stavke koje su obnovljene na reviziju različitu od GLAVNE. Sve izmene debla urađene u toku razvoja grane moraju biti stopljene kroz granu (ili označene da su stopljene). Opseg revizija za stapanje biće izračunat automatski.
Kliknite odeljak pod imenom „Opcije spajanja“.
i idite na
Ako koristite ovaj metod da stopite posebnu granu nazad u deblo. ptreno vam je da počnete čarobnjak stapanja unutar radne kopije debla.
U Iz: polju unesite pun folder URL debla. Ovo možda zvuči loše, ali zapamtite da deblo je početna tačka kojoj želite da dodate izmene grane. Možete takođe kliknuti da pretražite spremište.
U Do: polju unesite pun folder URL posebne grane.
U oba Od Revizije polju i Do Revizije polju, unesite zadnji revizioni broj u kom dva stabla treba sinhronizovati. Ako ste sigurni da niko još ne urezuje možete koristiti GLAVNU reviziju u oba slučaja. Ako nema šanse da još neko urezuje od te sinhronizacije, koristite specifičan revizioni broj da izbegnete gubljenje skorih urezivanja.
Možete takođe koristiti
da izaberete reviziju.Ova strana čarobnjaka vam dopušta da odredite dodatne opcije, pre početka procesa stapanja. Većinu vrmena vi ste koristili podrazumevano podešavanje.
Morate odrediti dubinu koju ćete koristiti za stapanje, npr. koliko daleko u radnu kopiju stapanje ide. Korišćenje termina dubina opisano je u odeljak pod imenom „Preuzimanje dubina“. Podrazumevana dubina je Radna kopija, koja koristi postojeće podešavanje dubine, i skoro uvek je ono što želite.
Većinu vremena želite da stapanje uzme u obzir istoriju fajla tako da te izmene relativne zajedničkom pretku su stopljene. Ponekad će va možda trebati da stopite fajlove koji su možda povezane ali nisu u spremištu. Na primer možete imati uvezene verzije 1 i 2 iz biblioteke trećeg lica u dva odvojena direktorijuma. Takođe oni su logički povezani, Subverzija nema saznanje o tome jer ona vidi samo crnu kutiju koju ste uvezli. Ako pokušate da stopite razlike između ova dva stabla videćete potpuno uklanjanje koje prati potpuno dodavanje. Da se učini da Subverzija koristi samo razlike bazirane na razlikama putanje pre nego razlike bazirane na istoriji, proverite Ignore ancestry boks. Pročitajte više o ovim stvarima u Subverzionoj knjizi Noticing or Ignoring Ancestry.
Možete odrediti način rukovanja sa završetkom linija i izmenama beline. Ove opcije su opisane u odeljak pod imenom „Kraj-reda i Belina Opcije“. podrazumevano ponašanje je da se tretiraju sve beline i kraj-linije razlike kao stvarne izmene koje se stapaju.
Čekboks označen Forsiraj stapanje se koristi da se izbegne konflikt stabla gde dolazeće brisanje utiče na fajl koji je izmenjen lokalno ili uopšte nije verzionisan. Ako je fajl obrisan onda nema načina da sevrati,zbog čega ova opcija nije čekirana podrazumevano.
Ako koristite stapanja praćenje i želite da označite reviziju da je stopljena, bez stvarnog stapanja ovde, čekirajte Samo obeležite stapanje čekboks. Postoje dva moguća razloga koja možete želeti da ovo uradite. Može biti da je stapanje jako komplikovano za algoritam stapanja, onda ćete uraditi izmene ručno, zatim markirate izmene kao stopljene da bi stapanja praćenje algoritam bio upoznat sa tim. Ili možete želeti da predupredite posebne revizije da budu stopljene. Označavajuči ih već stopljenim predupređujete pojavu stapanja pomoću stopi-tragač-upoznat klijentima.
Sada je sve podešeno, sve što imate da uradite je da kliknete na ne modifikuje radnu kopiju uopšte. To prikazuje listu fajlova koji će biti izmenjeni stvarnim stapanjem, i notira te površine gde se konflikti mogu javiti. Pošto praćenje stapanja čini proces stapanja nešto komplikovanijim, nema garantovanog načina da se unapred nađe da li će se stapanje završiti bez konflikta, tako će fajlovi označeni u test stapanju mogu se u stavari stopiti bez problema.
dugme. Ako želite da pregledate rezultat omogućava operaciju stapanja, aliDijalog napredovanja stapanja prikazuje svako stanje stapanja sa revizionim opsezima koji su obuhvaćeni. Ovo može pokazati jednu reviziju više nego što očekujete. Na primer ako pitate da stopite reviziju 123 dijalog napredovanja će izvestiti „ Stapanje revizija 122 do 123 “. Da biste razumeli ovo morate se setiti da je Stapanje u relaciji sa Diff. Proces stapanja radi generišući listu razlika između tačaka u spremištu i primenjujući razlike u vašoj radnoj kopiji. Dijalog napredovanja jednostavno prikazuje početak i kraj tačaka za diff.
Stapanje je sada kompletno. Dobra je ideja da se pogleda na stapanje i vidi da li je kako se očekivalo. Stapanje je obično sasvim kompletno. Konflikti često nastaju ako je grana pomerena daleko od debla.
Kadgod se revizije stapaju u radnoj kopiji, TortoiseSVN generiše dnevnik poruku iz svih stopljenih revizija. One su dostupne preko
dugmeta u dijalogu urezivanja.Da podesite te generisane poruke postavite odgovarajuće osobine projekta u vašoj radnoj kopiji. Vidi odeljak pod imenom „Stopi dnevnik poruke obrazac“
Za Subverzione klijente i servere pre 1.5, nisu stopi informacije uskladištene i stopljene revizije su praćene ručno. Kada ste testirali izmene i došli do urezivanja ove revizije, vaš dnevnik poruka urezivanja treba uvek da obuhvati revizione brojeve koji su preneti u stapanju. Ako želite da primenite sledeće stapanje kasnije potrebno vam je da znate šta ste već stopili, jer ne želite da prenesete izmene više nego jednom. Za više informacija o tome pogledajte Best Practices for Merging u Subverzijinoj knjizi.
Ako vaš server i svi klijenti rade Subverziju 1.5 ili višu, praćenje stapanja mogućnost će zabeležiti revizije stoljene i izostaviti revizije koje su stopljene više od jedanput. Ovo čini vaš život mnogo jednostavnijim kao kad jednostavno stopite celi revizioni opseg svaki put i znate da samo nova revizija će stvarno biti stopljena.
Upravljanje granama je važno. Ako želite da držite ovu granu ažurnom sa deblom, treba da budete sigurni da stapate često tako da grana i deblo ne odu suviše daleko. Naravno, potrebno je još uvek izbegavati ponavljanje stapanja izmena, kako je objašnjeno gore.
Ako ste upravo stopili posebnu granu nazad u deblo, deblo sada sadrži sve nove posebne kodove, i grana je nepotrebna. Možete je sada obrisati iz spremišta ako je potrebno.
Subverzija ne može stopiti fajl sa folderom i obratno - samo imenici sa imenicima i fajlovi sa fajlovima. Ako kliknete na fajl i otvorite dijalog stapanja, zatim možete zadati putanju do fajla u dijalogu. Ako izaberete i pokrenete dijalog morate specificirati folder URL za stapanje.
Subverzija 1.5 uvodi mogućnost za praćenje stapanja. Kada se vaše stapanje menja sa jednog stabla na drugo, revizioni brojevi stopljeni su uskladišteni i ta informacija može biti korišćena za više različitih svrha.
Možete izbeći opasnost od stapanja iste revizije dvaput (problem ponavljanja stapanja). Kada je jednom revizija označena da je stopljena, buduća stapanja koja uključuju tu reviziju u svom opsegu preskočiće je.
Kada stopite granu nazad u deblo, dnevnik dijalog može prikazati urezivanje grane kao deo deblovog dnevnika, dajući bolju preglednost izmena.
Kada prikažete dnevnik dijalog u okviru stapanja dijaloga, revizije već stopljene su prikazane sivo.
Kada se prikazuju invormacije okrivljavanja za fajl, možete izabrati da prikažete originalnog autora stopljene revizije, pre nego osobu koja je uradila stapanje.
Možete obeležiti reviziju kao ne stapaj uključujući je u listu stopljenih revizija bez stvarnog stapanja.
Praćenje stapanja informacija je uskladištena u svn:mergeinfo
osobini klijenta kada on izvrši stapanje. Kada je stapanje urezano server uskladišti tu informaciju u bazi podataka, i kada zahtevate stapanje, dnevnik ili okrivljavanje informacije, server može odgovoriti odgovarajuće. Za sistem koji radi ispravno morate omogućiti takav server, spremište i svi klijenti su dograđeni. Raniji klijenti neće uskladištiti svn:mergeinfo
osobinu i raniji serveri neće obezbediti informacije koje traže novi klijenti.
Nađite više o praćenju stapanja u Subverziji Merge tracking documentation.
Tekst u dijalogu rešenja konflikta dat je SVN bibliotekom i možda još nije preveden kao TortoiseSVN dijalog. Izvinite zbog toga.
Stapanje ne ide uvek glatko. Ponekad postoji konflikt. TortoiseSVN vam pomaže kroz ovaj proces prikazivanjem dijaloga konflikta stapanja.
Tako da se neke izmene stope glatko, dok druge lokalne izmene su u konfliktu sa izmenama koje su već urezane u spremištu. Sve izmene koje mogu biti stopljene su stopljene. Dijalog konflikta stapanja daje vam različite načine rukovanja linijama koje su u konfliktu.
Za normalan konflikt koji se desi tokom izmena u sadržaju ili osobinama, dijalog prikazuje dugmiće koji vam omogućavaju da izaberete koji deo konflikta će te zadržati ili odbaciti.
Ne radite sa konfliktom sada. Neka stapanje nastavi i reši konflikt kada se stapanje završi.
Ovo ostavlja fajl kakav je bio, bez izmena koje su došle od stapanja ili izmena koje ste uradili u radnoj kopiji.
Ovo odbacuje sve vaše lokalne izmene i koristi fajl kako je stigao iz izvora stapanja.
Ovo odbacuje sve izmene iz izvora stapanja i ostavlja fajl sa vašim lokalnim uređenjem.
Ovo odbacuje vaše lokalne izmene koje su u konfliktu sa izmenama iz izvora stapanja. Ali ostavlja vaše lokalne izmene koje nisu u konfliktu.
Ovo odbacuje izmene iz izvora stapanja koji su u konfliktu sa vašim lokalnim izmenama. Ali čuva sve izmene koje nisu u konfliktu sa vašim lokalnim izmenama.
Markiraj konflikt kao rešen. Ovo dugme je onemogućeno sve dok se ne upotrebi dugme
da se uredi konflikt ručno i sačuvaju te izmene nazad u fajl. Kada su sačuvane izmene dugme postaje omogućeno.Pokreće uređivač stapanja da možete rešiti konflikt ručno. Ne zaboravite da sačuvate fajl tako da dugme
postane omogućeno.
Ako postoji stablo konflikta, molimo da najpre pogledate odeljak pod imenom „Konflikti Stabla“ o različitim vrstama konflitnih stabala i kako i začto se dešavaju.
Da se reši stablo konflikta posle stapanja dijalog je prikazan sa različitim opcijama kako rešiti konflikt:
Otkad postoje različite mogućnosti situacija konfliktnih stabala dijalog će prikazati dugmiće da reše ovo u zavisnosti od specifičnih konflikata. Tekst dugmića i labele objašnjavaju koje opcije su za rešavanje konflikata. Ako niste sigurni ili odustanite od dijaloga ili koristite dugme da rešite konflikt kasnije.
Kada razvijate nove osobine na izdvojenoj grani dobra je ideja da se radi plan reintegracije kda osobina bude kompletna. Ako ostali rad na deblu
u isto vreme može se ispostaviti da su razlike postale značajne posle nekog vremena i stapanje nazad postaje noćna mora.
Ako je osobina relativno jednostavna i razvoj nije bio dug možete prihvatiti jednostavan pristup, koji drži celu granu izdvojenu dok se osobina ne kompletira, zatim se stapa izmena grane nazad u deblo. U čarobnjaku stapanja to će biti jednostavno Stopi opseg revizija, sa opsegom revizija koji je revizioni opseg grane.
Ako osobina uzima mnogo vremena i treba vam račun za izmene u deblu
, potrbno je da zadržite sinhronizaciju grane. To jednostavno znači da periodično stapate izmene debla u granu, tako da grana sadrži sve izmene debla plus nove osobine. Proces sinhronizacije koristi Stopi opseg revizija. Kada je osobina kompletna možete je stopiti nazad na deblo
koristeći ili Reintegriši granu ili Stopi dva različita stabla.
Drugi (brzi) način stapanja svih izmena iz debla u buduće grane je korišćenjem Shift dugme dok desno kliknete na fajl).
→ iz proširenog kontekst menija (drži pritisnut
Ovaj dijalog je veoma jednostavan. Sve što imate je da podesite opcije za stapanje, kao što je opisano u odeljak pod imenom „Opcije spajanja“. Ostalo je dato u TortoiseSVN praćenje stapanja.
Subverzija generalno radi najbolje bez zaključavanja, koristeći „Kopiraj-Izmeni-Stopi“ metode opisane ranije u odeljak pod imenom „Kopiraj-Menjaj-Stopi rešenje“. Ipak, postoji nekoliko primera kada možete imati potrebu da primenite neku vrstu politike zaključavanja.
Vi koristite „nestopive“ fajlove, grafičke fajlove. Ako dva čoveka izmene isti fajl, stapanje nije moguće, tako da jedan od vas će izgubiti svoje izmene.
Vaša kompanija je uvek koristila zaključan sistema kontrole verzija u prošlosti i postoji odluka uprave da „zaključavanje je najbolje“.
Najpre treba obezbediti da Subverzioni server dograđen najmanje na verziju 1.2. Ranije verzije uopšte ne podržavaju zaključavanje. Ako koristite file://
pristup, svakako samo vaš klijent treba da bude obnovljen.
U ovom poglavlju, i skoro svuda u ovoj knjizi, reči „katanac“ i „zaključavanje“ opisuju mehanizam mežusobnog isključivanja korisnika da se izbegnu sudari pri urezivanju. Na nesreću, postoje dve druge vrste oznake „katanac“ sa kojim Subverzija, i ova knjiga, ponekad moraju da računaju.
Drugo je katanci radne kopije
, koji se koristi interno od Subverzije za prevenciju sudara između više Subverzionih klijenata koji rade na istoj radnoj kopiji. Uobičajeno je da stavite ove katance kad god je komanda kao uskladi/ureži/... prekinuta zbog greške. Ovi katanci se uklanjaju dok radi komanda čišćenja na radnoj kopiji, kako je opisano u odeljak pod imenom „Čišćenje“.
I treće, fajlovi i folderi se mogu zaključati ako ih koristi drugi proces, na primer ako imate dokument u vordu otvoren programom Vord, onda je taj fajl zaključan i ne može mu se pristupiti sa TortoiseSVN.
Možete generalno zaboraviti ove druge vrste zaključavanja sve dok nešto ne pođe loše i zahteva brigu o zaključavanju. U ovoj knjizi „katanac“ znači prvu vrstu sve dok nasuprot ne bude brisanja iz konteksta ili eksplicitni stanje.
Podrazumevano, ništa nije zaključano i svako ko ima pristup urezivanju može urezivati izmene u svaki fajl u bilo koje vreme. Ostali će uskladiti svoje radne kopije periodično i izmene u spremištu će biti stopljene sa lokalnim izmenama.
Ako vi Stavite Katanac na fajl, onda samo vi možete urezivati taj fajl. Urezivanje svih ostalih korisnika je blokirano sve dok ne skinete katanac. Zaključan fajl ne može biti izmenjen na bilo koji način u spremištu, on ne može biti obrisan ili preimenovan, osim od vlasnika katanca.
Zaključavanje nije pridruženo specifičnom korisniku, ali specifičnom korisniku i radnoj kopiji. Zaključavanje u radnoj kopiji brani da isti korisnik urezuje zaključan fajla iz druge radne kopije.
Kao primer, zamislimo da korisnik DŽon ima radnu kopiju u kancelarijskom PC. On započinje rad na nekoj slici, i zaključava fajl. Kada napusti svoju kancelariju on još nije završio sa tim fajlom, tako da ga nije otključao. Vraća se kući, gde DŽon takođe ima radnu kopiju, i odluči da još malo radi na projektu. Ali ne može da menja ili urezuje isti fajl slike jer je zaključavanje ostalo u radnoj kopiji na poslu.
Međutim, drugi korisnici neće neophodno znati da ste uklonili katanac. Osim da provere status zaključavanja regularno, najpre oni moraju znati o tome kada urezivanje utkaže, što u većini slučajeva nije mnogo krisno. Da biste učinili to lakšim za manipulaciju postoji nova Subverziona osobina svn:needs-lock
. Kada je ova osobina podešena (na bilo koju vrednost) na fajlu, kadgod se fajl preuzima ili uskladi, lokalna kopija postaje samo za čitanje osim ako ta radna kopija drži katanac za fajl. Ovo deluje kao upozorenje tako da ne možete uređivati taj fajl osim ako najpre ne dobijete katanac. Fajlovi koji su verzionisani i samo za čitanje označeni su specijalnim prekrivačem u TortoiseSVN da ukažu da treba da dobijete katanac pre uređenja.
Zaključavanje je upisano u lokaciji radne kopije kao i vlasnik. Ako imate više radnih kopija (kući, na poslu) vi možete samo da držite katanac na jednoj od tih radnih kopija.
Ako jedan od vaših saradnika traži katanac i ode na odmor bez otključavanja šta da se radi? Subverzija omogućava način da se forsira zaključavanje. Otključavanje od još nekog označeno je kao Razbijanje katanca, a nasilno otključavanje koje neko uradi zove se Krađa katanca. Prirodno, ovo nisu stvari koje treba da radite olako ako želite da ostanete prijatelj sa saradnicima
Zaključavanje se upisuje u spremištu i katanac žeton se kreira u vašoj lokalnoj radnoj kopiji. Ako postoji različitos, na primer ako još neko ima slomljen katanac, lokalni žeton katanac postaje neispravan. Spremište je uvek definitivna referenca.
Izaberite fajl(ove) u vašoj radnoj kopiji za koje želite da dobijete katanac, zatim izaberite komandu
→ .
Dijalog se pojavljuje dozvoljavajući da unesete komentar, tako ostali mogu videti zašto ste zaključali fajl. Komentar nije obavezan i trenutno se koristi samo sa Svnserve osnovanim spremištima. Ako ( i samo i) trebate da ukradete katanac od nekog proverite Još uvek zaključan boks, zatim kliknite na .
Možete setovati osobinu projekata tsvn:logtemplatelock
da obezbedite šablonizovanu poruku da ih korisnici popune kao poruke zaključavanja . Pogledajte odeljak pod imenom „Podešavanje projekta“ za instrukcije o podešavanju osobina projekta.
Ako izaberete folder i onda koristite svakim fajlom u svakom pod-folderu izabranom za zaključavanje. Ako stvarno želite da zaključate celu hijerarhiju, ovo je način da to uradite, ali ćete postati jako nepopularni među saradnicima ako im zaključate ceo projekat. Koristite pažljivo...
→ dijalog zaključavanja će se otvoriti saDa biste osigurali da ne zaboravite da otključate ne treba vam ništa posebno, zaključani fajlovi su prikazani u dijalogu urezivanja i izabrani podrazumevano. Ako nastavite sa urezivanjem, katanac koji držite na izabranim fajlvima se uklanja, čak i ako fajlovi nisu izmenjeni. Ako ne želite da uklonite katanac sa nekih fajlva možete ih otčekirati (ako nisu izmenjeni). Ako želite da držite katanac na fajlu koji ste izmenili imate da omogućite Drži katanac čekboks pre urezivanja izmena.
Da se ukloni katanac ručno, izaberite fajl(ove) u vašoj radnoj kopiji za koje hoćete da uklonite katanac, zatim izaberite komandu
→ Ništa dalje ne treba uneti jer TortoiseSVN kontaktira spremište i uklanja katance. Takođe možete koristiti komandu na folderu da uklonite sve katance rekurzivno.
Da vidite koje katance vi i drugi držite, koristite → . Lokalno držan katanac žetoni se prikažu trenutno. Da biste proverili koje katance drže ostali (i da vidite da li je neki vaš katanac slomljen ili ukraden) treba da kliknete na .
Iz kontekst menija ovde možete takođe staviti ili otkačiti katanac, kao i slomljene i ukradene katance koje drže drugi.
Ako slomite ili ukradete nekom drugom katanac bez pitanja možete potencijalno uzrokovati gubitak posla. Ako radite sa nestopivim tipom fajlva i nekom ukradete katanac kada vratite katanac oni su slobodni da provere svoje izmene i prekriju vaše. Subverzija ne gubi podatke ali vi možete izgubiti radnu zaštitu tima koje va zaključavanje omogućava.
Kako je napomenuto gore, mnogo efektivniji način za korišćenje zaključavanja je podešavanjem svn:needs-lock
osobine na fajlu. Uporedite sa odeljak pod imenom „Podešavanje projekta“ za instrukcije kako podesiti te osobine. Fajlovi sa tim osobinama podešenim će uvek biti preuzimani i obnovljeni sa setovanim flegom samo-za-čitanje osim ako vaša kopija drži katanac.
Kao podsetnik, TortoiseSVN koristi specijalni prekrivač da označi to.
Ako radite sa politikom da svaki fajl može biti zaključan tada možda shvatite da je lakše da koristite Subverzionu suto-props osobinu da podesite osobine automatski svaki put kad dodajete novi fajl. Pročitajte odeljak pod imenom „Automatsko podešavanje osobina“ za dalje informacije.
Kada kreirate novo spremište sa Subverzijom 1.2 ili višom, četiri šablona zakačaljki se kreira u spremištu zakačaljke
folder.One se pozivaju pre i posle postavljanja katanca i pre i posle skidanja katanca.
Dobra je ideja da se instalira post-zaključavanja
and post-otključavanjak
zakačiva skripta na serveru koja šalje epoštu označivši fajl koji je zaključan. Sa takvom skriptom svi vaši korisnici mogu biti obavešteni ako neko zaključa/otključa fajl. Možete naći primer zakačive skripte hooks/post-lock.tmpl
u vašem folderu spremišta
Možete takođe koristiti zakačljke da onemogućite lomljenje i krađu katanaca, ili možda graničiti to na imenovanog administratora. Ili možda želite da pošaljete epoštu vlasnicima kada je neki od njihovih katanaca slomljen ili ukraden.
Pročitajte odeljak pod imenom „Zakačive skripte sa serverske strane“ za više infižormacija.
Za projekte otvorenog koda (kao ovaj) svako može da ima pristup čitanju spremišta, i svako može da doprinese projektu. Dakle kako se ti doprinosi kontrolišu? Ako samo svako urezuje izmene projekat će biti stalno nestabilan i moguće permanentno slomljen. U ovoj situaciji izmene se upravljaju predlaganjem zakrpa fajlova razvojnom timu koji ima pristup upisivanju. Oni mogu pregledati zakrpu najpre i onda ili je uneti u spremište ili je vratiti nazad autoru.
Fajlovi zakrpa su jednostavno Jedinstveni-Diff fajlovi koji prikazuju razlike između vaše radne kopije i osnovne revizije.
Najpre treba da napravite i test vaših izmena. Zatim umesto da koristite → na predačkom folderu, izaberite →
možete sada izabrati fajlove koje hoćete da uključite u zakrpu, isto kako želite sa punim urezivanjem. Ovo će proizvesti pojedinačni fajl kji sadrži rezultat svih izmena kaoje ste uradili na izabranim fajlovima od zadnjeg ađuriranja iz spremišta.
Kolone u ovom dijalogu mogu se podesiti na isti način kao kolone u Proveri za modifikaciju dijalogu. Pročitajte odeljak pod imenom „Lokalni i daljinski status“ za više detalja.
Kliknuvši na dugme Podešavanje možete specificirati kako je zakrpa kreirana. Na primer možete specificirati da te izmene u završetku linija ili belina ne budu uključene u krajnjem fajlu zakrpe.
Možete proizvesti izdvojene zakrpe koje sadrže izmene različitih skupova fajlova. Svakako, ako kreirate fajl zakrpu, uradite još neku izmenu na istim fajlovima i onda kreirajte sledeću zakrpu, drugi fajl zakrpe će uključivati oba skupa izmena.
Samo sačuvajte fajl koristeći fajlime po vašem izboru. Fajlovi zakrpa imaju ekstenziju koju god želite, ali konvencionalno bi trebalo da koristei.patch
ili .diff
ekstenziju. Sada ste spremni da podnesete vaš fajl zakrpu.
.txt
ekstenzijom ako nameravate da to pošaljete epoštom još nekome. Pun tekst fajl je često podeljen epoštanskim softverom i često se dešava da beline i karakter za novu liniju se automatski konvertuje i komprimuje. Ako se to desi zakrpa se ne može primeniti glatko. Onda koristite .patch
ili .diff
kao ekstenziju dok pamtite fajl zakrpu.Možete takođe da sačuvate zakrpu u klipbordu umesto u fajlu. Možete želeti da to uradite tako da ga nalepite u epoštu da ga pregledaju ostali. Ili ako imate radnu kopiju na jednoj mašini i želite da prenesete izmene sa jedne na drugu, zakrpa na klipbordu je konvencionalni način da to uradite.
Ako više volite, možete kreirati fajl zakrpu u okviru Urezivanje ili Provera izmena dijaloga. Samo izaberite fajlove i koristite kontekst meni stavku da kreirate zakrpu od tih fajlova. Ako želite da vidite Opcije dijalog držite šift dok kliknete desnim.
Fajlovi zakrpa se primenjuju na vašu radnu kopiju. Biće urađeni na istom nivou foldera koji su korišćeni kada je kreirana zakrpa. Ako niste sigurni šta je to, samo pogledajte prvu liniju fajla zakrpe. Na primer, ako je prvi fajl radio na s doc/source/english/chapter1.xml
i prva linija fajla zakrpe je Index: english/chapter1.xml
tada je potrebno da primenite zakrpu na doc/source/
folder. Međutim, omogućava vam da ste na korektnoj radnoj kopiji, ako izaberete neispravan nivo foldera, TortoiseSVN će to notirati i predložiti vam korektan nivo.
Da bi primenili fajl zakrpe na vašu radnu kopiju potrebno vm je da imate najmanje pristup za čitanje spremišta. Razlog za ovo je da program stapanja mora da uporedi izmene nazad sa revizijom prema kojoj je urađen od udaljenog programera.
Iz kontekst menija za taj folder, kliknite na .patch
ili .diff
fajlovi su prikazani, ali može se izabrati opcija za „All files“. Ako ste prethodno sačuvali zakrpu u klipbord možete koristiti u fajl open dijalogu. Primetimo da se ova opcija pojavljuje ako zapamtite zakrpu na klipbord koristeći → . Kopiranjem zakrpe na klipbordiz druge app ne čini da se dugme pojavi.
Alternativno, ako fajl zakrpa ima .patch
ili .diff
ekstenziju, možete desnim klikom na taj direktorijum da izaberete → . U tom slučaju bićete pitani da unesete lokaciju radne kopije.
Ova dva metoda tek nude različite načine da se uradi ista stvar. Sa prvim metodom birate RK i pretražujete fajl zakrpa. Drugim birate fajl zakrpe i pretražujete RK.
Jednom kad izaberete fajl zakrpa i lokaciju radne kopije, TortoiseSVN kreće da stapa izmene iz fajla zakrpa sa vašom radnom kopijom. Mali prozor lista fajlove koji će biti izmenjeni. Dvostruki klik na svaki redom prikazaće izmene i sačuvati stopljene fajlove.
Daljinski programerske zakrpe su primenjene na vašoj radnoj kopiji tako da je potrebno urezati da se dozvoljava još nekom da menja iz spremišta.
Ponekad treba da znate ne samo linije koje su izmenjene, ali takođe ko je tačno izmenio određene linije u fajlu. Kada
→ komanda, ponekad se takođe poziva na anotiranje korisnih komandi.Ova komanda lista, za svaku liniju u fajlu, autora i reviziju linije koja je izmenjena.
Ako vas ne interesuju izmene iz ranijih revizija možete podesiti reviziju odakle će okrivljavanje početi. Podesite to na 1
, ako želite da okrivite svaku reviziju.
Podrazumevano je da okrivljavanje fajl se pregleda koristeći TortoiseBlame, što osvetljava različite revizije što ih čini lakšim za čitanjem. Ako želite da štampate ili uredite fajl okrivljavanja, izaberite Koristi tekst pregledač da vidite okrivljavanje.
Možete specificirati način rukovanja završetkom linije i izmenom beline. Ove opcije su opisane u odeljak pod imenom „Kraj-reda i Belina Opcije“. Podrazumevano ponašanje je da se tretiraju sve beline i kraj linija izmene kao realne izmene, ali ako želite da zanemarite uvlačenje izmene i naći originalne autore možete izabrati odgovarajuće opcije ovde.
Možete uključiti stopljene informacije ako želite, takođe ova opcija može da uzme značajno vreme da se preuzme sa servera. Kada se linije stope sa drugog izvora, informacija okrivljavanja prikazuje reviziju gde su izmene izvršene u originalnom izvoru kao i reviziju gde je stopljena u ovom fajlu.
Jedanput kad pritisnete
TortoiseSVN počinje obnavljanje podataka za kreiranje fajl odgovornih. Kada je proces odgovornosti jednom završen rezultat je upisan u privremeni fajl i možete videti rezultat.
TortoiseBlame, koji koji je uključen sa TortoiseSVN, čini fajl okrivljavanja lakši za čitanje. Kada letite mišem preko linije u info kolonama okrivljavanja, sve linije sa istom revizijom su prikazani sa mračnijom osnovom. Linije iz raznih revizija koje su izmenjene od istih autora su prikazani sa svetlom osnovom. Bojenje ne može raditi tako kjasno ako je displej podešen u 256 boja modu.
Ako uradite levi klik na liniju, sve linijesa istom revizijom su osvetljene, i linije od drugih revizija od istog autora su osvetljene svetlijom bojom. Ovo osvetljavanje je prilepljivo, omogućava pomeranje miša bez gubljenja osvetljenja. Kliknite na tu reviziju ponovo da biste isključili osvetljavanje.
Revizioni komentari (dnevnik poruke) su prikazani u boksu napomena kadgod miš leti preko info kolone okrivljavanja. Ako želite da kopirate dnevnik poruku za tu reviziju, koristite kontekst meni koji se pojavljuje kada uradite desni klik na info kolonu okrivljavanja.
Možete pretraživati unutar Okrivi izveštaja koristeći
→ . Ovo dopušta da pretražujete revizione brojeve, autore i sadržaj samog fajla. Dnevnik poruke nisu uključene u pretraživanje - treba da koristite Dnevnik Dijalog da pretraažujete njih.Možete takođe skočiti na specifični broj linije koristeći
→ .Kada miš leti preko info kolona okrivljavanja, kontekst meni je dostupan što vam pomaže poređenjem revizija i pregledom istorije, koristeći revizione brojeve linija pod mišem kao referencu.
→ generiše izveštaj okrivljavanja za iste fajlve, ali koristeći prethodnu reviziju kao gornju granicu. Ovo daje izveštaj okrivljavanja za stanje fajla baš pre linije koju gledate koja je zadnja izmenjena. → pokreće vaš diff pregledač, prikazujući vam šta je izmenjeno u referentnoj reviziji. → prikazuje revizioni dnevnik dijalog počevši sa referentnom revizijom.Ako vam treba bolji vizualni indikator gde su najstarije i najnovije izmene, izaberi
→ . Obojenje ja sasvim svetlo, vo će koristiti gradijent boje da prikaže novije linije plavo. Podrazumevano bojenje je sasvim svetlo, ali možete ga promeniti koristeći TortoiseBlame podešavanje.Ako koristite Praćenje stapanja i zahtevate informacije o stapanju kada počnete okrivljavanje, stopljene linije su prikazane malo različito. Gde je linija promenjena kao rezultat stapanja sa druge putanje, TortoiseBlame će prikazati reviziju i autora zadnje izmene u orignalnom fajlu pre nego reviziju gde je bilo stapanje. Ove linije su indicirane prikazivanjem reviziju i autora italikom. Revizija gde je stapanje urađeno prikazana je posebno u oblačiću saveta dok lebdite mišem preko kolone informacije o okrivljavanju. Ako ne želite prikazivanje stopljenih linija na ovaj način, otčekirajte Uključi informacije stapanja čekboks kada počnete okrivljavanje.
Ako želite da vidite putanje obuhvaćene stapanjem, izaberite
→ . Ovo će prikazati gde su linije izmenjene, isključujući izmene od stapanja.Revizije prikazane u informaciji o okrivljavanju reprezentuju poslednju reviziju gde je sadržaj linije izmenjen. Ako je fajl kreiran kopiranjem drugog fajla, tada do promene linije, njena revizija okrivljavanja će prikazati zadnje izmene u originalnom izvornom fajlu, ne u reviziji gde je kopija napravljena. Ovo je takođe primenjeno na putanje prikazane u info stapanja. Putanja prikazuje lokaciju spremišta gde je urađena zadnja izmena te linije.
Podešavanju TortoiseBlame može ste pristupiti koristeći odeljak pod imenom „TortozBlame podešavanje“.
→ na TortoiseBlame tab. Uporedite saJedno ograničenje izveštaja Okrivljavanja je da samo prikazuje fajl kakav je bio u posebnoj reviziji i poslednju osobu koja je izmenila svaku liniju. Ponekad želite da znate koje su izmene urađene, kao i ko ih je uradio. Ako kliknete desnim tasterom na liniju u TortoiseBlame prikazaćete stavku kontekst menija da prikažete izmene u toj reviziji. Ali ako želite da vidite izmene i informacije okrivljavanja simultano onda vam treba kombinacija dif i okrivljavanje izveštaj.
Dijalog dnevnika revizije uključuje više opcija koje omogućavaj da to uradite.
U gornjem panelu izaberite 2 revizije, zatim izaberite
→ . Ovo će naći podatke okrivaljavanja za 2 revizije, zatim koristite diff pregledač da uporedite dva fajla okrivljavanja.Izaberite jednu reviziju u gornjem panelu, zatim izaberite jedan fajl u donjem panelu i izaberite
→ . Ovo će naći podatke okrivljavanja za izabrane revizije i prethodnih revizija, zatim koristite diff pregledač da uporedite dva fajla okrivljavanja.Prikažite dnevnik za pojedinačni fajl, i na gornjem panelu, izaberite pojdinačnu reviziju, zatim izaberite
→ . Ovo će naći podatke okrivljavanja za izabrane revizije, i za fajlove u radnoj OSNOVI, zatim koristite diff pregledač da uporedite dva fajla okrivljavanja.Ponekad vam treba da radite direktno na spremištu, bez radne kopije. To je za šta je Pretraživač Spremišta. Kao pretraživač i prekrivač ikona dopušta da vidite vašu radnu kopiju tako Pretraživač Spremišta dopušta da vidite strukturu i status spremišta.
Sa Pretraživačem Spremišta možete izvršiti komande kao kopiraj, pomeri, preimenuj, ... direktno u spremištu.
Pretraživač spremišta izgleda veoma slično Vindouz eksploreru, osim što prikazuje sadržaj spremišta u partikularnoj reviziji radije nego fajlove u vašem računaru. U levom panelu možete videti stablo foldera, au desnom panelu su sadžaji izabranih foldera. U gornjem Prozoru Pretraživača Spremišta možete uneti URL spremišta i reviziju koju hoćete da pretražite.
Imenici uključeni sa svn:externals
osobinama prikazani su, takođe, u pretraživaču spremišta. Ovi imenici su prikazani sa malom strelicom na sebi koja indicira da ovi imenici nisu deo strukture prikazanog spremišta, već linkovi.
Isto kao Vindouz eksplorer, možete kliknuti na zaglavlje kolone u desnom panelu ako želite da podesite red sortiranja. I kao u eksploreru postoji kontekst meni dostupan u oba panela.
Kontekst meni za fajl dopušta vam da:
Otvara izabrani fajl, ili sa podrazumevanim pregedačem tog tipa fajlova, ili sa programom koji izaberete.
Uredite izabrani fajl. Ovo će preuzeti privremenu radnu kopiju i pokrenuti uobičajeni uređivač za taj tip fajlova. Kada zatvorite uređivački program, ako su izmene zapamćene onda se pojavljuje dijalog urezivanja, omogućavajući vam da unesete komentar i urežete izmene.
Prikažite revizioni dnevnik za taj fajl, ili prikažite graf revizije tako da možete videti odakle fajl dolazi.
Okrivite fajl da vidite ko je menjao koju liniju i kada.
Preuzimanje pojedinačnog fajla. Ovo kreira „praznu“ radnu kopiju koja sadrži samo taj jedan fajl.
Izbriši ili preimenuj fajl.
Sačubajte neverzionisanu kopiju fajla na vaš tvrdi disk.
Kopirajte URL prikazan u adresnom pultu na klipbord.
Napravite kopiju fajla, ili u različitom delu spremišta , ili u radnoj kopiji sa korenom u isto spremištu.
Vidi/Uredi osobine fajla.
Kreira skraćenicu tako da možete brzo pokrenuti pretraživač spremišta ponovo, otvoren direktno na ovoj lokaciji.
Kontekst meni za folder vam omogućava da:
Prikažite revizioni dnevnik za folder, ili prikažite graf svih revizija tako da možete videti odakle folder dolazi.
Izvezite folder u lokalnu neverzionisanu kopiju na vašem čvrstom disku.
Preuzmite folder da napravite lokalnu radnu kopiju na čvrstom disku.
Kreiraj novi folder u spremištu.
Dodaje neverzionisane fajlove ili foldere direktno u spremište. Ovo je efektivno Subverziona operacija uvoza.
Izbriši ili preimenuj folder.
Napravite kopiju foldera, ili u različit deo spremišta, ili u radnu kopiju sa korenom u istom spremištu.Ovo takođe možebiti korišćenje grane/oznake bez potrebe da imate preuzetu radnu kopiju.
Vidi/Uredi osobine foldera.
Napravite folder za poređenje. Označeni folder je prikazan masno.
Upoređuje folder sa prethodno označenim folderom, ili kao ujedinjene diff, ili kao lista izmenjenih fajlova koji zatim mogu biti vizualno razlikovani koristeći podrazumevan diff alat. Ovo može biti posebno korisno za poređenje dve oznake, ili debla i grane da se vidi šta se promenilo.
Ako izaberete dva foldera u desnom panelu, možete videti razlike ili kao ujedinjeni-diff, ili listu fajlova koja može biti vizualno razlikovana korišćenjem podrazumevanog diff alata.
Ako izaberete više foldera u desnom panelu možete preuzeti sve njih u zajednički predački folder.
Ako izaberete 2 oznake koji su kopirani iz istog korena (tipično /trunk/
), možete koristiti → da vidite listu revizija između dve označene tačke.
Eksterne stavke (označene korišćenjem svn:eksternali
su takođe prikazani u pretraživaču spremišta i možete čak bušiti u sadržaj foldera. Eksternalne stavke su označene crvenom strelicom preko stavke.
Možete koristiti F5 da osvežite pregled kao ubično. To će osvežiti sve što se trenutno prikazuje. Ako želite da pretražite ili osvežite informacije za čvorove koji još nisu otvoreni, koristite Ctrl-F5. Posle toga, proširenjem bilo kog čvora desiće se trenutno bez obzira na mrežno kašnjenje dok se informacija tražila.
Možete takođe koristiti pretraživač spremišta za vuci-i-baci operaciju. Ako vučete folder iz eksplorera u repo-pretraživač biće uvezen u spremište. Primetite da ako vučete više stavki one će biti uvezene u odvojenim urezivanjima.
Ako želite da pomerite stavke u okviru spremišta, samo levo vučenje na novu lokaciju. Ako želite da kreirate kopiju radije nego pomeranje stavke, Ctrl-levo vučenje umesto. Kada kopirate, kursor ima „plus“ simbol na sebi, isto kako je to u Eksploreru.
Ako želite da kopirate/pomerite fajl ili folder na drugu lokaciju i takođe dajte mu novo ime u isto vreme, možete desno vučenje ili Ctrl-desno vučenje stavke umesto korišćenja levo vučenje. U ovom slučaju dijalog preimenovanja je prikazan gde možete uneti novo ime za fajl ili folder.
Kadgod napravite izmenu u spremištu koristeći jedan od ovih metoda, bićete predstavljeni dnevnik poruke ulazom dijaloga. Ako vučete nešto greškom, to je takođe vaša šansa da završite akciju.
Ponekad kada pokušate da otvorite putanju dobićete poruku greške umesto detalja stavke. Ovo se može desiti ako specificirate neispravan URL, ili ako nemate pristupnu dozvolu, ili ako ima neki drugi problem servera. Ako vam treba da kopirate ovu poruku da je uključite u epoštu, samo desno kliknite na nju i koristite Ctrl+C.
→ , ili jednostavno koristiteZabeleženi url/spremišta su prikazani ispod tekućegfoldera spremišta u levom stablu pregleda. Možete dodati stavke pomoću desni klik na bilo koji folder i izabrati Kontekst meniDodaj zabele. Klikom na zabele
Ponekad vam treba da znate odakle uzeti grane i oznake iz debla, i idealan način da vidite ovu vrstu informavija je graf strukture stabla. Tamo gde treba da koristite →
Ova komanda analizira istoriju revizija i pokušava da kreira stablo koje će prikazati iz koje kopije je uzeto, i kada su grane/oznake obrisani.
Da bi generisali graf, TortoiseSVN mora naći poruke dnevnika iz korena spremišta. nepotrebno je reći da ovo mora uzeti nekoliko minuta čak sa spremištem od oko više hiljada revizija, u zavisnosti od brzine servera, propusnog opsega mreže, itd. Ako pokušate ovo sa nečim kao Apaš projekat koji trenutno ima preko 500.000 revizija morali bi da čekate izvsno vreme.
Dobre novosti su da ako koristite dnevnik keširanja, vi samo imate da trpite ovo kašnjenje jedanput. Posle toga, dnevnik podaci se drže lokalno. Dnevnik keširanje je omogućeno u TortoiseSVN podešavanju.
Svaki revizioni čvor grafa predstavlja reviziju u spremištu gde je nešto izmenjeno u stablu koje gledate.Različiti tipovi čvorova mogu se razlikovati pomoću oblika i boje. Oblici su fiksni, ali boje se mogu podesiti koristeći
→Stavke koje su dodate, ili kreirane kopiranjem drugog fajla/foldera su prikazane koristeći zaokružen pravougaonik.Podrazumevana boja je zelena. Oznake se tretiraju kao specijalan slučaj i koriste različite senke, u zavisnosti od
→ .Obrisane stavke npr. grana koja više nije potrebna, su prikazane koristeći oktagon (pravougaonik sa uglovima koji su presečeni). Podrazumevana boja je crvena.
Preimenovane stavke su takođe prikazane koristeći oktagon, ali podrazumevana boja je plava.
Graf je normalno ograničen da prikaže tačke grane, ali često koristan da bude sposoban da vidi odgovarajuću GLAVNU reviziju takođe za svaku granu. Ako izaberete Prikaži GLAVNE revizije, svaki čvor GLAVNE revizije biće prikazan kao elipsa. Primetimo da se GLAVA ovde odnosi na zadnju reviziju urezanu na putanji, ne GLAVNU reviziju spremišta.
Ako pozovete revizioni graf iz radne kopije, možete pokušati da prikažete OSNOVNU reviziju grafa koristeći Prikaži RK reviziju, koja označava OSNOVNI čvor sa zacrnjenom spoljašnošću.
Ako pozovete reizioni graf iz radne kopije možete pokušati da prikažete dodatne čvorove koji predstavljaju vaše izmene radne kopije koristeći Prikaži RK izmene. Ovo je eliptički čvor sa zacrnjenom spoljašnošću u crveno podrazumevano.
Sve druge stavke su prikazane koristeći pun pravougaonik.
Primetimo da je podrazumevano da graf samo prikazuje tačke u kojima su stavke dodate, kopirane ili izbrisane. Prikazujući svaku reviziju projekta generisaće veoma velike grafove u netrivijalnim slučajevima. Ako zaista želite da vidite sve revizije gde su urađene izmene, postoji jedna opcija da se to uradi u Vidi meniju i alatnom panelu.
Podrazumevani pregled (bez grupisanja) stavlja čvorove tako da su njihove vertikalne pozicije u redosledu striktne revizije, tako imate vizualni trag za red u kome su date stvari. Kada su dva čvora u istoj koloni redosled je veoma razumljiv. Kada su dva čvoro u susednim kolonama razlika je mnogo manja jer nema potrebe čuvati čvorove od preklapanja, i kao rezultat red je nešto manje razumljiv. Takva optimizacija je neophodna da čuva kompleksni graf u razumljivoj veličini. Primetimo da ovo uređenje koristi ivicu čvora sa starije strane kao reference, npr. donja ivica čvora kada je graf prikazan sa starijim čvorom na dnu. Referentna ivica je značajna jer oblici čvorova nisu iste visine.
Pošto je revizioni graf često jako kompleksan, postoje brojne osobine koje se mogu koristiti da urede izgled na način kako želite. One su dostupne u Pregled meniju i iz alatnog panela.
Podrazumevano ponašanje (bez grupisanja) ima sve redove sortirane po reviziji. Kao rezultat, dugo-živeće grane sa praznim urezivanjem zauzimaju celu kolonu za samo nekoliko izmena i graf postaje veoma širok.
Ovaj mod grupiše izmene po granama tako da nema globalnog uređenja revizija: Sledeće revizije na granama će biti prikazane u (često) sledećim linijama. Subgrane, međutim, su uređene na takav način da sledeće grane budu prikazane u istoj koloni iznad ranijih grana da zadrže vitak graf. Kao rezultat dat red sadrži izmene od različitih revizija.
Normalno graf prikazuje najstariju reviziju na dnu, i stablo raste. Koristite ove opcije da se smanji sa vrha umesto toga.
Kada je graf slomljen u više manjih stabala, stabla se mogu pojaviti u prirodnom redu revizija, ili uređeni na dnu prozora, u zavisnosti od toga gde koristite Grupne Grane opciju. Umesto toga koristite ovu ociju da povećate stabla od gore prema dole.
Ova opcija normalno omogućava i izbegava prikazivanje grafa sa mnogo konfuzionih presečnih linija. Međutim ovo može takođe da napravi da se kolone pojave na manje logičnim mestima, na primer u dijagonalnim linijama pre nego u kolonama i graf može zahtevati veću površinu za prikazivanje. Ako je to problem možete onemogućiti opciju iz Pregled menija.
Duga imena putanja može uzeti mnogo prostora i učiniti boksove čvorova jako velikim. Koristite ovu opciju da prikažete samo izmenjene delove putanje, zamenjujući zajedničke delove tačkam. Npr. ako kreirate granu /branches/1.2.x/doc/html
iz /trunk/doc/html
grana može biti prikazana u kompaktnom obliku kao /branches/1.2.x/..
jer dva zadnja nivoa, doc
i html
, nisu menjani.
Ovo je baš ono što očekujete i prikazuje svaku reviziju gde je nešto (u stablu koje gradite) izmenjeno. Za duge istorije ovo će proizvesti pravi ogroman graf.
Da bi se omogućilo da zadnja revizija na svakoj grani uvek se prikazuje na grafu.
Kada je grana/oznaka napravljen, podrazumevano ponašanje je da se prikaže kao dobijen od zadnjeg čvora gde su izmene napravljene. Tačno govoreći ovo je netačno od kad su grane često napravljene od tekuće GLAVE radije nego od specifične revizije. Tako je moguće da se pokaže mnogo tačnija (ali manje korisna) revizija koja je korišćena da se kreira kopija. Primetimo da ova revizija može biti mlađa od GLAVNE revizije izvorne grane.
Kada projekat ima mnogo znački, prikazivanje svake značke kao izdvojen čvor na grafu uzima mnogo prostora i zamrači interesantniji razvoj strukture grana. U isto vreme može vam je potrbno da bude sposobni da pristupite sadržaju značke lako da možete uporediti revizije. Opcija krije čvorove za značke i prikazuje ih umesto oblačića za čvorove odakle ste kopirali. Ikona značke sa desne strane izvornog čvora ukazuje da su značke urađene. Ovo značajno uprošćava pregled.
Primetimo da ako se značka sama koristi kao izvor za kopiranje, možda je nova grana osnovana na značku, tada će značka biti prikazana kao izdvojen čvor pre nego folder.
Sakriva putanje koje više ne postoje u GLAVNOJ reviziji spremišta, npr. obrisane grane.
Ako ste izabrali Savijena značka opciju tada obrisane grane od kojih su značke uzete će i dalje biti prikazane, inače će značke takođe nestati. Zadnja revizija koja je označena biće prikazana u boji korišćenoj za obrisane čvorove umesto prikazivanja izdvojenih brisanih revizija.
Ako izaberete Skrivena značka opciju onda će ove grane nestati ponovo ako nisu potrebne da prikažu značke.
Sakriva grane gde nisu izmene urezane u odgovarajući fajl ili pod-folder. Ovo ne ukazuje obavezno to da grane nisu korišćene, samo to da izmene nisu urađene za ovaj njegov deo.
Označava reviziju na grafu koja odgovara obnovljenoj reviziji stavke koju ste našli na grafu. Ako imate upravo obnovljenu, ovo će biti GLAVNA, ali ako ostali imaju urezane izmene od vašeg zadnjeg obnavljanja vaše RK može biti nekoliko revizija ispod nje. Čvor je označen debljom linijom.
Ako vaša RK sadrži lokalne izmene, ova opcija crta nju kao izdvojeni eliptičan čvor, spojen nazad sa čvorom gde je vaša RK poslednji put obnovljena. Podrazumevana boja linija je crvena. Možda će vam biti potrebno da osvežite graf koristeći F5 da uhvatite skorašnje izmene.
Ponekad revizioni graf sadrži više revizija od onog što želite da vidite. Opcija otvara dijalog koji omogućava da ograničite opseg revizija koje su prikazae, i da sakrijete pojedine putanje pomoću imena.
Ako sakrivate deo putanje i taj čvor ima potomačke čvorove, potomci će biti prikazani u izdvojenom stablu. Ako želite da sakrijete sve potomke koristite Uklonite celo podstablo čekboks.
Gde graf sadrži više stabala ponekad je korisno koristiti alternatvne boje pozadine da bi pomogli razlikovanju među stablima.
Prikazuje malu sliku celog grafa, sa tekućim prozorom pregleda kao kvadrat koji se može vući. Ovo vam omogućava da upravljate grafom mnogo lakše. Primetimo da za veoma veliki graf pregled može postati beskoristan prema ekstremnom faktoru uvećanja i neće biti prikazan u ovom slučaju.
Da bi se učinilo lakim kretanje po velikom grafu koristite pregledni prozor. On prikazuje ceo graf u malom prozoru, sa prikazanim tekućim delom koji je osvetljen. Možete vući osvetljenu oblast da izmenite prikazani region.
Revizioni datum, autor i komentari su prikazani u boksu napomena kadgod miš klizi preko revizionog boksa.
Ako izaberete dve revizije (Koristite Ctrl-levi klik), možete koristiti kontekst meni da prikažete razlike izmeu ovih revizija. Možete izabrati da prikažete razlike kao u tačkama kreiranja grana, ali obično ćete želeti da prikažete u krajnjim tačkama grana, tj. u GLAVNOJ reviziji.
Možete videti razlike kao Objedinjene-Diff fajl, koji prikazuje sve razlike u pojedinačnom fajlu sa minimalnim sadržajem. Ako izabereteDvostruki klik na ime fajla da se dobiju revizije fajla i uporede koristeći vizualni alat za razlikovanje.
→ biće vam prikazana lista izmenjenih fajlova.Ako uradite desni klik na reviziju možete koristiti → da vidite istoriju.
Možete takođe stopiti izmene u izabranim revizijama u različitim radnim kopijama. Dijalog izbora foldera dopušta da izaberete radnu kopiju u koju stapate, ali posle toga nema dijloga potvrde, niti bilo kakvog sprečavanja da se pokuša test stapanje. Dobra je ideja da se stopi u neizmenjenu radnu kopiju tako da možete vratiti izmene ako to ne radi! Ovo je korisna osobina ako želite da stopite izabrane revizije iz jedne grane u drugu.
Početnici mogu biti iznenađeni činjenicom da reviziono graf prikazuje nešto što ne nalazi korisnički mentalni model.Ako revizija menja više kopija ili grana fajla ili foldera, na primer, onda će biti više čvorova za tu pojedinačnu reviziju. To je dobra praksa da se počne sa krajnje levom opcijom alatnog panela i podešavanjem grafa korak-po-korak sve dok ne postane blizak vašem mentalnom modelu.
Sve opcije filtera pokušavaju izgubiti što je manje moguće informacija. To može uzrokovati da neki čvorovi izmene svoju boji, na primer. Kadgod su rezultati neočekivani ponioštite poslednju operaciju filtriranja i pokušajte razumeti šta je posebno u posebnoj reviziji ili grani. U većini slučajeva početno se očekuje izlaz operacije filtriranja da bude ili netačan ili obmanjujući.
Ako želite da proverite ponovo server za nove informacije, možete jednostavno osvežiti pregled koristeći F5. Ako koristite dnevnik keš (omogućen podrazumevano), ovo će proveriti spremište za nova urezivanja i naći samo nove. Ako je dnevnik keš isključen, ovo će pokušati da se ode na uključenje.
Ako koristite dnevnik keš i mislite da je sadržaj poruke ili autor možda imao izmene, treba da koristite dnevnik dijalog da osvežite poruke koje vam trebaju. Kako revizioni graf radi iz korena spremišta, mi bi imali da učinimo neispravnim ceo dnevnik keš, i da ga ponovo napunimo što bi uzelo veoma mnogo vremena.
Veliko stablo može biti teško za kontrolu i ponekad želite da sakrijete neke njegove delove, ili da prelomite u šumi malih stabala. Ako letite mišem preko tačke gde veza čvora ulazi ili izlazi iz čvora videćete jedan ili više iskačućih dugmića koji će va dopustiti da to uradite.
Kliknite na minus dugme da smanjite prikačeno pod-stablo.
Kliknite na plus dugme da uvećate umanjeno stablo. Kada je stablo bilo umanjeno ovo dugme ostaje vidljivo da označi skriveno pod-stablo.
Kliknite na presek dugme da podelite prikačeno pod-stablo i prikažete ga kao izdvojeno stablo grafa.
Kliknite na krug dugme da odspojite podeljeno stablo. Kada je stablo podeljeno ovo dugme ostaje vidljivo da označi da postoji posebno pod-stablo.
Kliknite na pozadinu grafa za glavni kontekstni meni koji omogućava opcije za Proširi sve i Poveži sve. Ako nema grana koje su sažete ili podeljene kontekst meni neće biti prikazan.
Ponekad možete želeti čistu kopiju vašeg radnog stabla bez .svn
foldera, npr. da kreirate zipovani fajl vašeg sorsa, ili da izvezete na veb server. Umesto da pravite kopiju i brisanjem .svn
foldera ručno, TortoiseSV nudi komandu → . Izvoz iz URL i izvoz iz radne kopije tretira se pomalo r
Ako izvršite ovu komandu na neverzionisani folder, TortoiseSVN će uzeti da je izabrani folder cilj, i otvoriće dijalog da unesete URL i reviziju da izvezete iz njega. Ovaj dijalog ima opcije da izveze samo folder vršnog nivoa, da se izbegnu spoljašne reference, i da prekrije linije i stil za fajlove koji imaju svn:eol-style
podešenu osobinu.
Svakako da možete izvesti direktno iz spremišta takođe. Koristite Pretraživač Spremišta da upravljate do relevantnog podstabla u vašem spremištu, zatim koristite Izvoz iz URL dijalog koji je opisan ranije.
→ . DobićeteAko izvršite ovu komandu na radnu kopiju bićete pitani za mesto gde ćete sačuvati čistu radnu kopiju bez .svn
foldera. Uobičajeno, samo verzionisani fajlovi se izvoze, ali možete koristiti Izvoz neverzionisanih fajlova takođe čekboks da uključite bilo koei druge neverzionisane fajlove u vašoj RK koji nisu u spremištu. Eksterne reference koristeći svn:externals
mogu biti izostavljene ako je potrebno.
Drugi način da izvezete iz radne kopije je da desno vučete folder radne kopije na novu lokacije i izaberete → ili → ili → . Druga opcija obuhvata neverzionisane fajlove takođe. Treća opcija izvozi samo modifikovane stavke, ali zadržava folder strukturu.
Kada izvozite iz radne kopije, ako ciljni folder već sadrži folder istog imena kao onaj koji izvozite, biće vam data opcija da prepišete postojeći sadržaj, ili da kreirate novi folder sa automatski generisanim imenom, npr. Cilj (1)
.
Izvozni dijalog ne dopušta izvoz pojedinačnih fajlova, bez obzira što Subverzija može.
Da izvezete pojedinačne fajlove sa TortoiseSVN, imate da koristite pretraživač spremišta (odeljak pod imenom „Pretraživač spremišta“). Jednostavno vucite fajl(ove) koji želite da izvezete iz pretraživača spremišta tamo gde ga želite u eksploreru, ili koristite kontest meni u pretraživaču spremišta da izvezete fajlove.
Ako želite da izvezete kopiju strukture vašeg stabla projekta ali koje sadrži samo fajlove koji su izmenjeni u posebnoj reviziji, ili između bilo koje dve revizije, koristi poređenje osobina revizija opisanih u odeljak pod imenom „Poređenje foldera“.
Ako želite da izvezete strukturu stabla vaše radne kopije koja sadrži samo fajlove koji su lokalno promenjeni, uporedite sa SVN izvoz izmenjenih stavki ovde iznad.
Ponekad imate radnu kopiju koju hoćete da konvertujete nazad u normalni folder bez .svn
foldera. Sve što vam treba da uradite je da obrišete .svn
folder iz ruta radne kopije.
Alternativano možete izvesti sam folder. U Vindous Eksploreru desno vučenje rut foldera radne kopije iz fajl panela u samog sebe u folder panelu. TortoiseSVN detektuje ovaj specijalni slučaj i pita da li želite načiniti neverzionisanu radnu kopiju. Ako odgovorite da kontrolni folder će biti uklonjen i imate potpuno, neverzionisano stablo foldera.
Ako je vaše spremište zbog nečega promenilo svoj položaj (IP/URL). Možda ga čak ubodete i ne možete urezati i ne želite da preuzmete ponovo radnu kopiju sa nove lokacije i gurnete sve vaše izmenjene blokove podataka nazad u novu radnu kopiju, → je komanda koju tražite. Ona u osnovi radi veoma mali: prepisuje URLove koji su asocirani sa svakim fajlom i folderom u novi URL.
Ova operacija radi samo u radnoj kopiji emphasis>roots
Možda ćete biti iznenađeni nalaženjem da TortoiseSVN kontaktira spremište kao deo ove operacije. Sve što radi je izvođenje jednostavne provere da se osigura da novi URL stvarno ukazuje na isto spremište kao postojeća radna kopija.
Ovo je veoma retko korišćena operacija. Relokaciona komanda je samo korišćena ako URL korena spremišta je promenjeno. Mogući razlozi su:
IP adresa servera je promenjena
Protokol je promenjen (npr. http:// to https://).
Putanja korena spremišta u server podešavanju je izmenjena.
Stavite drugi način, potrebno je da relocirate kada vaša radna kopija ukazuje na istu lokaciju u istom spremištu, ali je samo spremište pomereno.
To se ne primenjuje ako je:
Hoćete da pomerite različita Subverziona spremišta. U tom slučaju treba da izvršite čisto preuzimanje iz nove lokacije spremišta.
Želite da prebacite na različitu granu ili folder unutar istog spremišta. Da uradite to trba da koristite odeljak pod imenom „Preuzeti ili prebaciti...“ za više informacija.
→ . PročitajteAko koristite relociranje u jednom od navedenih slučajeva, to će pokvariti vašu radnu kopiju i vi ćete dobiti mnogo neobjašnjivih poruka o grešci kada usklađujete, urezujete, itd. Kada se to jednom desi fiksiranje je samo sveže preuzimanje.
Veoma je često u Razvoju Softvera za izmene da imaju specifične bagove ili problem ID. Korisnici bag tragač sistema (problem tragač) su voleli da pridruže izmene koje su napravili u Subverziji sa specifičnim ID u njihovom problem tragaču. Većina problem tragača zbog toga omogućavaju pre-urezivanja zakačive skripte koje analiziraju dnevnik poruke da nađu bag ID sa kojim je urezivanje povezano. Ovo je ponekad sklono greškama odkad je potrebno da korisnik upiše dnevnik poruku ispravno tako da preurezivanja zakačiv skript može ga analizirati korektno.
TortoiseSVN može pomoći korisniku na dva načina:
Kada korisnik unese dnevnik poruke, dobro definisana linija uključuje problem broj pridružen sa urezivanjem može biti dodat automatski. Ovo umanjuje rizik kada korisnik unosi problem broj na način da alat bag tragača ne može analizirati korektno.
Ili TortoiseSVN može osvetliti deo celog dnevnik poruke koji je prepoznao problem tragač. Na taj način korisnik zna da dnevnik poruke ože biti analiziran korektno.
Kada korisnik pretražuje dnevnik poruke, TortoiseSVN kreira vezu za svaki bag ID u dnevnik poruka koja pokreće pretraživač do nagoveštenog problema.
Možete integrisati alat praćenja bagova po vašem izboru u TortoiseSVN. Da to uradite, imate da definišete neke osobine, što se pokreće sa bugtraq:
. To mora biti podešeno na Imenicima: (odeljak pod imenom „Podešavanje projekta“)
Kada uređujete bagtrek osobine specijalni uređivač se koristi da olakša podešavanje odgovarajućih vrednosti.
Postoji dva načina da se integriše TortoiseSVN sa problem tragačem. Jedna je zasnovana na jednostavnim stringovima, druga se bazira na regularnim izrazima. Osobine korišćene sa oba pristupa su:
Postavite ovu osobinu na URL vašeg alata za praćenje bagova. To mora biti odgovarajuće kodiran URI i mora sadržati %BUGID%
. %BUGID%
je zamenjen sa Problem brojem koji ste uneli. Ovo omogućava TortoiseSVN da prikaže vezu u dnevnik dijalogu, tako da kad gledate revizioni dnevnik možete samo skočiti direktno na vaš alat za praćenje bagova. Ne morate da omogućite ovu osobinu ali tada TortoiseSVN prikazuje samo problem broj a ne vezu do njega, tj. TortoiseSVN projekat koristi http://issues.tortoisesvn.net/?do=details&id=%BUGID%
.
Možete takođe koristiti relativi URL umesto apsolutnog. Ovo je korisno kada vaš problem tragač je na istom domen/serveru kao i izvorno spremište. U slučaju da se ime domena ikada promeni, nemate da podešavate bugtraq:url
osobinu. Postoje dva načina da se specificira relativni URL:
If it begins with the string ^/
it is assumed to be relative to the repository root. For example, ^/../?do=details&id=%BUGID%
will resolve to https://tortoisesvn.net/?do=details&id=%BUGID%
if your repository is located on https://tortoisesvn.net/svn/trunk/
.
A URL beginning with the string /
is assumed to be relative to the server's hostname. For example /?do=details&id=%BUGID%
will resolve to https://tortoisesvn.net/?do=details&id=%BUGID%
if your repository is located anywhere on https://tortoisesvn.net
.
Podesite ovo na istina
, ako želite da vas TortoiseSVN obaveštava o praznom problem-broj tekst polju. Ispravne vrednosti su istina/laž
. Ako nije definisan, laž
se pretpostavlja.
U jednostavnom pristupu, TortoiseSVN prikazuje korisniku izdvojena ulazna polja gde bag ID može biti unet. Zatim su izdvojene linije dodate/ubačene u dnevnik poruke koju je uneo krisnik.
Ova osobina aktivira sistem praćenja bagova u Ulazno polje modu. Ako je ova osobina podešena tada TortoiseSVN će vas pitati da unesete problem broj kada urezujete svoje izmene. To se koristi da se dodaju linije na kraj dnevnik poruke. Mora sadržati %BUGID%
, koji je zamenjen sa problem brojem pri urezivanju. Ovo obezbeđuje da vaš dnevnik urezivanja sadrži referencu na problem broj koji je uvek konzistentnom formatu i može se analizirati vašim alatom za praćenje bagova da se pridruži problem broj sa posebnim urezivanjem. Kao jedan primer možete uzeti Issue : %BUGID%
, ali ovo zavisi od vašeg Alata.
Ovaj tekst je prikazan pomoću TortoiseSVN u dijalogu urezivanja da označi boks uređivanja gde unosite problem broj. Ako nije podešen, Bug-ID / Issue-Nr:
će biti prikazan. Zapamtite to da taj prozor ne može promeniti veličinu da obuhvati ovu oznaku, pa neka je veličina ove oznake ispod 20-25 karaktera.
Ako podesite istina
samo brojevi su dozvoljeni u problem-broj tekst polju. Izuzetak je zarez, zako da možete zapetom izdvojiti više brojeva. Ispravne vrednosti su istina/laž
. Ako nije definisana, istina
se uzima.
Ova osobina definiše da li je bag-ID dodat (istina) na kraj dnevnik poruke ili ubačen (laž) na početak dnevnik poruke. Ispravne vrednosti su istina/laž
. Ako nije definisana, istina
se podrazumeva, tako da postojeći projekat ne pukne.
U pristupu sa regularnim izrazima, TortoiseSVN ne prikazuje izdvojena ulazna polja ali markira deo dnevnik poruku koju korisnik unese što je prepoznato od problem tragača. Ovo je datodok korisnik piše dnevnik poruku. Ovo takođe znači da bag ID može biti bilo gde unutar dnevnika poruke! Ovaj metod je mnogo više fleksibilan, i jedan je od onih koje projekat TortoiseSVN koristi sam.
Ova osobina aktivira sistem praćenja bagova u Regeks modu. Sadrži ili podenični regularni izraz, ili dva regularna izraza razdvojena novimredom.
Ako su dva izraza podešena, tada je prvi izraz korišćen kao pre-filter da nađe izraze koji sadrže bag ID. Drugi izraz zatim izdvaja gole bag ID iz rezultata prve regeks. Ovo dozvoljava da se koristi lista bag ID i prirodan jezik izraza ako želite npr. možete fiksirati nekoliko bagova i uključiti string nešto kao ovo: „Ova izmena rešava probleme #23, #24 i #25“.
Ako hoćete da uhvatite bag ID kako su korišćeni u gornjem izrazu unutar dnevnik poruke, možete koristiti sledeće regeks stringove, koji su jedni od korišćenih u TortoiseSVN projektu: [Ii]ssues?:?(\s*(,|and)?\s*#\d+)+
and (\d+)
.
Prvi izraz izvlači „issues #23, #24 and #25“ iz okruženja dnevnik poruke. Drugi regeks ekstrahuje pune decimalne brojeve iz izlaza prve regeks, tako da će to vratiti „23“, „24“ i „25“ da se koristi kao bag ID.
Mala greška kod prve regeks, mora se početi rečju „problem“, moguće sa velikim slovima. Ovo je opcionalno praćeno sa jednim „s“ (više od jednog problema) i opcionalno tačkom i zarezom. Ovo je praćeno jednim ili više grupe svaki ima nula ili više vodećih belina, opcionalna zapeta ili „i“ i više opcionalnih razmaka. Na kraju postoji obavezan „#“ i obavezan decimalni broj.
Ako je samo jedan izraz podešen onda go bag ID mora biti uhvaćen u grupama regeks stringova. Primer: [Ii]ssue(?:s)? #?(\d+)
Ovaj metod traži više problem tragača, npr. trac, ali to je teže konstruisati regeks. Preporučujemo da samo koristite ovaj metod ako dokumentacija vašeg problem tragača to kaže.
Ako niste familijarni sa regeks izrazima pogledajte u uvod na http://en.wikipedia.org/wiki/Regular_expression, i onlajn dokumentaciju i tutorijal na http://www.regular-expressions.info/.
Nije uvek lako dobiti regeks ispravno da bi vam se pomoglo postoji test dijalog u dijalogu bagtrek osobina. Kliknite dugme desno od boksa uređenja da ga dozovete. Ovde možete uneti neki test tekst i izmeniti svaki regeks da vidite rezultate. Ako je regeks neispravan pozadina se menja u crveno.
Ako oba bugtraq:message
i bugtraq:logregex
osobine setovanr, logregex
ima prednost.
Čak i ako nemate problem tragač sa pre-urezivanje zakačaljka analizira vaš dnevnik poruka, vi još uvek možete koristiti ovo da okrenete problem zamišljen u vašem dnevniku poruka u vezi!
I čak ako vam ne treba veza, problem brojevi prikazuju kao izdvojena kolona u dnevnik dijalogu, čineći to lakšim da nađete što se odnosi na poseban problem.
Neke tsvn:
osobine zahtevaju true/false
vrednosti. TortoiseSVN takođe razume yes
kao sinonim za true
i no
kao sinonim za false
.
Ove osobine moraju biti podešene na folderu za sistem koji radi. Kada urezujete fajl ili folder osobine su pročitane iz foldera. Ako osobine nisu nađene tamo, TortoiseSVN će pretraživati nagore kroz stablo foldera da ga nađete dok ne dođe neverzionisani folder, ili koren stabla (npr. C:\
) nađen. Ako možete biti sigurni da svaki korisnik preuzima samo sa npr. trunk/
a ne neke sub-foldere, zatim to je dovoljno ako podesite osobine na trunk/
. Ako ne možete biti sigurni, morate podesiti osobine rekurzivno na svakom sub-folderu. Osobine podešene dublje u hijerarhiji projekta koja prepisuje podešavanje na višim nivoima (bliže ka trunk/
).
Od verzije 1.8 TortoiseSVN i Subverzija koriste takozvane inasleđene osobine
, što znači osobine koje su podešene u folderu automatski takođe implicitno podešene u svim podfolderima. Tako nije potrebno podesiti osobine u svim folderima bilo gde osim u korenom folderu.
Za osobine projekta samo, tj tsvn:
, bugtraq:
i webviewer:
možete koristiti Rekurziv čekboks da podesite osobine svih sub-foldera u hijerarhiji, takođe bez podešavanja na sve fajlove.
Kada dodate novi sub-folder u radnu kopiju koristeći TortoiseSVN, osobine bilo kog projekta prisutne u predačkom folderu će automatski biti takođe dodate novom potomačkom folderi.
Pošto integracija problem tragača zavisi od pristupa Subverzijinim osobinama možete videti rezultate samo korišćenjem preuzete radne kopije. Nalaženjem osobina daljinski je spora operacija tako da nećete videti ove osobine na delu iz repo pretraživačaosim ako ne započnete repo pretraživač iz vaše radne kopije. Ako pokrenete repo pretraživač unošenjem URL spremišta nećete videti ove osobine.
Iz nekih razloga osobine projekta neće se prenositi automatski kada se potomački folder doda korišćenjem repo pretraživača.
Ovaj problem tragač integrator nije ograničen na TortoiseSVN; može se koristiti sa bilo kojim Subverzioonim klijentom. Za više informacija pročitajte vezu Issue Tracker Integration Specification u TortoiseSVN izvornom spremištu. (odeljak pod imenom „Licence“ objašnjava kako pristupiti spremištu.)
Prethodni paragraf razmatra dodavanje problem informacija u dnevnik poruka. Ali šta ako vam treba da dobijete informaciju od problem tragača? Dijalog urezivanja ima COM interfejs koji dozvoljava integraciju spoljašnjih programa koji mogu govoriti vašem tragaču. Tipično možete želeti da tražite tragaču da da listu otvorenih problema pridruženih vama, tako da možete odabrati problem koji će biti adresiran pri urezivanju.
Svaki takav interfejs je, svakako visoko specifičan za vaš problem tragač sistem, tako mi ne možemo obezbediti ovaj deo i opisujući kako kreirati takav program je van vidokruga ovog manuala. Definicija interfejsa i plagin u C# C++/ATL može biti dobijeno iz contrib
foldera u TortoiseSVN repository. (odeljak pod imenom „Licence“ objašnjava kako pristupiti spremištu.) Ukupnost API takođe je dat u Poglavlje 7, IBagtragačSnabdevač interfejs. Drugi (radni) primer plagin u C# je Gurtle koji primenjuje potreban COM interfejs da interaguje sa Google Code problem tragačem.
U ilustrativne svrhe, pretpostavimo da je vaš sitem administrator obezbedio problem tragač jezičak koji ste instalirali, i da ste podesili neke vaše radne kopije da koriste jezičak u TortoiseSVN dijalogu podešavanja. Kada otvorite dijalog urezivanje iz radne kopije na koju je asociran jezičak možete videti novo dugme na vrhu dijaloga.
U ovom primeru možete izabrati jedan ili više otvorenih problema. Jezičak možete generisati specijalno formatirani tekst koji ste dodali vašem dnevniku porke.
There are several web-based repository viewers available for use with Subversion such as ViewVC and WebSVN. TortoiseSVN provides a means to link with these viewers.
Možete integrisati repo pregledač vašeg izbora u TortoiseSVN. Da se to uradi imate da definišete neke osobine koje definišu povezivanju. Oni moraju biti podešene na Imenicima: (odeljak pod imenom „Podešavanje projekta“)
Podesite ove osobine za URL vašeg repo pregledača da vidite izmene u specifičnoj reviziji. Mora biti kodiran odgovarajući URI i mora da sadrži %REVISION%
. %REVISION%
je zamenjena sa revizionim brojem u pitanju. Ovo dopušta TrotoiseSVN da prikaže ulaz kontekst menija u dnevnik dijaloga → .
Podesite ove osobine u URL vašeg repo pregledača da vidite izmene određenih fajlova u određenoj reviziji. Mora biti ispravno kodirano URI i ima da sadrži %REVISION%
i %PATH%
. %PATH%
se zamenjuje sa putanjom relativnom sa korenom spremišta. Ovo omogućava TortoiseSVN da prikaže ulaz kontekst menija u dijalogu dnevnika → Na primer, ako uradite desni klik na donji panel dnevnik dijaloga fajl ulaza /trunk/src/file
zatim %PATH%
u URL će biti zamenjen sa /trunk/src/file
.
Možete takođe da koristite URL umesto apsolutnih. Ovo je korisno u slučaju da je vaš veb pregledač na istom domen/serveru kao vaše izvorno spremište. U slučaju da se ime domena ikad promeni, vi nemate da podesite webviewer:revision
i webviewer:pathrevision
osobinu. Format je isti kao za bugtraq:url
osobinu. Vidite odeljak pod imenom „Integracija sa Bag Praćenja Sistem / Problem Tragači“.
Ove osobine moraju biti podešene na folderu za sistem koji radi. Kada urezujete fajl ili folder osobine su pročitane iz foldera. Ako osobine nisu nađene tamo, TortoiseSVN će pretraživati nagore kroz stablo foldera da ga nađete dok ne dođe neverzionisani folder, ili koren stabla (npr. C:\
) nađen. Ako možete biti sigurni da svaki korisnik preuzima samo sa npr. trunk/
a ne neke sub-foldere, zatim to je dovoljno ako podesite osobine na trunk/
. Ako ne možete biti sigurni, morate podesiti osobine rekurzivno na svakom sub-folderu. Osobine podešene dublje u hijerarhiji projekta koja prepisuje podešavanje na višim nivoima (bliže ka trunk/
).
Za osobine projekta samo, tj tsvn:
, bugtraq:
i webviewer:
možete koristiti Rekurziv čekboks da podesite osobine svih sub-foldera u hijerarhiji, takođe bez podešavanja na sve fajlove.
Kada dodate novi sub-folder u radnu kopiju koristeći TortoiseSVN, osobine bilo kog projekta prisutne u predačkom folderu će automatski biti takođe dodate novom potomačkom folderi.
Pošto integracija repo pregledača zavisi od pristupa Subverzionih osobina vi ćete videti samo rezultate kada koristite preuzete radne kopije. Nalaženje osobina daljinski je spora operacija tako da nećete videti osobine u akciji repo pretraživača osim ako ne započnete repo pretraživač iz vaše radne kopije. Ako započnete repo pretraživač unošenjem URL spremišta nećete videti te osobine.
Iz nekih razloga osobine projekta neće se prenositi automatski kada se potomački folder doda korišćenjem repo pretraživača.
Da biste našli koja različita podešavanja su za to, samo ostavite pointer miša sekundu na editboks/čekboks.. i pojaviće se alatsavet za pomoć.
Ovaj dijalog omogućava da odredite svoj željeni jezik, i Subverziono-specifučna podešavanja.
Bira vaš korisnički interfejs jazik. Svakako treba da instalirate odgovarajući jezički paket da biste dobili drugi UI jazik osim uobičajenog engleskog.
TortoiseSVN će kontaktirati periodično svoj sajt za skidanje da vidi da li postoji nova verzija programa. Ako ima pokazaće notifikacioni link u dijalogu urezivanja. Koristite
ako želite odgovor upravo sada. Nova verzija neće biti skinuta; vi jednostavno dobijate informacioni dijalog koji vam kaže da je nova verzija dostupna.TortoiseSVN ima tri obična zvuka koji su instalirani podrazumevano.
Greška
Beleška
Upozorenje
Možete izabrati različite zvuke (ili potpuno isključiti zvuk) koristeći Vindouz Kontrolni Panel.
je skraćenica za Kontrolni Panel.Na Vindous Visti i kasnijim sistemima ovo kontroliše da li dijalozi koriste Aero stil.
Na Vindous 7 možete kreirati biblioteku u kojoj grupišete radne kopije koje su razbacane na raznim mestima u vašem sistemu.
Globalni modeli zanemarivanja su korišćeni da preduprede neverzionisane fajlove da budu prikazani npr. u dijalogu urezivanja. Fajlovi koje nađu modeli su takođe zanemareni pri uvozu. Zanemarite fajlove ili foldere unošenjem njihovih imena ili ekstenzija. Modeli su razdvojeni razmacima npr. bin obj *.bak *.~?? *.jar *.[Tt]mp
. Ovi modeli ne treba da obuhvataju bilo kakve separatore putanje. Primetimo takođe da nema načina da se napravi razlika između fajlova i foldera. Prčitajte odeljak pod imenom „Hvatanje modela u listi zanemarivanja“ za više informacija o sintaksi model-nalaženja.
Primetimo da se modeli zanemarivanja koje ste ovde specificirali takođe utiču na ostale Subverzione klijente koji rade na vašem PC, uključujući klijente komandne linije.
Ako koristite Subverzioni konfiguracioni fajl da podesite global-ignores
model, to će premostiti podešavanje koje ste ovde uradili. Subverzioni konfiguracioni fajl je kontaktiran korišćenjem kako je objašnjeno u daljem tekstu.
Ovaj šablon zanemarivanja uticaće na sve vaše projekte. On nije verzionisan tako da neće uticati na ostale korisnike. Nasuprot tome možete takođe koristiti verzionisani svn:ignore
ili svn:global-ignores
osobine da isključite fajlove ili direktorijume iz kontrole verzija. Pročitajte odeljak pod imenom „Zanemarivanje fajlova i foldera“ za više informacija.
Ova opcija kaže TortoiseSVN da podesi datum fajla na vreme zadnjeg urezivanja kada se radi preuzimanje ili obnavljanje. Drugačije TortoiseSVN će koristiti tekući datum. Ako ste razvijali softver generalno je najbolje da koristite tekući datum jer sistem za izgradnju normalno gleda na datum markicu da odredi koje fajlove treba komajlirati. Ako koristite „last commit time“ i vratiti u stariju reviziju, vaš projekat ne može kompajlirati onako kako očekujete od njega.
Koristite config
fajl vidi Runtime Configuration Area. Poglavlje na Automatic Property Setting je od partikularnog interesa i konfiguriše se ovde. Primetimo da Subverzija može da čita konfiguravione informacije sa više mesta i potrebno vam je da znate koji ima prioritet. Pogledajte Configuration and the Windows Registry da nđete više o tome.
Ova opcija kaže TortoiseSVN da dopusti lokalne izmene za svn:eksternali
osobine pri obnavljanju radne kopije.
Ova strana omogućava da odredite koji od TortoiseSVN kontekst meni ulaz će biti prikazan u glavnom kontekst meniju, i koji će se pojaviti u TortoiseSVN submeni. Podrazumevano je da je većina stavki neproverena i pojavljuju se u submeniju.
Postoji poseban slučaj za Uzmi Katanac. Možete, svakako, pogurati to na vršni nivo koristeći gornju listu, ali kako većina fajlova ne zahteva zaključavanje samo dodaje gužvu. Međutim, fajl sa svn:needs-lock
osobinom zahteva ovu akciju svaki put kada se uređuje, tako da u tom slučaju to je veoma korisno imati ga na gornjem nivou. Čekiranjem boksa ovde znači to da kada je fajl izabran koji ima svn:needs-lock
osobinu izabranu, Nabavi Katanac će se uvek pojaviti u gornjem nivou.
Veći deo vremena potreban vam je TortoiseSVN kontekst meni, posebno za foldere koji su pod kontrolom verzija od Subverzije. Za ne-verzionisane foldere stvarno vam je potreban kontekst meni kada hoćete da uradite preuzimanje. Ako čekirate opciju Sakriva menije za neverzionisane putanje
, TortoiseSVN neće dodati te ulaze u kontekst meni za neverzionisane foldere. Ali ulazi su dodati za sve stavke i putanje u verzionisanom folderu. Možete dobiti ulaze nazad za neverzionisane fodere držeći Shift taster dok prikazujete kontekst meni.
Ako postoje neke putanje na vašem računaru gde baš ne želite TortoiseSVN kontekst meni da se uopšte pojavi, možete ih izlistati u boksu na dnu.
Ovaj dijalog vam dozvoljava da konfigurišete neke TortoiseSVN dijaloge na način kako volite.
Ograničava broj dnevnik poruka koje TortoiseSVN nađe kada najpre izaberete
→ Korisno za spor server vezu. Možete uvek koristiti ili da dobojete više poruka.Izabira oblik pisma i veličinu korišćenu za prikazivanje same dnevnik poruke u srednjem panelu Dnevnik Revizija dijalogu, i kada se sastavlja dnevnik poruke u Ureži dijalogu.
Ako standardne dugačke poruke koriste suviše prostora na vašem ekranu koristite kratak format.
Ako često zateknete sebe da poređujete revizije u vršnom panelu dijaloga dnevnika, možete koristiti ovu opciju da omogućite akciju dvostrukog-klika. To nije podrazumevano omogućeno jer nalaženje razlika je često dug proces, i mnogi ljudi vole da izbegnu čekanje posle pogrešnog dvostrukog klika, zbog čega ova opcija nije podrazumevano omogućena.
TortoiseSVN može automatski da završi sve progres dijaloge kada se akcija završi bez greške. Ovo podešavanje vam omogućava da izaberete uslove zatvaranja dijaloga. Podrazumevano (preporučeno) podešavanje je Zatvori ručno što dozvoljava da pregledate sve poruke i proverite šta se desilo. Međutim, možete odlučiti da želite da zanemarite neki tip poruka i dijalog je zatvoren automatski ako nema kritičnih izmena.
Aut-zatvaranje ako nema stapanja, dodaj ili obriši znači da progres dijalog će se zatvoriti ako je bilo jednostavnog obnavljanja, ali ako su izmene iz spremišta stopljene sa vašim, ili ako je bilo koji fajl dodat ili obrisan, dijalog će ostati otvoren. On će takođe ostati otvoren ako je bio bio koji konflikt ili greška u toku operacije.
Auto-zatvaranje ako nema konflikta dalje oslabljuje kriterijume i zatvoriće dijalog čak i ako ima stapanja, dodavanja i brisanja. Međutim, ako je bilo bilo kakvog konflikta ili grešaka, dijalog ostaje otvoren.
Auto-zatvaranje ako nema grešaka uvek zatvara dijalog čak i ako je bio konflikata. Jedini uslov koji drži otvoren dijalog je uslov greške, što se javlja kada je Subverzija omogućenada kompletira zadatak. Na primer, obnavljanje je neuspešno zato što je server nedostupan, ili urezivanje je neuspešno zato što je radna kopija zastarela.
Lokalne operacije kao što je dodavanje fajlova ili vraćanje izmena ne zahtevaju kontaktiranje spremišta i brzo se kompletiraju, tako da je dijalog napredovanja od male koristi. Izaberite ovu opciju ako želite da se diajlog napredovanja zatvara automatski posle ovih operacija bez obzira na greške.
Kada vraćate lokalne izmene, vaše izmene su odbačene. TortoiseSVN daje vam izuzetno sigurnu mrežu slanjem izmenjenih fajlova u korpu pre vraćanja čiste kopije. Ako više volite da preskočite korpu, otčekirajte ovu opciju.
U dijalogu stapanja, podrazumevano ponašanje je za Od: URL biće zapamćen između stapanja. Međutim, neki ljudi vole da primene stapanje od mnogo različitih tačaka u njihovoj hijerarhiji, i nađe da je lakše da počne sa URL tekuće radne kopije. Ovo može biti uređeno da se odnosi na paralelnu putanju na drugoj grani.
Možete specificirati podrazumevanu putanju za preuzimanje. Ako čuvate sva preuzimanja na jednom mestu, korisno je imati drajv i folder popunjen tako da samo imate da dodate novo ime foldera na kraju.
Možete takođe specificirati podrazumevani URL za preuzimanje. Ako često preuzimate sub-projekte nekih veoma velike projekte, može biti korisno imati URL pre-popunjene tako da se ima samo dodati sub-projekat ime na kraju.
Ovaj boks je čekiran (podrazumevano stanje), zatim kadgod je status neverzionisani folder prikazan u Dodaj, Ureži ili Privera Modifikacija dijalog, svaki potomački fajl i folder je takođe prikazan. Ako otčekirate ovaj boks, samo neverzionisani predak je prikazan. Otčekivanje redukuje gužvu u ovim dijalozima. U ovom slučaju ako izaberete neverzionisani folder za Dodaj, dodaje se rekurzivno.
U dijalogu Provera izmena možete podesiti opciju da vidite zanemarene stavke. Ako je ovaj boks čekiran onda će uvek kada se nađe zanemareni folder biti prikazane sve zanemarene stavke.
Dijalog urezivanja uključuje mogućnost da analizira listu imenafajlova koja se urezuje. Kada ukucate prva 3 slova stavke u listu, auto-kompletiranje boks iskoči, i možete pritisnuti Enter da kompletirate fajlime. Čekirajte boks da omogućite ovu osobinu.
Auto-kompletiranje analizator može biti sasvim spor ako ima mnogo velikih fajlova da se provere. Tajmaut zaustavlja dijalog urezivanja da bude držan suviše dugo. Ako vam nedostaju važne informacije auto-kompletiranja, možete proširiti tajmaut.
tsvn:projectlanguage
podešen.Ako ne želite da koristite proveru sintakse za sva urezivanja čekirajte ovaj boks. Provera sintakse će još biti omogućena gde osobine projekta to zahtevaju.
Kada ukucate dnevnik poruku u dijalog urezivanja, TortoiseSVN je sprema za moguće ponovo korišćenje kasnije. Podrazumeva se da čuva 25 dnevnik poruka za svako spremište, ali možete podesiti taj broj ovde. Ako imate više različitih spremišta možete želeti da smanjite ovo izbegavajući prepunjavanja vašeg spremišta.
Primetimo da se ovo podešavanje primenjuje samo na poruke koje unoste na ovom računaru. Ništa nema da se radi sa kešom dnevnika.
Normalno ponašanje u dijalogu urezivanja za sve modifikovane (verzionisane) stavke je sizabrano za urezivanje automatski. Ako više volite da počnete tako što ništa nije izabrano i odaberemo stavku za urezivanje ručno otčekirajte ovaj boks.
Ovo ponovo otvara dijalog urezivanja automatski u istom direktorijumu posle uspešnog urezivanja. Dijalog je ponovo otvoren samo ako ima još stavki da se urežu.
Provera Modifikacija dijalog čekira radnu kopiju podrazumevano, i samo kontakt spremišta kada kliknete
. Ako uvek želite da čekirate spremište, možete koristiti ovo podešavanje da učinite tu akciju koja se dešava automatski.Kada izaberete jedan ili više fajlova i onda koristite
→ da uklonite katanac na ove fajlove, na nekim projektima je podrazumevano da se napiše katanac poruka koja objašnjava zašto imate zaključane fajlove. Ako ne koristite katanac poruke, možete otčekirati ovaj boks da preskočite taj dijalog i zaključate fajlove trenutno.Ako koristite zaključaj komandu na folder, vama je predstavljen dijalog zaključavanja kao nešto što vam daje opcije da izaberete fajlve za zaključavanje.
Ako vaš projekat koristi tsvn:lockmsgminsize
osobinu, videćete dijalog zaključavanja bezobzira na ovo podešavanje jer projekat zahteva poruke zaključavanja.
Settings for the repository browser:
Ako je ovaj boks čekiran (uobičajeno stanje), pretraživač spremišta dobavlja informacije o prikazanim folderima u begraundu. Na taj način čim se potraži u ovim folderima informacija je odmah dostupna.
Neki serveri, međutim, ne opslužuju višestruke zahteve koje uzrokuju ili kada nisu konfigurisani da korektno tretiraju toliko mnogo zahteva kao nešto loše i počinju da ih blokiraju. U ovom slučaju možete onemogućiti pripremno dobavljanje.
Ako je ovaj boks čeked (uobičajeno stanje) pretraživač spremišta prikazuje fajlove uključene sa svn:externals
osobinom kao normalni fajlovi i folderi, ali sa prkrivnom ikonom da ih markira da su iz spoljašnjeg izvora.
Kao sa osobinom pripremnog dobavljanja objašenom gore ovo može biti mnogo stresno za slabe servere. U tom slučaju možete onemogućiti tu osobinu.
There are two versions of shelfing implemented in SVN. Here you can select which version you want to use. Note that changing this setting might require an OS restart to take effect.
this version is much faster than V3
and is the recommended version to use.
However, the speed comes at a prize: V2
does not handle directory changes, and can't handle copies and moves of files.
this is the latest version of the shelfing feature. It can handle changes to directories as well as file moves/copies.
However, V3
is much slower than V2
and can be unusably slow for big repositories or if you have a slow connection to the repository.
Ovaj dijalog dopušta da konfigurišete boje teksta korišćene u TortoiseSVN dijalozima na način kakav volite.
Konflikt se može pojaviti tokom obnavljanja, ili se može pojaviti u toku stapanja. Ažurriranje je ometeno postojećim neverzionisanim fajlom/folderom istog imena kao neki verzionisan.
Boja se takođe koristi za poruke greške u progres dijalozima.
Stavke dodate u spremište
Obrisane stavke iz spremišta, koje nedostaju u radnoj kopiji, ili obrisane iz radne kopije i zamenjene sa drugim fajlom istog imena.
Izmene u spremištu sukcesivno stopljene u RK bez kreiranja bilo kakvog konflikta.
Dodavanje sa istorijom, ili putanja kopirana u spremište. Takođe u dnevnik dijalogu za ulaze koje uključuje kopirana stavka.
Stavka koja je obrisana u spremištu.
Stavka koja je dodata u spremište, pomoču dodaj, kopiraj ili pomeri operacije.
Stavka koja je preimenovana u okviru spremišta.
Originalna stavka je obrisana i nova stavka istog imena je zamenila.
Kada se koristi filtriranje u dijalogu dnevnika traženi pojmovi su osvetljeni korišćenjem ove boje.
other settings:
The dialogs in TortoiseSVN can be shown in a dark mode on Windows 10 1809 and later. This feature also requires that dark mode for applications is enabled in the Windows 10 settings.
Note that not all controls in all dialogs are shown in a dark theme.
Revizioni graf pokušava da prikaže čistiju sliku strukture vašeg spremišta praveći razliku između debla, grana i oznaka. Kako takva klasifikacija nije ugrađena u Subverziju ova informacija se izvlači iz imena putanja. Podrazumevana podešavanja uzimaju da koristite konvencionalna engleska imena kako je sugerisano u dokumentaciji Subverzije, ali svakako vaše korišćenje može varirati.
Specifira modele korišćene da prepoznaju ove putanje u data tri okvira. Modeli će se upoređivati nezavisno od veličine slova, ali morate ih specificirati malim slovima. DŽoker karte *
i ?
će raditi kao obično, i možete koristiti ;
da izdvojite višestruke modele. Ne uključujte bilo koje dodatno prazno polje ka što je to obuhvaćeno u specifikaciji poređenja.
Molim primetimo da ovaj šablon je takođe korišćen da se detektuje urezivanje u znak, ne samo za revizioni graf.
Boje se koriste u revizionom grafu da označe tip čvora, npr. čvor je dodat, obrisan, preimenovan. Da bi našli kvalifikaciju čvorova možete dopustiti revizionom grafu da meša boje da bi dao oznaku oba tipa čvora i klasifikaciju. Ako je boks čekiran mešanje je dozvoljeno. Ako boks nije čekiran boja se koristi da označi samo tip čvora. Koristite dijalog za izbor boja da odredite specifične boje koje su korišćene.
Ova strana vam dopušta da konfigurišete korišćene boje. Primetimo da boje koje su ovde specificirane su čiste boje. Većina čvorova je obojena korišćenjem mešavine boja za čvorove, pozadinska boja je proizvoljno klsifikovana boja.
Stavke obrisati i ne kopirati bilo gde u istoj reviziji. treba
Stavke novo dodate, ili kopirane (dodati sa istorijom).
Stavke obrisane na jednoj lokaciji i dodate na drugu u istoj reviziji.
Jednostavne izmene bez bilo kakvog dodavanja ili brisanja.
Može se koristiti da prikaže reviziju korišćenu kao izvor kopije, čak kada nema izmena (za stavku koja je data u grafu) idu u tu reviziju.
Tekuća GLAVNA revizija u spremištu
Ako želite da prikažete ekstra čvor za vašu izmenjenu radnu kopiju, dodatu zadnjoj-urezanoj reviziji na grafu, koristite ovu boju.
Ako odlučite da prikažete da li je radna kopija izmenjena, koristite obojeni okvir na RK čvoru kada su izmene nađene.
Čvorovi klasifikovani kao oznake mogu se mešati ovom bojom.
Čvorovi klasifikovani kao deblo mogu se mešati ovom bojom.
Ako koristite savijanje oznaka da čuvate prostor, oznake su markirane u izvoru kopije korišćenjem bloka u ovoj boji.
Kada levo kliknete na čvor da ga izaberete, marker koji se koristi da označi izbor je blok u ovoj boji.
Ove boje su korišćene kada je graf podeljen u po-stabla i pozadina je obojena u alternativne trake da pomogne izbor izdvojenih stabala.
Ova strana dopušta da izaberete stavku za koju TortoiseSVN će prikazati prekrivnu ikonu.
Pošto uzima sasvim malo da nađe status radne kopije, TortoiseSVN koristi keš da smesti status tako da eksplorer ne blokira mnogo dok prikazuje prekrivače. Možete izabrati koji tip keša TortoiseSVN treba da koristi u skladu sa vašim sistemom i veličinom radne kopije ovde:
Kešira sve status informacije u odvojenim procesima (TSVNCache.exe
). Taj proces posmatra sve drajvove za izmene i nalazi ponovo status ako su fajlovi unutar radne kopije modifikovani. Proces radi sa najmanjim mogućim prioritetom tako da drugi programi blokirani zbog njega. To takođe znači da status informacija nije u realnom vremenu ali može uzeti nekoliko sekundi da se prekrivač promeni.
Pogodnosti: prekrivači prikazuju status rekurzivno, tj. ako je fajl duboku unutar radne kopije izmenjen, svi imenici do korena radne kopije biće takođe prikazani izmenjenom ikonom. I kako proces može poslati notifikaciju školjci, prekrivači u ostalom stablu će se takođe promeniti.
Nepogodnosti: proces stalno radi, čak i ako ne radite na vašem projektima. On takođe koristi oko 10-50 MB od RAM zavisno od broja i veličine vaših radnih kopija.
Hvatanje je dato direktno unutar dll ekstenzije školjke, ali samo za tekući vidljivi folder. Svaki put kad se krećete ka drugom folderu status informacija se nalazi ponovo.
Pogodnosti: zahteva samo veoma maku memoriju (oko 1 MB RAMa) i može prikazati status u realnom vremenu.
Nepogodnosti: Pošto je samo jedan folder uhvaćen, prekrivači ne pokazuju status rekurzivno. Za velike radne kopije može uzeti mnogo vremena da prikaže folder u eksploreru sa podrazumevanim hvatanjem. Takođe mime-tip kolone nije dostupan.
Sa ovim podešavanjem TortoiseSVN uopšte ne hvata status u Eksploreru. Zato što, fajlovi ne dobijaju prekrivače i imenici samo dobijaju 'normalne' prekrivače ako su verzionisani. Drugi prekrivači su prikazani i nema dodatnih kolona da su dostupne.
Pogodnost: apsolutno ne koristi dodatnu memoriju i uopšte ne usporava Eksplorer dok pretražuje.
Nepogodnost: SDtatus informacija fajlova i foldera nije prikazana u Eksploreru. Da vidite da li je vaša radna kopija izmenjena, treba da koristite „Provera izmena“ dijalog.
Podrazumevano, prekrivne ikone i kontekst meniji će se pojaviti u svim otvori/sačuvaj dijalozima kao u Vindouz Eksploreru. Ako želite da se oni pojave samo u Vindouz Eksploreru, čekirajte Prikaži prekrivače i kontekst meni samo u eksploreru boks.
Možete forsirati status keš u None za podignute procese proverom boksaOnemogući status keš za podignute procese. Ovo je korisno ako želite da sprečie drugi TSVNCache.exe
proces da se kreira sa podignutim privelegijama.
Možete takođe izabrati da označite folder kao izmenjen ako on sadrži neverzionisane stavke. Ovo može biti korisno da vas podseti da ste kreirali nove fajlove koji još nisu verzionisani. Ova opcija je dostupna samo ako koristite podrazumevan status keš opciju (vidi dole).
Ako imate fajlove u ignoriši-pri-ureѕivanju
listu izmena, možete izabrati da napravite te fajlove koji ne prenose status u predački folder. Na taj način ako su samo fajlovi u toj listi izmena izmenjeni predački folder još uvek prikazuje nemodifikovane prekrivačke ikone.
Sledeća grupa dopušta vam da izaberete koju klasu skladištenja će prikazati prekrivač. Podrazumevano, samo tvrdi diskovi su izabrani. Možete čak onemogućiti prekrivače ikona, ali gde je zabava u tome?
Mrežni drajvovi mogu biti veoma spori, tako da podrazumevano ikone nisu prikazane za radnu kopiju lociranu na mrežnoj podeli.
USB Fleš drajv se javlja kao specijalan slučaj u to drajv tipu se identificira od samog uređaja. Neki se javljaju kao fiksni diskovi, a neki kao pokretni drajvovi.
Isključi Putanje se koristi da kaže TortoiseSVN na te putanje za koje ne treba prikazati prekrivač ikona i status kolone. Ovo je korisno ako imate neke veoma velike radne kopije koje sadrže samo biblioteke koje želite uopšte da menjate i zato ne traži prekrivače, ili ako samo želite TortoiseSVN da pogleda u specivični folder.
Bilo koja putanja specificirana ovde usvaja se da se primenjuje rekurzivno tako nijedan od potomačkih foldera neće prikazati drugačije prekrivače. Ako želite da odstranite samo označene foldere dodajte ?
posle putanje.
Isto se primenjuje na Uključi Putanje. Osim toga za te putanje prekrivači su prikazani čak ako su prekrivači onemogućeni za specifične tipove drajvova, ili isključenjem putanje specificirane gore.
Korisnici ponekad pitaju kako ova tri podešavanja intergaguju. Za svaku datu putanju proverava se list uključivanja i isključivanja, tražeći naviše kroz strukturu foldera dok se sličan ne nađe. Kada se prvi sličan nađe ispunite to pravilo uključivanja ili isključivanja, specifičnosti pojedinačnog foldera stariji su od rekurzivnih specifičnosti, zatim uključivanje je starije od isključivanja.
Jedan primer može pomoći ovde:
Exclude: C: C:\develop\? C:\develop\tsvn\obj C:\develop\tsvn\bin Include: C:\develop
Ovo podešavanje onemogućava ikone prekrivače za C: darjav, osim za c:\develop
. Svi projekti ispod tog direktorijuma će prikazivati overleje, osim c:\develop
folder lično, koji je specifično zanemaren. Jako-pomešani binarni folderi su takođe izbačeni.
TSVNCache.exe takođe koristi ove putanje da ograniči skeniranje. Ako želite da pogledate samo u pojedinačni folder, onemogućite sve tipove drajvova i uključiti vaše specifične želje da budu skenirane.
SUBST
DrajvoviČesto je zgodno koristiti SUBST
drajv da pristupite vašoj radnoj kopiji, npr. koristeći komandu
subst T: C:\TortoiseSVN\trunk\doc
Međutim to može uzrokovati da se overleji ne usklade, kao TSVNCashe
će samo primitijednu notifikaciju kada se fajl izmeni i to je normalno za originalnu putanju. To znači da vaši prekrivači na subst
putanji možda nikad neće biti usklađeni.
Lak način da se radi oko ovoga je da se isključi originalna putanja iz prikazanih prekrivača, tako prekrivači su prikazani na subst
putanji umesto toga.
Ponekad ćete isključiti oblasti koje sadrže radne kopije, koje čuvaju TSVNKaš od skeniranja i pregledanja za izmene, ali još uvek želite vizuelnu indikaciju da folder sadrži radnu kopiju. Čekboks Prikaži isključen rut folder kao 'normalan' omogućava vam da to uradite. Sa ovom opcijom, rut folder radne kopije u bilo kojoj isključenoj oblasti (tip drajva se ne proverava, ili se specifično isključuje) biće prikazan kao normalan i obnovljen, sa zelenom ček markicom. Ovo vas podseća dok gledate radnu kopiju, čak i ako prekrivač foldera nije korektan. Fajlovi ne dobijaju nikakve prekrivače. Primetimo da kontekst meni još radi bez obzira što prekrivači nisu prikazani.
Kao specijalni izuzetak na to, drajvi A:
i B:
se nikad ne uzimaju u obzir za Prikaži isključene imnjnike kao 'normalan' opciju. Ovo se zbog Vindouza forsirano da gleda na drajv, što može prouzrokovati kašnjenje od nekoliko sekundi kada se pokrene Eksplorer, čak ako vaš PC ima flopi drajv.
e
Možete izmeniti podešavanje pokrivne ikone na ono što najviše volite. Primetimo da ako izmenimo podešavanje pokrivanja, možete restartovati vaš računar da bi izmene postale efikasne.
Pošto je broj dostupnih prekrivača dosta restriktivan, možete izabrati da onemogućite neke hendlere da omogućite da oni koje želite budu učitani. Pošto TortoiseSVN koristi zajedničke TortoiseOverlej komponente koje dele ostali Tortoise klijenti (npr. TortoiseCVS, TortoiseHg) ovo podešavanje će uticati i na te klijente takođe.
Ovde možete konfigurisat vaš proksi server, ako vam treba da provlačite kroz fajervol vaše kompanije.
Ako vam je potrebno da podesite proksi podešavanje po spremištu potrebno vam da koristite Subverzioni servers
fajl da to konfigurišete. Koristite da to dobijete direktno. Konsultujte Runtime Configuration Area o detaljima kako da koristite taj fajl.
Možete takođe specificirati koji program TortoiseSVN treba da koristi da postavi sigurnu vezu ka svn+ssh spremišta. Preporučujemo da koristite TortoisePlink.exe. Ovo je verzija popularnog Plink programa, i uključeno je sa TortoiseSVN, ali to je kompajlirano kao Vindouzbez aplikacija, tako da ne možete dobiti DOS boks koji iskače svaki put kada se prijavljujete.
Morate specificirati celu putanju do izvršnih programa. Za TortoisePlink.ehe to je standardni TortoiseSVN bin direktorijum. Koristite
dugme kao pomoć da ga nađete. Primetimo da ako putanja sadrži razmake morate to zaokružiti navodnicima, npr."C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"
Jedan ivični-efekat koji nema prozor je to da nema nigde da ode bilo kakva poruka greške, tako ako autentikacija ne uspe vi ćete jednostavno dobiti poruku koja kaže nešto kao „Nesposoban da piše na standardnom izlazu“. Iz ovog razloga preporučujemo da najpre izvršite podešavanje koristeći standardni Plink. Kada sve radi, možete koristiti TortoisePlink sa tačno istim parametrima.
TortoisePlink nema nikakvu dokumentaciju o sebi zato što je minorna varijanta Plinka. Nađite o parametrima komandne linije na PuTTY website.
Da bi izbegli da budete pitani za lozinku neprestano možete takođe razmotriti koristeći alat nalaženja lozinke kao Pageant. Ovo je takođe dozvoljeno za skidanje sa PuTTY vebsajta.
Na kraju, podešavanjem SSH na serveru i klijentima nije jednostavan proces i on je van razmatranja ovog fajla pomoći. Međutim, možete naći vodič u TortoiseSVN FAK dat pod Subversion/TortoiseSVN SSH How-To.
Ovde možete definisati vaš lični diff/stopi programi koje TortoiseSVN treba da koristi. Podrazumevano podešavanje je da se koristi TortoiseMerge koji je instaliran kad i TortoiseSVN.
Pročitajte xref linkend="tsvn-dug-diff-tools"/> za listu nekih od spoljašnjih diff/stopi programa koje ljudi koriste sa TortoiseSVN.
Spoljašnji diff program može biti korišten za poređenje revizija fajlova. Sponjašnji programi će tražiti da dobijete fajlime iz komandne linije, zajedno sa svakom drugom opcijom komande. TortoiseSVN koristi parametre zamene sa prefiksom %
. Kada se uoči jedan od tih koji će biti zamenjeni odgovarajućom vrednošću. Red parametara će zavisiti na Diff programe koje koristite.
Originalan fajl bez vaših izmena
Vindouz naslov osnovnog fajla
Vindou titl za osnovni fajl, bez navodnika
Vaš lični fajl, sa vašim izmenama
Vindouz naslov za vaš fajl
Vindou titl za vaš fajl, bez navodnika
URL originalnog fajla, ako je dostupan
URL originalnog fajla, ako je dostupan, bez navodnika
URL drugog fajla, ako je dostupan
URL drugog fajla, ako je dostupan, bez navodnika
Revizija originalnog fajla, ako je dostupna
Revizija originalnog fajla, ako je dostupan, bez navodnika
Revizija drugog fajla, ako je dostupna
Revizija drugog fajla, ako je dostupan, bez navodnika
Peg revizija, ako je dostupna
Peg revizija, ako je dostupna, bez navodnika
Ime fajla. Ovo je prazan string ako su dva različita fajla različita umesto dva stanja istog fajla.
Ime fajla, bez navodnika
Naslov prozora nije čisto ime fajla. TortoiseSVN tretira to kao ime da prikaže i kreira imena u skladu sa tim. Tako npr. ako radite sa diff sa fajlom u reviziji 123 sa fajlom u vašoj radnoj kopiji, imena će biti filename : revision 123
i filename : working copy
.
Na primer, sa ExamDiff Pro:
C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname --right_display_name:%yname
or with KDiff3:
C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname
or with WinMerge:
C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine
or with Araxis:
C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname %base %mine
or with UltraCompare:
C:\Path-To\uc.exe %base %mine -title1 %bname -title2 %yname
or with DiffMerge:
C:\Path-To\DiffMerge.exe -nosplash -t1=%bname -t2=%yname %base %mine
Ako koristite svn:keywords
osobinu da proširite ključne reči i u posebnoj reviziji fajla, zatim ovde može biti razlika između fajlova koji su čisto podesni za tekuću vrednost ključne reči. Takođe vi koristite svn:eol-style = native
OSNOVNI fajl će imati čist LF
završetak linije dok vaš fajl ima CR-LF
kraj linije. TortoiseSVN će normalno sakriti ove razlike automatski najpre analizirajući OSNOVNI fajl da prošire ključne reči i kraj linije pre izvršenja diff operacije. Međutim, ovo može uzeti puno vremena sa velikim fajlovima. Ako Konvertuj fajlove kada se pravi razlika prema OSNOVI je otčekirano zatim TortoiseSVN će preskočiti preprocesiranje fajlova.
Možete takođe specifirati različit diff alat da koriste Subverzione osobine. Kako ovo teži da bude skraćen jednostavan tekst string, vi možete želeti jednostavno mnogo kompaktniji pregled.
Ako ste konfigurisali alternativni diff alat, možete pristupiti TortoiseMerge i alatu trećeg lica iz kontekst menija. → koristi primarni diff alt, a Shift+ → koristi sekundarni diff alat.
Na dno dijaloga možete konfigurisati program pregledač za unifikovane-dif fajlove (fajlovi zakrpa). Nisu potrebni parametri. Uobičajeno podešavanje je da se koristi TortoiseDiff koji se instalira zajedno sa TortoiseSVN, i kolor-kodovi dodatih i uklonjenih linija.
Pošto Unifajd Diff je u tekst formatu možete koristiti vaš tekst uređivač po želji.
Eksterni program za stapanje koristi se da reši konfliktne fajlove. Parametar substitucije se koristi na isti način kao sa Diff Programom.
Originalni fajl bez vaših ili drugih izmena
Vindouz naslov osnovnog fajla
Vindou titl za osnovni fajl, bez navodnika
vaš lični fajl, sa vašim izmenama
Vindouz naslov za vaš fajl
Vindou titl za vaš fajl, bez navodnika
fajl kakav je u spremištu
Vindouz naslov fajla u spremištu
Vindou titl za fajl u spremištu, bez navodnika
fajl sa konfliktom, rezultat operacije sajanja
Vindouz naslov za stopljen fajl
Vindou titl za stopljen fajl, bez navodnika
Ime fajla u konfliktu
Ime fajla u konfliktu, bez navodnika
Naprimer, sa Perforce Merge:
C:\Path-To\P4Merge.exe %base %theirs %mine %merged
or with KDiff3:
C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged --L1 %bname --L2 %yname --L3 %tname
or with Araxis:
C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname /title3:%yname %theirs %base %mine %merged /a2
or with WinMerge (2.8 or later):
C:\Path-To\WinMerge.exe %merged
or with DiffMerge:
C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge -nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs
U naprednom podešavanju, možete definisati različite diff i stopi programe za svaku ekstenziju fajla. Na primer možete pridružiti Fotošop kao „Diff“Program za .jpg
fajlove :-) Takođe pridružite svn:mime-type
osobinu sa diff ili stopi programom.
Da pridružite korišćenjem ekstenziju fajla, potrebno vam je da specificirate ekstenziju. Koristite .bmp
da opišete Vindouz bitmap fajlove. Da pridružite svn:mime-type
osobinu, specificirajte mime tip, uključujući kosu crtu, na primer text/xml
.
Za vašu udobnost, TortoiseSVN čuva većinu podešavanja koje koristite, i pamti pređašnje stanje. Ako želite da obrišete keš podataka to možete uraditi ovde.
Kadgod preuzmete radnu kopiju, stopite izmene ili koristite pretraživač spremišta, TortoiseSVN čuva zapis o skorašnje korišćenom URL i nudi ga u kombo boksu. Ponekad taj list postaje blokiran sa zastarelim URL tako da je korisno da se periodično obnovi.
Ako želite da uklonite pojedinačnu stavku iz jednog od kombo boksova možete to uraditi na licu mesta. Samo kliknite na strelicu da svučete kombo boks, pomerite miša na stavku koju želite da uklonite i otkucajte Shift+Del.
TortoiseSVN čuva skorašnje dnevnik poruke urezivanja koje ste uneli. One su sačuvane u spremištu, tako da ako pristupate ka više spremišta ova lista može porasti jako mnogo.
TortoiseSVN kešira dnevnik poruke nađene u Prikaži Dnevnik dijalogu da sačuva vreme kada sledeći put prikazijete dnevnik. Ako još neko uređuje dnevnik poruka i vi takođe imate keširanu poruku, nećete videti izmenu sve dik ne obrišete keš. Dnevnik poruka keširanje je omogućeno na Dnevnik Keš tab.
Mnogi dijalozi pamte veličinu i poziciju ekrana koji ste zadnji put koristili.
Kada se autentikujete na Subverzioni server, korisničko ime i lozinka se keširaju lokalno tako da ne morate da ih unosite. Možete želeti da obrišete ovo iz sigurnosnih razloga, ili zato što želite da pristupite spremištu pod drugim korisničkim imenom ... da li DŽon zna da vi koristite njegov PC?
Ako želite da obrišete autentifikacione podatke samo jednog posebnog servera, koristite
umesto button.TortoiseSVN čuva dnevnik svega napisanog u progres dijalogu. Ovo može biti korisno kada, na primer, želite da proverite šta se dešava u skoroj komandi obnavljanja.
Dnevnik fajl je ograničene dužine i kada poraste mnogo veliki stariji sadržaj se odbacuje. Podrazumevano je da se 4000 linija čuva, ali možete podesiti taj broj.
Odavde možete videti sadržaj dnevnik fajla, i takođe ga obrisati.
Ovaj dijalog vam omogućava da konfigurišete dnevnik keš osobine TortoiseSVN, koje čuvaju lokalnu kopiju dnebnik poruka i izmenjenih putanja da se izbegne vremenski-zahtevno skidanje sa servera. Koristeći dnevnik keš može dramatično ubrzati dnevnik dijalog i revizioni graf. Sledeća korisna osobina je da dnevnik poruka može biti kontaktiran kada niste povezani.
Omogućava dnevnik keširanje kadgod su dnevnik podaci zatraženi. Ako je proveren, podaci će biti vraćeni iz keša ako su dostupni, i ako bilo koja poruka nije u kešu biće uzeta sa servera i dodata kešu.
Ako je keširanje onemogućeno, podaci će uvek biti uzeti direktno sa servera i neće biti sačuvano lokalno.
Occasionally you may have to connect to a server which uses the same URL for all repositories. Older versions of svnbridge
would do this. If you need to access such repositories you will have to check this option. If you don't, unchecked it to improve performance.
Some hosting services give all their repositories the same UUID. You may even have done this yourself by copying a repository folder to create a new one. For all sorts of reasons this is a bad idea - a UUID should be unique. However, the log cache will still work in this situation if you check this box. If you don't need it, unchecked it to improve performance.
Ako radite van linije, ili ako je spremište palo, dnevnik keš može još biti korišćen da snabde dnevnik poruke koje se već drže u kešu. Svakako keš ne mora biti ažuran, tako postoje opcije da dozvole da izaberete da li treba ovu osobinu da koristite.
Kada se dnevnik podaci uzmu iz keša bez kontaktiranja servera, dijalog koji koristi te poruke će prikazati isključeno stanje na naslovnom pultu.
Kada pozovete dnevnik dijalog normalno ćete želeti da kontaktirate server da proverite za neku novu dnevnik poruku. Ako je postavljeno granično vreme veće od nule server će samo biti kontaktiran kada prođe ograničeno vreme od zadnjeg vremena kontakta. Ovo može redukovati serverov obilazak ako otvarate dnevnik dijalog često a server je spor, ali prikazani podaci ne moraju biti kompletno obnovljeni. Ako želite da koristite ovu osobinu preporučujemo vam vrednost 300 (5 minuta) kao kompromis.
Ako pretražujete oko mnogo spremišta sakupićete mnogo keševa dnevnika. Ako ga aktivno ne koristite keš neće porasti mnogo veliki, tako da ih TortoiseSVN podrazumevano čisti posle podešenog vremena. Koristite ovu stavku da kontrolišete čišćenje keša.
Veliki keševi su mnogo skuplji za reciklažu, tako da TortoiseSVN samo čisti male keševe. Fino podesite prag sa ovom vrednošću.
Ponekad nešto krene loše sa keširanjem i uzrokuje lom. Ako se to desi keš se normalno obriše automatski da se predupredi vraćanje problema. Ako koristite manje stabilnu noćnu gradnju možete podesiti opciju da čuvate keš u bilo kom slučaju.
Na ovoj strani možete videti listu spremišta lokalno keširanih, i prostor korišćen za keš. Ako izaberete jedno od spremišta možete tada koristiti skrivene dugmiće.
Kliknite na
da kompletirate osvežavanje keša i popunite nek praznine. Za velika spremišta ovo će uzeti mnogo vremena, ali je korisno ako ako nameravate da radite bez veze i želite potpuno dostupan keš.Kliknite na
dugme da izvezete ceo keš kao skup CVS fajlova. Ovo bi bilo korisno ako želite da procesirate dnevnik podataka koristeći spoljašnji program, takođe to je uglavnom korisno programerima.Kliknite na
da uklonite sve keširane podatke za izabrno spremište. Ovo ne onemogućava keširanje za spremište tako da sledeće put kada tražite podatke dnevnika, kreiraće se novi keš.
Kliknite na dugme da vidite detaljnu statistiku za partikularni keš. Mnoga od polja prikazana ovde su uglavnom od onteresa za programere TortoiseSVN, tako da svi nisu opisani dataljno.
Iznos memorije potrebne za opsluživanje keša
Iznos prostora na disku korišćen za keš. Podaci su komprimovani, tako da je korišćenje diska generalno sasvim skromno.
Prikazuje da li je spremište dostupno zadnji put kada je keš korišćen
Poslednji put kada je promenjen sadržaj keša
Poslednje vreme zahteva GLAVNE revizije sa servera.
Broj različitih autora sa porukama zabeleženim u kešu.
Broj putanja izlistanih, kao što možete videti koristeći svn log -v
.
Broj opsega revizija koji nisu nađeni, jednostavno zato zato što nisu traženi.
Najviši revizioni broj smešten u keš.
Broj revizija sačuvanih u kešu. Ovo je druga mera kompletnosti keša.
Ovaj dijalog omogućava da podesite zakačive skripte koje će se izvršiti automatski kada se izvesne Subverzione akcije izvršavaju. Suprotno zakačivim skriptama objašnjenim u odeljak pod imenom „Zakačive skripte sa serverske strane“, ove skripte se izvršavaju lokalno na klijentu.
Jedna aplikacija za takve zakačaljke može biti pozivanje programa kao SubWCRev.exe
da se uskladi broj verzije posle urezivanja, i možda da se pokrene reizrada.
Primetimo da takođe možete specificirati takve zakačive skripte koristeći specijalne osobine na vašoj radnoj kopiji. Vidite poglavlje odeljak pod imenom „Osobine TortoiseSVN projekata“ za detalje.
Da bi se dodala zakačiva skripta, jednostavno kliknite i popunite detalje.
Postoje sada dostupni ovi tipovi zakačivih skripti
Pozvan pre nego se pojavi dijalog urezivanja. Možete žieleti da koristite ovo ako zakačaljke menjaju verzionisane fajlove i utiču na listu fajlova koji zahtevaju da budu urezani i/ili poruku urezivanja. Međutim treba da primetite to zato što je zakačaljka pozvana na ranijoj etapi, puna lista izabranih objekata za urezivanje nije dostupna.
Ako je ovo specificirano dijalog urezivanja prikazuje dugme
koji kada se klikne izvršava zakačiv skript. Zakačiv skript prima listu svih čekiranih fajlova i foldera i poruke urezivanja ako su unete.Pozvan posle korisnikovog klika na
u dijalogu urezivanja i pre nego se dijalog urezivanja zatvori. Zakačaljka dobija listu čekiranih fajlova. Ako zakačaljka vrati grešku dijalog urezivanja ostaje otvoren.Ako vraćena poruka greške sadrži putanje u linijama razdvojenim separatorima novih linija ove putanje se biraju u dijalogu urezivanja posle prikazivanja poruke greške.
Pozvan posle korisnikovog klika na
u dijalogu urezivanja, i pre nego počne aktuelno urezivanje. Ova zakačaljka ima listu šta će se tačno urezati.Called after the commit finishes successfully.
Pozivan pre nego je prikazan uskladi-sa-revizijom dijalog.
Pozivana pre nego aktuelno Subverzono obnavljanje ili prebacivanje počne.
Pozivano posle završetka obnavljanja, prebacivanja ili preuzimanja (bilo uspešno ili ne).
Pozvan pre pokušaja da se kontaktira spremište.. Pozvan najviše jednom u pet minuta.
Pozvan pre pokušaja zaključavanja fajla
Poѕvan posle zaključavnja fajla
Zakačaljka je definisana za posebnu radnu kopiju. Samo vam je potrebno da odredite putalju vršnog nivoa; ako izvršite operaciju u sub-folderu, TortoiseSVN će automatski tražiti prema traženoj putanji.
Zatim morate specificirati komandnu liniju za izvršenje, počevši sa putanjom ka zakačivoj skripti ili izvršnom programu. Ovo bi mogao biti beč fajl, izvršni fajl ili bilo koji fajl koji ima isparvan prozor pridruživanja, npr. perl skript. Primetimo da skript ne mora biti specificiran korišćenjem UNC putanja što izvršenje Vindous školjke neće dopustiti da radi zbog sigurnosnih restrikcija.
Komandna linija uključuje izvesne parametre koji su popunjeni sa TortoiseSVN. Prošli parametri zavise od toga koja zakačaljka je pozvana. Svaka zakačaljka ima svoje lične parametre koji prolaze u sledećem redosledu:
PATH
MESSAGEFILE
CWD
PATH
MESSAGEFILE
CWD
PATH
MESSAGEFILE
CWD
PATH
DEPTH
MESSAGEFILE
CWD
PATH
DEPTH
MESSAGEFILE
REVISION
ERROR
CWD
PATH
CWD
PATH
DEPTH
REVISION
CWD
PATH
DEPTH
REVISION
ERROR
CWD
RESULTPATH
no parameters are passed to this script. You can pass a custom parameter by appending it to the script path.
PATH
LOCK
FORCE
MESSAGEFILE
CWD
PATH
LOCK
FORCE
MESSAGEFILE
ERROR
CWD
Značenje svakog od ovih parametara opisan je ovde:
A path to a temporary file which contains all the paths for which the operation was started in UTF-8 encoding. Each path is on a separate line in the temp file.
Primetimo da za operacije urađene daljinski, npr. u pretraživaču spremišta, te putanje nisu lokalne putanje već su urlovi posmatranih stavki.
Dubina sa kojom je urezivanje/obnavljanje urađeno
Moguće vrednosti su:
svn_dubina_nepoznata
svn_dubina_isključena
svn_dubina_prazna
svn_dubina_fajlova
svn_dubina_trenutni
svn_dubina_beskonačno
Putanja ka fajlu koji sadrži dnevnik poruke za urezivanje. Fajl sadrži tekst u UTF-8 kodiranju. Posle uspešnog izvršenja početak-urezivanja zakačaljke, dnevnik poruka je ponovo pročitan, dajući zakačaljki šansu da ga izmeni.
Revizija spremišta za koju bi obnavljanje bilo dato ili se urezivanje kompletiralo.
Ili istina
dok zaključava, ili laž
kada otključa.
Ili istina
ili laž
,u zavisnosti da li je operacija forsirani ili ne.
Putanja ka fajlu koji sadrži poruku greške. Ako nema greške, fajl će biti prazan.
Tekući radni folder sa koji skript radi. Ovo je skup ka zajdničkom korenu foldera svih odgovarajućih piutanja.
A path to a temporary file which contains all the paths in UTF-8 encoding which were somehow touched by the operation. Each path is on a separate line in the temp file.
Primetimo takođe da imamo data imena tih parametarakonvencionalno, ne možete se pozvati na ta imena u podešavanju zakačaljki. Svi izlistani parametri za pojedinačne zakačaljke su uvek prošli, bez obzira da li ih želite ili ne ;-)
Ako želite da Subervezione operacije drže isključeno sve dok se zakačaljka kompletira, proverite Čekajte dok skript završi.
Normally you will want to hide ugly DOS boxes when the script runs, so Hide the script while running is checked by default. Also you need to check this if your hook script might return an error that should stop the operation.
Theforce
flag can be set if the user must not proceed with the operation without running the script, i.e. the script must always run. If the force
flag is not checked, then the user is shown a button to retry the operation without running the hook script. Jednostavni klijent zakačivi skript može se naći u contrib
folder u TortoiseSVN repository. (odeljak pod imenom „Licence“ objašnjava kako pristupiti spremištu.)
Kada se debaguju zakačive skripte možete želeti da prikazujete linije napredovanja u DOS konzoli, ili ubacite pauze da zaustavite konzolni prozor da nestaje kada se skripta završi. Pošto je I/O preusmerena ovo neće raditi normalno. Međutim možete preusmeriti ulaz i izlaz eksplicitno na CON da prevatžziđete to, npr.
echo Checking Status > con pause < con > con
Mali alat uključen u TortoiseSVN instalacionom folderu zove se ConnectVPN.exe
.Možete koristiti ovaj alat kao zakačaljku pre-spajanja da se automatski spoji na vaš VPN pre nego TortoiseSVN pokuša da se spoji na spremište. Samo provucite ime VPN konekcije kao prvi parametar u alatu.
TortoiseSVN može koristiti COM jezičak da nađe problem tragač kada je u dijalogu urezivanja. Korišćenje takvih jezička opisano je u odeljak pod imenom „Dobijanje informacija od poblem tragača“. Ako je sistem administator snabdeo jezičak koji ste već instalirali i registrovali, ovo je mesto da se specificira kako se integriše sa vašom radnom kopijom.
Kliknite na da koristite jezičak sa posebnom radnom kopijom. Ovde možete specificirati putanju radne kopije, izaberite koji jezičak da se koristi iz padajuće liste svih registrovanih problem tragača, i neke parametre da doda. Parametri će biti specificirani jezičku, ali mogu uključiti vaše korisničko ime za problem tragač tako da jezičak može tražiti probleme koji su vama ozančeni.
Ako želite da svi korisnici koriste iste COM jezičak za vaš projekat, možete specificirati jezičak takođe sa osobinama bugtraq:provideruuid
, bugtraq:provideruuid64
i bugtraq:providerparams
.
Ovu osobinu određuje COM UUID iz IBugtraqProvider, na primer {91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}
. (ovaj primer je UUID od Gurtle bugtraq provider, koji je snabdevač za Google Code problem tragač.)
Ovo je isto kao bugtraq:provideruuid
, ali za64-bitnu verziju IbugtrakProvajder.
Ova osobina određuje parametre poslate u IBagtragačSnabdevač.
Molimo proverite dokumentaciju vašeg IBagtragačSnabdevača jezička da nađete šta specificirati u ove dve osobine.
Podešavanja korišćena sa TortoiseBlame su kontrolisani iz glavnog kontekst menija, ne direktno sa samim TortoiseBlame.
TortoiseBlame može koristiti boju osnove da indicira starost linija u fajlu. Podesite krajnje tačke specificirajući boje za novije i starije revizije, i TortoiseBlame koristi linearnu interpolaciju između ovih boja u skladu revizijom spremišta označenu za svaku liniju.
Možete odrediti različite boje za korišćenje sa lokator pultom. Podrazumevano je koristiti jak kontrast na lokator pultu dok držite svetlo pozadine glavnog prozora tako da se još uvek čita tekst.
Možete izabrati pismo koje se koristi da se prikaže tekst, i njegovu veličinu. Ovo se primenjuje na sadržaj fajla, i autore i revizione informacije prikazane u levom panelu.
Definiše koliko razmaka koristiti za ekspanziju kada se tab karakter naže u sadržaju fajla.
Podešavanje koje koristi TortoiseUDiff kontroliše se iz kontekst menija, ne direktno samim TortoiseUDiff.
Uobičajene boje koje su korišćene u TortoiseUDiff su obično u redu, ali ih možete konfigurisati ovde.
Možete izabrati font koji se koristi za prikazivanje teksta, i veličinu tačke za korišćenje.
Određuje koliko razmaka koristiti za ekspanziju kada se naiđe na tab karakter u diff fajlu.
You can sync all TortoiseSVN settings to and from an encrypted file. The file is encrypted with the password you enter so you don't have to worry if you store that file on a cloud folder like OneDrive, GDrive, DropBox, ...
Kada je putanja i lozinka određena TortoiseSVN će sinhronizovati podešavanje automatski i držati ga sinhrono.
Možete takođe iavesti/uvesti šifrovane fajlove sa svim podešavanjima ručno. Kada to uradite pitaće vas za putanju i lozinku za šifrovaenje/dešifrovanje fajla podešavanja.
Kada izvezete podešavanje ručno možete takođe opciono uključiti lokalno podešavanje koje nije uključeno u normalnom izvozu u sihronom. Lokalna podešavanja koja uključuju lokalne putanje koje obično variraju među kompjuterima. Ova lokalna podešavanja uključuju kofigurisani alat za diff i stapanje i zakačive skripte.
Nekoliko podešavanja koja se ne koriste često dostupna su samo na naprednim stranama dijaloga podešavanja. Ova podešavanja direktno menjaju registre i trba da znate kako se svako od tih podešavanja koristi i šta znači. Ne menjajte ova podešavanja osim ako niste sigurni da treba da ih menjate.
Ponekad više korisnika koristi isti nalog na istom kompjuteru. U takvim situacijama stvarno se ne zahteva memorisanje autentikacionih podataka. Podešavanjem ove vrednost na laž
onemogućava se sačuvaj autentifikaciju
dugme u dijalogu autentikacije.
Ako obnavljanje doda novi fajl iz spremišta koji već postoji u lokalnoj radnoj kopiji kao neverzionisani fajl, podrazumevana akcija je da se čuva lokalni fajl, prikazujući ga kao (moguće) modifikovanom verzijom novog fajla iz spremišta. Ako vam je draže da TortoiseSVN kreira konflikt u takvoj situaciji podesite ovu vrednost na laž
.
Kao i kod pretraživača, TortoiseSVN prikazuje dodatne komande ako je Shift taster pritisnut dok je kontekst meni otvoren. Da se forsira TortoiseSVN da omogući prikazivanje ove proširene komande podesite ovu vrednost na istina
.
Minimalni iznos karaktera koje editor prikazuje pri auto-komplementirajućem popapu. Uobičajena vrednost je 3
.
Auto-kompletirajuća lista prikazana u editoru poruka urezivanja prikazuje imena fajlova izlistanih za urezivanje. Takođe obuhvata ova imena sa uklonjenom ekstenzijom, podesite ovu vrednost na istina
.
Fajl eksternali koji su označeni prema specifičnoj reviziji blokirani su da ne budu izabrani pri urezivanju. Ovo je zbog subsekventnih obnavljanja koji bi vratili ove izmene opet osim pri podešavanju označene revizije.
Podesi vrednost laž
u slučaju ako još želite da urežete izmene u takve eksternal fajlove.
Ako ne želite da eksplorer uskladi status prekrivača dok se druga TortoiseSVN komanda izvršava ( npr. Uskladi, Ureži, ...) podesite ovu vrednost na istina
.
Da bi dodali keš ikonu za TSVNCashe program, postavite ovu vrednost na istina
. Ovo je stvarno korisno samo za programere kada vam ljubazno dozvoljavaju da završite program.
Dodatne kolone TortoiseSVN dodaje za detaljni pregled u Vindous Eksploreru su normalno aktivne samo u radnoj kopiji. Ako ih želite da budu dostupne bilo gde, ne samo u radnim kopijama, podesite vrednost istina
. Primetimo da su dodatne kolone dostupne samo u HP. Vista i kasniji uopšte ne podržavaju te osobine. Međutim neke zamene pretraživača od trećih lica podržavaju to čak i na Vindouzu posle HP.
Možete specificirati različitu lokaciju za Subverzioni konfiguracioni fajl. Ovo će uticati na sve TortoiseSVN operacije.
U većini dijaloga u TortoiseSVN, možete koristiti Ctrl+Enter da odbacite dijalog kao kad kliknete na OK taster.Ako ne želite ovo, podesite vrednost na laž
.
Podesite na istina
ako želite da dijalog iskoči za svaku komandnu liniju koja se koristi da se pokrene TortoiseProc.exe.
Podesite ovo na istina
ako želite TortoiseSVN da štampa poruke debagovanja tokom izvršenja. Poruke mogu biti pokupljene samo specijalnim alatom za debagovanje.
Uobičajeni format (vrednost 0) dijalog naslova je url/putanja - ime dijaloga - TortoiseSVN
. Ako podesite ovu vrednost na 1, format se menja u ime dijaloga - url/putanja - TortoiseSVN
TortoiseSVN dopušta da označite spoljašnji diff pregledač. Većina takvih pregledača, međutim, ne odgovara za izmenu okrivljavanja (odeljak pod imenom „Razlikeke okrivljavanja“), tako da možete želeti da se vratite TortoiseMerge u tom slučaju. Da biste to uradili kreirajte podesite ovu vrednost na istina
.
Ova vrednost određuje broj piksela koje dijalog ima da bude blizu granica koje dijalog pokriva. Uobičajena vrednost je 3. Da se onemogući ovo vrednost staviti da je nula.
Neke aplikacije menjaju veličinu slova imena fajlova bez upozorenja mada te izmene nisu stvarno neophodne niti su tražene. Na primer izmena od file.txt
u FILE.TXT
neće smetati običnim Vindouz aplikacijama, ali je Subverzija osetljiva na veličinu slova u ovom slučaju. Zbog toga TortoiseSVN automatski fiksira takve izmene veličine slova.
Ako ne želite da TortoiseSVN automatski fiksira izmene veličine slova za vas, možete podesiti ovu vrednost na false
.
Status list kontrola koja se koristi u raznim dijalozima (npr. urezivanje, provera-za-izmenama, dodavanje, vraćanje, ...) koriste izbor punog reda (tj. ako izaberete neki ulaz, pun red se izabere, ne samo prva kolona). Ovo je u redu, ali izabrani red pokriva sliku podloge desno dole, što izgleda ružno. Da bi se onemogućio izbor punog reda postavite vrednost na laž
.
Ova opcija određuje kako su Vin7 ikone na alatpultu različitih TortoiseSVN dijaloga i prozora grupisane zajedno. Ova opcija nema efekta na Visti!
Uobičajena vrednost je 0. Sa ovim podešavanjem, ikone su grupisane zajedno sa tipom aplikacije. Svi dijalozi TortoiseSVN su grupisani zajedno, svi prozori TortoiseSVN su grupisani zajedno, ...
Ako se setuje 1, onda umesto svih dijaloga u jednoj pojedinačnoj grupi po aplikaciji, grupišu se zajedno spremištem. Na primer, ako imate dijalog dnevnika i otvoren dijalog urezivanja za spremište A
, i dijalog provera-izmena i dijalog dnevnika za spremište B
, onda postoje dve grupe aplikacionih ikona prikazanih u Vin7, jedna grupa za za svako spremište. Ali Tortoisemerge prozori nisu grupisani zajedno sa TortoiseSVN dijalozima.
Ako se setuje 2, onda grupisanje radi kao da je setovano 1, osim što TortoiseSVN, TortoiseMerge, TortoiseBlame, TortoiseIDiff i TortoiseUDiff prozori su grupisani zajedno. Na primer, ako imate otvoren dijalog urezivanja i dvostruko kliknete izmenjen fajl, otvoreni TortoiseMerge dif prozor će postaviti istu grupu ikone na alatnom panelu kao ikona dijaloga urezivanja.
Ako se stavi 3, onda grupisanje radi kao da je stavljeno 1, ali grupisanje nije prema spremištu već prema radnoj kopiji. Ovo je korisno ako imate sve vaše projekte u istom spremištu ali različite radne kopije za svaki projekat.
Ako se stavi 4, onda grupisanje radi kao da je stavljeno 2, ali grupisanje nije dato prema spremištu već prema radnoj kopiji.
Ovo nema uticaja ako je opcija GroupTaskbarIconsPerRepo
setovana na 0 (vidi gore).
Ova opcija je podešena na istina
, onda svaka ikona na Vin7 alat pultu prikazuje mali obojeni kvadratni prekrivač, označavajući da su dijalozi/prozori zauzeti.
Ako je to podešeno na laž
, onda svaki svn:externals
je prikazan u toku usklađivanja posebno.
Ako je podešeno na istina
(uobičajeno), onda usklađena informacija za eksternale je prikazana samo ako se eksternalima pristupa pri usklađivanju, npr. ako se menjaju na neki način. U drugom slučaju je prikazana sa normalnim fajlovima i folderima.
If this is set to true
, then cancelling the dialog to approve a hook script to run will show an error dialog indicating the user cancelled.
Podrazumevano, TortoiseSVN uvek radi onavljanja sa uključenim eksternalima. Ovo isključuje probleme sa nekonzistentnim radnim kopijama. Ako međutim imate setovan deo eksternala obnavljanje može da uzme neko vreme. Podesite ovu vrednost na laž
da uradite podrazumevano obnavljanje sa isljučenim eksternalima. Da uskladite sa uključenim eksternalima, ili izvršite Uskladi sa revizijom...
dijalog ili podesite ovu vrednost na istina
ponovo.
Kada je dijalog pokrenut iz čarobnjaka stapanja već stopljene revizije su prikazane sivo, ali revizije iza tačke gde je grana kreirana su takođe prikazane. Ove revizije su prikazane crno jer se ne mogu stapati.
Ako je ova opcija podešena na istina
onda TortoiseSVN pokušava da nađe reviziju gde je grana kreirana i krije sve revizije iza te revizije. Zbog toga je taopcija uobičajeno isključena. Takođe, ta opcija ne radi sa nekim SVN serverima (npr. Gugle kode hosting, vidi issue #5471).
Format string za poruke dnevnika kada su višestruke revizije izabrane u dnevniku dijaloga.
Možete koristiti sledeće zamene u format stringu:
Dnevnik dijalog prikazuje putanju revizije radne kopije zacrnjeno. Alo ovo zahteva da dijalog dnevnika nađe status te putanje. Osim za veoma velike radne kopije ovo se brzu završi, možete podesiti vrednost na laž
da deaktivirate ovu osobinu.
Comboboxes for URLs and paths show a history of previously used URLs/paths if possible. This settings controls how many previous items are saved and shown. The default is 25 items.
Kada stapate revizije iz druge grane, i informacije praćenja stapanja su dostupne, dnevnik poruke iz revizija koje stapate se sakupljaju da naprave dnevnik poruku urezivanja. Predefinisani string se koristi da odvoji pojedinačne dnevnik poruke stopljenih revizija. Ako više volite, možete podesiti ovu vrednost da sadrži separator string po vašem izboru.
Ako želite da prikažete dif odjednom za više stavki nego je specificirano podešavanjem najpre se prikazuje dijalog upozorenja. Uobičajeno je 10.
TortoiseSVN proverava da li je dostupna nova verzija otprilike jednom nedeljno. Ako je nađena obnovljena verzija, dijalog urezivanja prikazuje link kontrolu sa informacijom. Ako volite da zadržite staro ponašanje gde dijalog iskače notirajući o obnavljanju podesite ovu vrednost na istina
.
Pretraživač spremišta pokušava da nađe veb stranicu koju je generisao SVN server konfigurisan sa SVNParentPat direktivom da se dobije lista spremišta. Da bi se onemogućilo takvo ponašanje postvite vrednost na laž
.
This option enables the bidirectional mode for the commit message edit box. If enabled, right-to-left language text editing is done properly. Since this feature is expensive, it is disabled by default. You can enable this by setting this value to true
.
Ova opcija omogućava korišćenje Direkt2D ubrzano crtanje u Scintila kontroli koja se koristi kao boks uređivanja u npr. dijalogu urezivanja, i takođe, za jedinstvene dif pregledače. Sa nekim grafik kartama, međutim, ovo ponekad ne radi ispravno tako da kursor za unos teksta nije uvek vidljiv. Ako se to desi možete isključiti ovu osobinu podešavanjem vrednosti na laž
.
This parameter specifies how TortoiseSVN behaves if a commit fails due to an out-of-date error:
The user is asked whether to update the working copy or not, and the commit dialog is not reopened after the update.
This is the default. The user is asked whether to update the working copy or not, and the commit dialog is reopened after the update so the user can proceed with the commit right away.
Similar to 1
, but instead of updating only the paths selected for a commit, the update is done on the working copy root. This helps to avoid inconsistent working copies.
The user is not asked to update the working copy. The commit simply fails with the out-of-date error message.
If set to true
, TortoiseSVN will play a system sound when an error or warning occurs, or another situation which is important and requires your attention. Set this to false
if you want to keep TortoiseSVN quiet. Note that the project monitor has its own setting for playing sounds, which you can configure in its settings dialog.
TortoiseSVN koristi akceleratore za svoje ulaze kontekst meni pretraživača. Kako ovo može dovesti do dubliranje skceleratora (npr. SVN Ureži
ima Alt-C akcelerator, ali isto je i sa Kopiranje
ulaz pretraživača). Ako ne želite ili vam treba alcelerator TortoiseSVN ulaza, podesite vrednost na laž
.
Ovo je korisno ako koristite nešto drugo osim vindouz eksplorera ili ako naiđete na probleme sa nekorektnim prikazom kontekstnog menija. Podesite ovu vrednost na laž
ako ne želite da TortoiseSVN prikazuje ikone stavke kontekst menija školjke. Podesite ovu vrednost na istina
da opet prikazuje ikone.
Ako ne želite da TortoiseSVN prikazuje ikone za kontekst meni u svom dijalogu podesite vrednost na laž
.
Set this value to false
if you don't want the project monitor to show notification popups when new commits are detected.
Urezivanje i dnevnik dijalog koriste stil (npr. bold, italik) u poruci urezivanja (vidi odeljak pod imenom „Urezivanje dnevnika poruka“ za detalje). Ako ne želite da to uradite podesite vrednost na laž
.
Ova vrednost sadrži URL iz koga TortoiseSVN pokušava da skine tekst fajl da bi našla da li je obnavljanje moguće. Ovo može biti korisno za administracije kompanija koji ne žele da njihovi korisnici obnavljaju TortoiseSVN dok oni ne odobre.
The standard edit controls do not stop on forward slashes like they're found in paths and urls. TortoiseSVN uses a custom word break procedure for the edit controls. If you don't want that and use the default instead, set this value to 0. If you only want the default for edit controls in combo boxes, set this value to 1.
TortoiseSVN proverava da li postoji dostupna nova verzija jedanput nedeljno.Ako ne želite da TortoiseSVN vrši ovu proveru podesite ovu vrednost na laž
.
Projekt monitor je pomoćni alat za nadgledanje spremišta i naznačava vam da imate novo urezivanje.
Projekat se može nadgledati preko putanje radne kopije ili direktno preko URLa spremišta.
Projektni monitor skenira svaki projekat u konfigurnom intervalu i svaki put kada se detektuju nova urezivanja notifikacioni prozor iskače. Takođe se menjaju ikone koje indiciraju da postoji novo urezivanje.
Ako je Snarl instaliran i aktivan projektni monitor automatski koristi Snarl da prikaže označavanje o nova detektovana urezivanja.
Ako najpre pokrenete projektni monitor trostruki pregled sa leve strane je prazan. Da dodate projekat kliknite na dugme na vrhu dijaloga nazvano
.
Da dodate projekat za posmatranje popunite zahtevane informacije. Ime projekta nije opciono i mora se upisati, sve ostale informacije su opcione.
Ako je boks za Putanja ili Url
ostao prazan onda je folder dodat. Ovo je korisno da se grupišu posmatrani projekti.
If you want to monitor all repositories served via the SVNParentPath directive, enter the root Url for your repositories and check the box Url points to SVNParentPath list
.
Samo polja Ime korisnika
i Lozinka
treba da budu popunjena ako spremište ne omogućava anonimni pristup čitanju i samo ako autentifikacija nije zapamćena samom Subverzijom. Ako pristupite nadgledanom spremištu pomoću TortoiseSVN ili drugim svn klijentima i već ste zapamtili autentifikaciju, morate ovo ostaviti praznim: ne možete urediti projekat ručno ako se lozinka promeni.
Interval monitora u minutima
specificira minute čekanja između provera.
Ako postoji puno korisnika koji nadgledaju isto spremište a propusni opseg servera je ograničen administrator spremišta može podesiti minimum intervala provere koristeći svnrobots.txt
fajl. Detaljno objašnjenje kako ovo radi može se naći na vebsajtu projekt monitora.
Projekt monitor prikazuje sve nadgledane projekte levo na trostrukom pregledu. Projekat se može pomerati okolo, na primer jedan projekat se može pomeriti ispod drugog projekta načinvši ga potomak/podprojekat.
Klik na projekat prikazuje sve poruke dnevnika projekta sa dene strane.
Projekti koji su usklađeni prikazani su podebljano sa brojem novih urezivanja u zagradama sa desne strane. Klik na projekat automatski ga označava kao pročitan.
Alat panel na vrhu dijaloga omogućava da se konfiguriše i izvršava projektni monitor.
Dok se svaki posmatrani projekat proverava saglasno intervalu koji je podešen, kliktanjem na ovo dugme forsiraće proveru svih projekata trenutno. Primetimo da ako ima usklađivanja označavanje neće biti prikazano sve dok se projekat ne proveri.
Otvara novi dijalog da se podesi novi projekat za nadgledanje.
Otvara konfiguracioni dijalog za izabrani projekat.
Uklonite izabrani projekat posle potvrđivanja prikazanog dijaloga.
Označi sve revizije u svim projektima za čitanje. Primetimo da ako izaberete projekat sa revizijom koja nije za čitanje, ove revizije su automatski označene za čitanje kada izaberete drugi projekat.
Ako držite Shift taster dok kliknete dugme sva pogrešna stanja su takođe obrisana ako neko postoji.
Izvršite Uskladi na svim posmatranim radnim kopijama. Projekti koji se nadgledaju preko url nisu usklađeni, samo oni koji su usklađeni sa putanjom radne kopije.
Prikazuje dijalog za konfiguraciju ponašanja nadgledanja projekta.
SubWCRev je Vindouz konzolni program koji se može koristiti da se pročita status Subverzione radne kopije i omogući zamena ključnih reči u fajl šablonu. Ovo se često koristi kao deo procesa izrade u značenju unošenja informacije radne kopije u objekat koji izrađujete. Tipično to može biti korišženo da se uključi revizioni broj u „Opis programa“ boks.
SubWCRev čita Subverzioni status svih fajlova u radnoj kopiji, izostavljajući spoljašnje podrazumevano. Zapisuje najveći nađen broj urezane revizije, i vremensku oznaku urezivanja te revizije. Takođe zapisuje da li postoje lokalne izmene u radnoj kopiji, ili pomešano obnavljanje revizije. Revizioni broj, opseg obnavljanja revizija i status izmena su prikazani na stdout.
SubWCRev.exe je pozvan iz komandne linije ili skripte, i kontrolisan je parametrima komandne linije.
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
WorkingCopyPath
je putanja do radne kopije koja se proverava. Možete samo koristiti SubWCRev na radnim kopijama, ne direktno na spremištu. Putanja može biti apsolutna ili relativna ka tekućem radnom folderu.
Ako želite SubWCRev da izvrši zamenu ključne reči, ta polja kao reviziju spremišta i URL se čuvaju u tekst fahlu, potrebno je da obezbedite šablon fajl SrcVersionFile
i izlazni fajl DstVersionFile
koji sadrže zamenjenu verziju modela.
Možete specificirati model zanemarivanja ѕa SubVCrev da se preduprede specifični fajlovi i putanje da budu razmatrani. Modeli se čitaju iz fajla nazvanog .subwcrevignore
. Fajl se čita sa specifične putanje i takođe iz korena radne kopije. Ako fajl ne postoji ne zanemaruju se fajlovi i putanje. Fajl .subwcrevignore
može sadržati više modela, razdvojene novom linijom. Modeli se sparuju prema putanji relativno korenu spremišta i putanje relativno putanji .subwcrevignore
fajla. Na primer, da se zanemare svi fajlovi u doc
folderu TortoiseSVN radne kopije, .subwcrevignore
će sadržati sledeće linije:
/trunk/doc /trunk/doc/*
Or, assuming the .subwcrevignore
file is in the working copy root which is checked out from trunk, using the patterns
doc doc/*
is the same as the example above.
Da se zanemare sve slike, model zanemarivanja treba podesiti da izgleda kao:
*.png *.jpg *.ico *.bmp
Zanemareni šabloni su zavisni od veličine slova, kao što je Subverzija.
Da se kreira fajl sa početnom tačkom u Vindous pretraživaču, unesi .subwcrevignore.
. Primetimo vodeću tačku.
Postoji veliki broj opcionih prekidača koji utiču na način rada SubWCRev. Ako koristite više od jednog on mora biti specificiran kao pojedinačna grupa, npr. -nm
, ne -n -m
.
Tabela 6.1. Lista dostupnih prekidača komandne linije
Zamena | Opis |
---|---|
-n | Ako je ovaj prekidač dat, SubWCRev će izaći sa NIVOGREŠKE 7 ako radna kopija sadrži lokalne izmene. Ovo može biti korišćeno da se predupredi izrada sa neurezanim izmenama koje su prisutne. |
-N | Ako je ovaj prekidač dat, SubVCRev će se završiti sa ERRORLEVEL 11 ako radna kopija sadrži neverzionisane stavke koje nisu ignorisane. |
-m | Ako je ovaj prekidač dat, SubWCRev će izaći sa NIVOGREŠKE 8 ako radna kopija sadrži pomešane revizije. Ovo se može koristiti da se spreči izrada sa parcijalno obnovljenom radnom kopijom. |
-d | Ako je ovaj prekidač dat, SubWCRev će izaći sa NIVOGREŠKE 9 ako destinacioni fajl već postoji. |
-f | Ako je ovaj prekidač dat, SubWCRev će uključiti zadlju-izmenjenu reviziju foldera. Podrazumevano ponašanje je da se koriste samo fajlovi kada se uzimaju revizioni brojevi. |
-e | Ako je ovaj prekidač dat, SubWCRev će pregledati foldere koji su uključeni sa svn:externals , ali samo ako su iz istog spremišta. Podrazumevano ponašanje je da se zanemare eksternali. |
-E | Ako je ovaj prekidač dat, isti kao -e , ali on zanemaruje eksternale sa eksplicitnom revizijom, kada je opseg revizija unutar njega je samo data eksplicitna revizija u osobinama. Tako da to ne vodi ka izmešanim revizijama. |
-x | Ako je ovaj prekidač dat, SubWCRev će dati na izlazu revizione brojeve u HEKS. |
-X | Ako je ovaj prekidač dat, SubWCRev će dati na izlazu revizione brojeve u HEKS, sa '0X' ispred. |
-F | Ako je ovaj prekidač dat, SubWCRev će ignorisati bilo koje .subwcrevignore fajlove i obuhvata sve fajlove. |
-q | Ako je ovaj prekidač dat, SubVCRev će izvršiti zamenu ključnih reči bez prikazivanja statusa radne kopije na stdout. |
Ako nema greške, SubVCRev vraća nulu. Ali u slučaju pojave greške poruka o grešci je ispisana na stderr i prikazana je na konzoli. Povratni kodovi greške su:
Tabela 6.2. Lista SubVCRev kodova grešaka
Kod greške | Opis |
---|---|
1 | Sintaksna greška. Jedna ili više parametara komandnie linije su neispravni. |
2 | Fajl ili folder specificiran u komandnoj liniji nije nađen. |
3 | Ulazni fajl ne može biti otvoren, ili ciljni fajl ne može biti kreiran. |
4 | Ne može alocirati memoriju. Ovo će se desiti npr. ako je izvorni fajl suviše veliki. |
5 | Izvorni fajl ne može biti ipravno skeniran. |
6 | SVN greška: Subverzija je vraćena sa greškpm kad SubVCRev pokušava da nađe informacije iz radne kopije. |
7 | Radna kopija ima lokalne izmene. Ovo zahteva -n preklopnik. |
8 | Radna kopija ima izmešane revizije. Ovo zahteva -m preklopnik. |
9 | Izlazni fajl već postoji. Ovo zahteva -d preklopnik. |
10 | Specificirana putanja nije radna kopija ili njen deo. |
11 | Radna kopija je imala neverzionisane fajlove i foldere u sebi. Ovo zahteva -N prekidač. |
Ako su izvorni i odredišni fajlovi snabdeveni, SubWCRev kopira izvor u odredište, izvršavajući zamenu ključnih reči na sledeći način:
Tabela 6.3. Lista dostupnih ključnih reči
Ključna reč | Opis |
---|---|
$WCREV$ | Zamenjeno najvišom urezanom revizijom u radnoj kopiji. |
$WCREV&$ | Zamenjeno najvišom urezanom revizijom u radnoj kopiji. Dodato sa vrednošću posle & karaktera. Na primer: $WCREV&0xFFFF$ |
$WCREV-$, $WCREV+$ | Zamenjeno najvišom urezanom revizijom u radnoj kopiji, sa vrednošću posle + ili - karaktera dodatoj ili oduzetoj. Na primer: $WCREV-1000$ |
$WCDATE$, $WCDATEUTC$ | Zamenjeno sa datum/vreme urezivanja najviše revizije urezivanja. Uobičajeno, internacionalni format je korišćen. yyyy-mm-dd hh:mm:ss . Alternativno, možete specificirati prilagođeni format koji se može koristiti sa strftime() , na primer: $WCDATE=%a %b %d %I:%M:%S %p$ . Za listu dostupnih formating karaktera pogledajte na onlajn reference. |
$WCNOW$, $WCNOWUTC$ | Zamenjeno sa tekućim sistemskim datum/vreme. Ovo se može koristiti da označi vreme izrade. Formatiranje se može koristiti kao opisano za $WCDATE$ . |
$WCRANGE$ | Zamenjeno sa opsegom obnovljenih revizija u radnoj kopiji. Ako je radna kopija u konzistentnom stanju ovo je pojedinačna revizija. Ako radna kopija sadrži mešane revizije, ili zbog toga što je zastarela, ili zato što planski obnovljena-ka-reviziji, onda će opseg biti prikazan u obliku 100:200. |
$WCMIXED$ | $WCMIXED?TText:FText$ je zamenjen sa TTekst ako postoji pomešane obnovljene revizije, ili FTekst ako ne. |
$WCMODS$ | $WCMODS?TText:FText$ je zamenjeno sa TTekst ako postoje lokalne izmene, ili FTekst ako ne. |
$WCUNVER$ | $WCUNVER?TText:FText$ je zamenjen sa TTekst ako postoje neverzionisane stavke u radnoj kopiji, ili FTekst ili ne. |
$WCEXTALLFIXED$ | $WCEXTALLFIXED?TText:FText$ je zamenjeno sa TTekst ako su svi eksternali fiksirani na eksplicitnu reviziju, ili FTekst ako nisu. |
$WCISTAGGED$ | $WCISTAGGED?TText:FText$ je zamenjen sa TTekst ako URL spremišta sadrži znakeklasifikacionih šablona, ili FTekst ako ne sadrži. |
$WCURL$ | Zamenjeno sa spremišta URL putanje radne kopije poslate u SubWCRev. |
$WCINSVN$ | $WCINSVN?TText:FText$ je zamenjeno sa TTekst ako je ulaz verzionisan, ili FTekst ako nije. |
$WCNEEDSLOCK$ | $WCNEEDSLOCK?TText:FText$ je zamenjeno sa TTekst ako ulaz ima svn:needs-lock podešenu osobinu, ili FTekst ako nije. |
$WCISLOCKED$ | $WCISLOCKED?TText:FText$ je zamenjeno sa TTekst ako je ulaz zaključan, ili FTekst ako nije. |
$WCLOCKDATE$, $WCLOCKDATEUTC$ | Zamenjeno sa datumom zaključavanja. Formatiranje može biti korišćeno kako je opisano u $WCDATE$ . |
$WCLOCKOWNER$ | Zamenjeno imenom vlasnika katanca. |
$WCLOCKCOMMENT$ | Zamenjeno komentarom katanca. |
$WCUNVER$ | $WCUNVER?TText:FText$ je zamenjen sa TTekst ako postoje neverzionisani fajlovi u radnoj kopiji, ili FTekst ako ne. |
SubWCRev direktno ne podržava ugnježdenje izraza, tako na primer ne možete koristiti izraz kao:
#define SVN_REVISION "$WCMIXED?$WCRANGE$:$WCREV$$"
ali možete uobičajeno raditi oko njega sa drugima, na primer:
#define SVN_RANGE $WCRANGE$ #define SVN_REV $WCREV$ #define SVN_REVISION "$WCMIXED?SVN_RANGE:SVN_REV$"
Neki od ovih ključnih reči su primenjene na pojedinačne fajlove pre nego na celu radnu kopiju, tako da to samo čini osećaj da koriste ovo dok je SubWCRev pozvan da pregleda pojedinačni fajl. Ovo se primenjuje na $WCINSVN$
, $WCISLOCKED$
, $WCLOCKDATE$
, $WCLOCKOWNER$
i $WCLOCKCOMMENT$
.
Sledeći primer prikazuje kako ključne reči u šablon fajlu budu zamenjene u izlazom fajlu.
// Test file for SubWCRev char *Revision = "$WCREV$"; char *Revision16 = "$WCREV&0xFF$"; char *Revisionp100 = "$WCREV+100$"; char *Revisionm100 = "$WCREV-100$"; char *Modified = "$WCMODS?Modified:Not modified$"; char *Unversioned = "$WCUNVER?Unversioned items found:no unversioned items$"; char *Date = "$WCDATE$"; char *CustDate = "$WCDATE=%a, %d %B %Y$"; char *DateUTC = "$WCDATEUTC$"; char *CustDateUTC = "$WCDATEUTC=%a, %d %B %Y$"; char *TimeNow = "$WCNOW$"; char *TimeNowUTC = "$WCNOWUTC$"; char *RevRange = "$WCRANGE$"; char *Mixed = "$WCMIXED?Mixed revision WC:Not mixed$"; char *ExtAllFixed = "$WCEXTALLFIXED?All externals fixed:Not all externals fixed$"; char *IsTagged = "$WCISTAGGED?Tagged:Not tagged$"; char *URL = "$WCURL$"; char *isInSVN = "$WCINSVN?versioned:not versioned$"; char *needslck = "$WCNEEDSLOCK?TRUE:FALSE$"; char *islocked = "$WCISLOCKED?locked:not locked$"; char *lockdateutc = "$WCLOCKDATEUTC$"; char *lockdate = "$WCLOCKDATE$"; char *lockcustutc = "$WCLOCKDATEUTC=%a, %d %B %Y$"; char *lockcust = "$WCLOCKDATE=%a, %d %B %Y$"; char *lockown = "$WCLOCKOWNER$"; char *lockcmt = "$WCLOCKCOMMENT$"; #if $WCMODS?1:0$ #error Source is modified #endif // End of file
Posle izvršenja SubWCRev.exe path\to\workingcopy testfile.tmpl testfile.txt
,izlazni fajl testfile.txt
će izgledati kao ovo:
// Test file for SubWCRev char *Revision = "22837"; char *Revision16 = "53"; char *Revisionp100 = "22937"; char *Revisionm100 = "22737"; char *Modified = "Modified"; char *Unversioned = "no unversioned items"; char *Date = "2012/04/26 18:47:57"; char *CustDate = "Thu, 26 April 2012"; char *DateUTC = "2012/04/26 16:47:57"; char *CustDateUTC = "Thu, 26 April 2012"; char *TimeNow = "2012/04/26 20:51:17"; char *TimeNowUTC = "2012/04/26 18:51:17"; char *RevRange = "22836:22837"; char *Mixed = "Mixed revision WC"; char *ExtAllFixed = "All externals fixed"; char *IsTagged = "Not tagged"; char *URL = "https://svn.code.sf.net/p/tortoisesvn/code/trunk"; char *isInSVN = "versioned"; char *needslck = "FALSE"; char *islocked = "not locked"; char *lockdateutc = "1970/01/01 00:00:00"; char *lockdate = "1970/01/01 01:00:00"; char *lockcustutc = "Thu, 01 January 1970"; char *lockcust = "Thu, 01 January 1970"; char *lockown = ""; char *lockcmt = ""; #if 1 #error Source is modified #endif // End of file
Ovakav fajl će biti uključen u izradu tako da možete očekivati da je verzionisan. Budite sigurni da verzionišete šablon fajl, ne generisani fajl, u drugom slučaju svaki put kad generišete verzionisan fajl moraćete da urezujete izmene, što ne znači da verzion fajl treba da bude obnovljen.
Ako treba da pristupite Subverzijinoj reviziojinoj informaciji iz drugih programa, možete koristiti COM interfejs SubWCRev. Objekat koji se kreira je SubWCRev.object
, i sledeći metodi su podržani:
Tabela 6.4. COM/automatizacija metode podržane
Metod | Opis |
---|---|
.GetWCInfo | Ovaj metod prelazi radnu kopiju sakupljajući revizione informacije. Prirodno morate ovo pozvati pre nego pristupite informacijama koristeći preostale motode. Prvi parametar je putanja. Drugi parametar treba da bude istinit ako želite da uključite reviziju foldera. Ekvivalent sa -f prekidačima komandne linije. Treći parametar treba da bude istina ako želite da uključite svn:externals. Ekvivalent sa -e prekidačima komandne linije. |
.GetWCInfo2 | Isto kao GetWCInfo() ali sa četvrtim parametrom koji se podešava isto kao -E prekidač komandne linije. |
.Revision | Najviša urezana revizija u radnoj kopiji. Ekvivalent sa $WCREV$ . |
.Date | Urezivanje datm/vreme najviše urezane revizije. Ekvivalent sa $WCDATE$ . |
.Author | Autor najviše urezane revizije, to je, poslednja osoba koja je urezala izmene u radnu kopiju. |
.MinRev | Minimum obnovljena revizija, kao što je prikazano u $WCRANGE$ |
.MaxRev | Maksimum obnovljena revizija, kao što je prikazano u $WCRANGE$ |
.HasModifications | Tačno ako postoji lokalna izmena |
.HasUnversioned | Istina ako postoje neverzionisane stavke |
.Url | Zamenjeno sa spremištem URL putanje radne kopije korišćene u GetVCInfo . Ekvivalent sa $WCURL$ . |
.IsSvnItem | Istina ako je stavka verzionisana. |
.NeedsLocking | Istina ako stavka ima svn:needs-lock podešenu osobinu. |
.IsLocked | Istina ako je stavka zaključana. |
.LockCreationDate | String koji reprezentuje datum kada je katanac kreiran, ili prazan string ako stavka nije zaključana. |
.LockOwner | String koji rprezentuje vlasnika katanca, ili prazan string ako stavka nije zaključana. |
.LockComment | Poruka uneta kada je katanac kreiran. |
Sledeći primer prikazuje kako interfejs može da se koristi.
// testCOM.js - javascript file // test script for the SubWCRev COM/Automation-object filesystem = new ActiveXObject("Scripting.FileSystemObject"); revObject1 = new ActiveXObject("SubWCRev.object"); revObject2 = new ActiveXObject("SubWCRev.object"); revObject3 = new ActiveXObject("SubWCRev.object"); revObject4 = new ActiveXObject("SubWCRev.object"); revObject1.GetWCInfo( filesystem.GetAbsolutePathName("."), 1, 1); revObject2.GetWCInfo( filesystem.GetAbsolutePathName(".."), 1, 1); revObject3.GetWCInfo( filesystem.GetAbsolutePathName("SubWCRev.cpp"), 1, 1); revObject4.GetWCInfo2( filesystem.GetAbsolutePathName("..\\.."), 1, 1, 1); wcInfoString1 = "Revision = " + revObject1.Revision + "\nMin Revision = " + revObject1.MinRev + "\nMax Revision = " + revObject1.MaxRev + "\nDate = " + revObject1.Date + "\nURL = " + revObject1.Url + "\nAuthor = " + revObject1.Author + "\nHasMods = " + revObject1.HasModifications + "\nIsSvnItem = " + revObject1.IsSvnItem + "\nNeedsLocking = " + revObject1.NeedsLocking + "\nIsLocked = " + revObject1.IsLocked + "\nLockCreationDate = " + revObject1.LockCreationDate + "\nLockOwner = " + revObject1.LockOwner + "\nLockComment = " + revObject1.LockComment; wcInfoString2 = "Revision = " + revObject2.Revision + "\nMin Revision = " + revObject2.MinRev + "\nMax Revision = " + revObject2.MaxRev + "\nDate = " + revObject2.Date + "\nURL = " + revObject2.Url + "\nAuthor = " + revObject2.Author + "\nHasMods = " + revObject2.HasModifications + "\nIsSvnItem = " + revObject2.IsSvnItem + "\nNeedsLocking = " + revObject2.NeedsLocking + "\nIsLocked = " + revObject2.IsLocked + "\nLockCreationDate = " + revObject2.LockCreationDate + "\nLockOwner = " + revObject2.LockOwner + "\nLockComment = " + revObject2.LockComment; wcInfoString3 = "Revision = " + revObject3.Revision + "\nMin Revision = " + revObject3.MinRev + "\nMax Revision = " + revObject3.MaxRev + "\nDate = " + revObject3.Date + "\nURL = " + revObject3.Url + "\nAuthor = " + revObject3.Author + "\nHasMods = " + revObject3.HasModifications + "\nIsSvnItem = " + revObject3.IsSvnItem + "\nNeedsLocking = " + revObject3.NeedsLocking + "\nIsLocked = " + revObject3.IsLocked + "\nLockCreationDate = " + revObject3.LockCreationDate + "\nLockOwner = " + revObject3.LockOwner + "\nLockComment = " + revObject3.LockComment; wcInfoString4 = "Revision = " + revObject4.Revision + "\nMin Revision = " + revObject4.MinRev + "\nMax Revision = " + revObject4.MaxRev + "\nDate = " + revObject4.Date + "\nURL = " + revObject4.Url + "\nAuthor = " + revObject4.Author + "\nHasMods = " + revObject4.HasModifications + "\nIsSvnItem = " + revObject4.IsSvnItem + "\nNeedsLocking = " + revObject4.NeedsLocking + "\nIsLocked = " + revObject4.IsLocked + "\nLockCreationDate = " + revObject4.LockCreationDate + "\nLockOwner = " + revObject4.LockOwner + "\nLockComment = " + revObject4.LockComment; WScript.Echo(wcInfoString1); WScript.Echo(wcInfoString2); WScript.Echo(wcInfoString3); WScript.Echo(wcInfoString4);
Sledeći primer prikazuje kako interfejs može da se koristi SubVCRev COM objekat iz C#:
using LibSubWCRev; SubWCRev sub = new SubWCRev(); sub.GetWCInfo("C:\\PathToMyFile\\MyFile.cc", true, true); if (sub.IsSvnItem == true) { MessageBox.Show("versioned"); } else { MessageBox.Show("not versioned"); }
Da bi dobili čvršću integraciju sa problem tragačem jednostavnim korišćenjem bugtraq:
osobina, TortoiseSVN može učiniti korišćenje COM jezička. Sa takvim jezičkom moguće je naći informaciju direktno iz problem tragača, interakcija sa korisnikom i obezbeđivanje informacioni povratak na TortoiseSVN o otvorenim problemima, verifikuje dnevnik poruke koje uneo korisnik i čak izvršne akcije posle uspešnog urezivanja npr. zatvaranje problema.
Ne možemo obezbediti informaciju i tutorijale o tome kako da primenite COM objekte u vašim izabranim programskim jezicima, ali imamo primere jezičkaa u C++/ATL i C# u vašem spremištu u contrib/issue-tracker-plugins
folder. U folderu možete takođe naći željene fajlove za uključivanje koji su vam potrebni da napravite jezičak. (odeljak pod imenom „Licence“ objašnjava kako pristupiti spremištu.)
Treba obezbediti obe verzije jezičkaa, i 32-bitnu i 64-bitnu. Pošto h64-Verzija TortoiseSVN ne može koristiti 32-bitne jezičke i obratno.
Ako realizujete problem tragač plagin za TortoiseSVN molim vas nemojte ih označiti Tortoise<Something>. Voleli bi da rezervišemo Tortoise prefiks za klijente kontrole verzija integrisane u školjci vindousa. Na primer: TortoiseCVN, TortoiseSVN, TortoiseHg i TortoiseBzr su svi klijenti kontrole verzija.
Molim vas označite vaš plagin za Tortoise klijent Turtle<Something>, gde <Something> ukazuje na problem tragač na koji se spajate. Alternativno izaberite ime koje zvuči kao Turtle ali ima različito prvo slovo. Lepi primeri su:
Gurtle - Problem tragač plagin za Google kod
TurtleMine - Problem tragač plagin za Redmine
VurtleOne - Problem tragač plagin za VersionOne
TortoiseSVN 1.5 i kasnije mogu koristiti jezičke koji implementiraju IBagtagačSnabdevač interfejs. Interfejs obezbeđuje nekoliko metoda čiji jezičci se mogu koristiti da interaguju sa problem tragačem.
HRESULT ValidateParameters ( // Predački prozor za bilo koji UI koji ga zahteva da //bude prikazan u toku vrednovanja. [in] HWND hParentWnd, // Parametar string koji treba da bude vrednovan. [in] BSTR parameters, // Da li je string valjan? [out, retval] VARIANT_BOOL *valid );
Ovaj metod je pozvan iz dijaloga podešavanja gde korisnik može dodati i konfigurisati jezičak. String parametri
se mogu koristiti jezičkom da se dobije dodatna zahtevana informacija, npr. URL ka problem tragaču, dnevnik informacija, itd. Jezičak treba da verifikuje string parametrima
i prikazuje dijalog greške ako string nije valjan. Parametar hParentWnd
treba da se koristi za svaki dijalog jezičak se prikazuje kao predački prozor. Plagin mora vratiti ISTINU ako vrednovanje string parametara
bude zadovoljavajuće. Ako plagin vrati LAŽ dijalog podešavanja ne može dopustiti korisniku da doda jezičak u putanju radne kopije.
HRESULT GetLinkText ( // Predački prozor za svaki (pogrešan) UI koji traži da bude prikazan. [in] HWND hParentWnd, // Parametar string, upravo u slučaju kada vam je potrebno // da se obratite vašem veb servisu (npr.) da nađete koji je korektan tekst. [in] BSTR parameters, // Koji tekst želite da prikažete? //Koristite tekuću lokalnu nit. [out, retval] BSTR *linkText );
Jezičak može dati string koji se koristi u TortoiseSVN dijalogu urezivanja za dugmiće koji pozivaju jezičke, npr. "Izaberi problem" ili "Izaberi kartu". Budite sigurni da string nije suviše dugačak, drugačije to ne može biti ubačeno u dugme. Ako metod vraća grešku (npr. E_NOTIMPL
), podrazumevani tekst se koristi za dugme.
HRESULT GetCommitMessage ( // Predački prozor za UI snabdevača. [in] HWND hParentWnd, //Parametri za vašeg snabdevača. [in] BSTR parameters, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Tekst već prisutan u poruci urezivanja. // Vaš snabdevač treba da uključi ovaj tekst u novu poruku, // gde odgovara. [in] BSTR originalMessage, // Novi tekst za poruku urezivanja. // Ovo zamenjuje originalnu poruku. [out, retval] BSTR *newMessage );
Ovo je glavnimetod za jezičke.Ovaj metod se poziva iz TortoiseSVNdijaloga urezivanja kada korisnikklikne na dugme jezička.
String parametri
je string koji je korisnik uneou dijalogu podešavanja kada konfiguriše jezičak. Obično jezičak će koristiti ovo danađe URL problem tragača i/ili login informacije ili više.
String zajedničkiKoren
sadrži predačku putanju svih stavki izabranih da sakupe dijalog urezivanja. Primetimo da to nije korena putanja svih stavki koje je korisnik izabraoudijalogu urezivanja.Za grana/oznaka dijalogovo je putanja koja ćebiti kopirana.
Parametar putanjaLista
sadrži oblast putanja (kao stringove) koje je korisnik izabrao za urezivanje.
Parameta originalnaPoruka
sadrži tekst unet u boks dnevnika poruka u dijalogu urezivanja.Ako korisnik još nije uneobilo kakav tekst ovaj stringće biti prazan.
Povratni string novaPoruka
je kopirana u boks uređenja dnevnika poruka udijalogu urezivanja, zamenjujući štgod da je tamo. Ako jezičak ne menja string originalna Poruka
mora opet vratiti isti string, s druge strane svaki tekst koji je korisnik uneo biće izgubljen.
U TortoiseSVN 1.6 novi interfejs je dodat da omogući veću funkcionalnost jezička. Ovaj IBagtragačSnabdevač2 interfejs proizilazi iz IBagtragačSnabdevač.
HRESULT GetCommitMessage2 ( // Predački prozor za vaš UI snabdevač. [in] HWND hParentWnd, // Parametri za vašeg snabdevača. [in] BSTR parameters, // Zajednički URL urezivanjat [in] BSTR commonURL, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Tekst koji već postoji u poruci urezivanja. // Vaš snabdevač bi trebao da uključi ovaj tekst u novu poruku, // gde to odgovara. [in] BSTR originalMessage, // Možete označiti obične osobine revizije za urezivanje // podešavanjem sledeća dva parametra. // primedba: Obe sigurnosne oblasti moraju biti iste dužine. // Za svako ime osobine mora biti vrednost osobine! // sadržaj bagID polja (ako je prikazano) [in] BSTR bugID, // izmenjeni sadržaj bagID polja [out] BSTR * bugIDOut, // Lista imena osobina revizije [out] SAFEARRAY(BSTR) * revPropNames, // Lista imena vrednosti revizije [out] SAFEARRAY(BSTR) * revPropValues, //Novi tekst za poruku urezivanja. // Ovo zamenjuje originalnu poruku. [out, retval] BSTR * newMessage );
Ovaj metod je pozvan iz TortoiseSVN dijalogaurezivanja kada korisnik klikne na dugme jezička. Metod se poziva umesto GetCommitMessage()
. Molim uporedite sa dokumentacijom za GetCommitMessage
zaparametre koji su ovde korišćeni.
Parametar zajedničkiURL
je predački URL svih stavki izabranih da dovedu dijalog urezivanja. Ovo je osnovni URL zajedničkiKoren
putanja.
Parametar bugID
sadrži sadržaj bug-ID polja (ako je prikazano, konfigurisano sa osobinom bugtrak:poruka
).
Povratni parametar bugIDOut
iskorišćen je da popuni bug-ID polje kada metod vrati vrednost.
Povratni parametri revPropImena
i revPropVrednosti
mogu sadržati ime/vrednost parove za revizione osobine koje će urezivanje podesiti. Jezičak mora biti siguran da obe površine imaju istuveličinu!Svako ime osobine revPropImena
moraju takođe imati odgovarajuće vrednosti u revPropVrednosti
. Ako nema revizionih osobina da supodešena jezičak mora da vrati praznu oblast.
HRESULT CheckCommit ( [in] HWND hParentWnd, [in] BSTR parameters, [in] BSTR commonURL, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, [in] BSTR commitMessage, [out, retval] BSTR * errorMessage );
Ovaj metod je pozvan baš pre nego se dijalog urezivanja zatvori i urezivanje počne. Jezičak može koristiti ovaj metod da se vrednuju izabrani fajlovi/imeniciza urezivanje i/ili poruke urezivanje koje je uneo korisnik. Parametri su isti kao za GetCommitMessage2()
, sa razlikom da je zajedničkiURL
sada zajednički URL svih izabranih stavki, i zajedničkiKoren
je korena putanjasvih izabranih stavki.
Za grana/oznaka dijalog zajedničkiURL
je izvorni url kopije, i zajedničkiKoren
je podešen za ciljni url kopije.
Povratni parametar greškaPoruka
mora da sadrži ili poruku greške koju TortoiseSVN prikazuje korisnicima ili da bude prazan pri startu urezivanja. Ako se vrati poruka o grešciTortoiseSVN prikazuje string greške u dijalogu i čuva dijalogurezivanja otvorenim tako da korisnik može napraviti ispravke kada je nešto pogrešno. Jezičak trba da vrati string greške koji obaveštava korisnika šta je loše ikako da se to ispravi.
HRESULT OnCommitFinished ( // Predački prozor za svaki (pogrešan) UI koji // treba da bude prikazan. [in] HWND hParentWnd, // Zajednički koren svih putanja za urezivanje. [in] BSTR commonRoot, // Sve putanje koje su urezane. [in] SAFEARRAY(BSTR) pathList, // Tekst već prisutan pri urezivanju poruka. [in] BSTR logMessage, // Revizija urezivanja. [in] ULONG revision, // Greška za prikazivanje korisniku ako // funkcija vrati nešto osim S_OK [out, retval] BSTR * error );
Ovaj metod se poziva posle uspešnog urezivanja. Jezičak može koristiti ovaj metod da npr. zatvori izabranu stavku i doda informaciju o urezivanju uz stavku. Parametri su isti kao za GetCommitMessage2
.
HRESULT HasOptions( // Da li snabdevač omogućava opcije [out, retval] VARIANT_BOOL *ret );
Ovaj metod se poziva iz dijaloga podešavanja gde korisnik može da konfiguriše jezičke. Ako sam jezičak obezbeđuje sopstveni dijalog konfigurisanja sa ShowOptionsDialog
, on mora ovde da vrati ISTINA, u drugom slučaju mora da vrati LAŽ.
HRESULT ShowOptionsDialog( // Predački prozor za dijalog opcija [in] HWND hParentWnd, // Parametri za vašeg snabdevača. [in] BSTR parameters, // String parametara [out, retval] BSTR * newparameters );
Ovaj metod se poziva iz dijaloga podešavanjakada korisnik klikne na dugme "Opcije" što je prikazano ako ImaOpcija
vrati ISTINA. Jezičak može prikazati dijalog opcija da korisniku olakša konfigurisanje jezička.
String parametri
sadrži string parametara jezička koji su podešeni/uneti.
Povratni parametar newparameters
mora da sadrži string parametara koje jezičak konstruiše iz informacija sakupljenih u dijalogu opcija. String parametara
se šalje svim drugim IBagtragačSnabdevačima i IBagtragačSnabdevač2 metodima.
Because TortoiseSVN is being developed all the time it is sometimes hard to keep the documentation completely up to date. We maintain an online FAQ which contains a selection of the questions we are asked the most on the TortoiseSVN mailing lists https://groups.google.com/forum/#!forum/tortoisesvn and https://groups.google.com/forum/#!forum/tortoisesvn-dev
Ako imate pitanje na koje nije odgovoreno bilo gde drugde, najbolje mesto da pitate je jedna od mejling lista:
https://groups.google.com/forum/#!forum/tortoisesvn is the one to use if you have questions about using TortoiseSVN.
If you want to help out with the development of TortoiseSVN, then you should take part in discussions on https://groups.google.com/forum/#!forum/tortoisesvn-dev
Sadržaj
Dodatak sadrži rešenje problema/pitanja koja možete imati dok koristite TortoiseSVN.
Pomeranje/Kopiranje pojedinčnih fajlova može biti urađeno korišćenjem
→ . Ali ako želite pomeri/kopiraj mnogo fajlova, ovaj način je suviše spor i zahteva mnogo rada.Preporučen način je pomoću desno vučenje fajlova u novu lokaciju. Jednostavno desni klik na fajlove koje želite da se pomere/kopiraju bez otpuštanja dugmeta miša. Zatim vucite fajlove u novu lokaciju i otpustite dugme miša. Kontekst meni će se pojaviti gde možete ili izabrati → . ili → .
Postoji dva načina da se spreče korisnici da urezuju sa praznom dnevnik porukom. Jedan je specifičan za TortoiseSVN, drugi radi za sve Subverzione klijente, ali zahteva pristup serveru direktno.
Ako imate direktan pristup serveru spremišta, možete instalirati pre-urezivanja zakačiv skript koji odbija sva urezivanja sa praznom ili suviše kratkom dnevnik porukom.
U folderu spremišta na serveru postoji sub-folder hooks
koji sadrži neke primere zakačivih skripti koje možete koristiti. Fajl pre-commit.tmpl
sadrži jednostavan skript koji odbija urezivanje ako nema dnevnik poruke upisane, ili je poruka suviše kratka. Fajl takođe sadrži komentar kako da instalirate/koristite ovaj skript. Samo pratite instrukcije u tom fajlu.
Ovaj metod je preporučen način ako vaš korisnik takođe koristi druge Subverzione klijente osim TortoiseSVN. Neugodnodt je da je urezivanje odbijeno od servera i tada korisnik dobija poruku o grešci. Klijent ne može znati pre urezivanja da će biti odbijen. Ako želite da učinite TortoiseSVN da ima
dugme onemogućeno dok dnevnik poruka ne bude dovoljno dugačka koristite metod opisan dole.TortoiseSVN koristi karakteristike da kontroliše neke od svojih mogućnosti. Jedna od tih karakteristika je tsvn:logminsize
karakteristika.
Ako podesite te karakteristike na folder, onda TortoiseSVN može onemogućiti
dugme u svim dijalozima urezivanja sve dok korisnik ne unese dnevnik poruku sa najmanje sa dužinom specificiranom u krakteristikama.Detaljne informacije o tim karakteristikama projekta, molim pogledajte u odeljak pod imenom „Podešavanje projekta“.
Normalno vi uskladite vašu radnu kopiju koristeći
→ . Ali ako samo želite da pokupite neke nove fajlove koje su kolege dodale bez stapanja sa izmenama drugih fajlova u isto vreme, potreban vam je drugačiji pristup.Koristite
→ . i kliknite na da vidite šta je izmenjeno u spremištu. Izaberite fajlove koje želite da uskladite lokalno, zatim koristite kontekst meni da obnavljate samo te fajlove.Najlakši način da se vrate izmene iz jedne ili više revizija je korišćenje dijaloga dnevnika revizija.
Izaberite fajl ili folder u kome želite da vratite izmene. Ako želite da vratite sve izmene, ovo će biti folder na vrhu.
Izaberite
→ da prikažete listu revizija. Možda će vam trebati da koristite ili da prikažete reviziju(e) koja vas interesuje.Izaberite reviziju koju želite da vratite. Ako želite da poništite deo revizije izaberite najpre jednu i držite Šift taster dok odabirate sledeći. Ako želite da pokupite pojedine revizije i opsege koristite Ctrl taster dok odabirate revizije. Desni klik na izabranu reviziju(e), zatim izaberite → .
Ili ako želite da učinite raniju reviziju novu GLAVNU reviziju, desni klik na izabranu reviziju, zatim izaberite → . Ovo će uništiti sve izmene posle izabrane revizije.
Vi ste vratili izmene u okviru radne kopije. Proverite rezultat, zatim urežite izmene.
Ako hoćete da unesete brojeve revizija kao listu koristite dijalog Stapanja. Prethodni metod koristi stapanje iza scene; ovaj metod ga koristi eksplicitno.
U vašoj radnoj kopiji izaberite
→ .U Tip stapanja dijalogu izaberite Stopi opseg revizija.
U Iz: polju unesite pun URL spremišta foldera vaše radne kopije. Ovo dolazi kao uobičajeni URL.
U Opseg revizija za stapanje polju unesite listu revizija za vraćanje (ili koristite dijalog dnevnika da ih izaberete kako je opisano ranije).
Budite sigurni da je Inverzno stapanje čekboks označen.
U Opcije stapanja dijalogu prihvatite uobičajene.
Kliknite
da kompletirate stapanje.Možete vratiti izmene u okviru vaše radne kopije. Proverite da su rezultati očekivani, zatim urežite izmene.
Pošto TortoiseSVN nikad ne gubi podatke, vaša „vraćena nazad“ revizija još uvek postoji kao intermedijalna revizija u spremištu. Samo GLAVNA revizija je izmenjena u prethodno stanje. Ako želite da napravite da revizije nestanu kompletno iz spremišta, brisanjem svih staza koje su ikad postojale, morate koristiti mnogo ekstremnije mere. Osim ako ne postoji veoma dobar razlog da se to radi, to nije preporučljivo. Jedan poseban razlog bi bio da neko urezuje poverljiv dokument u javno spremište.
Jedini način da se uklone podaci iz spremišta je da se koristi Subverzioni alat komandne linije svnadmin
. Možete naći opis kako to radi na Repository Maintenance.
Ako želite uporediti dve revizije u istoriji stavki, na primer revizije 100 i 200 istog fajla, samo koristite
→ da izlistate istoriju revizija za taj fajl. Odaberite dve revizije koje želite da uporedite i zatim koristite → .Ako želite da uporedite istu stavku u dva različita stabla, na primer deblo i granu, možete koristiti pretraživač spremišta da otvorite oba stabla, izaberite fajl na oba mesta, zatim koristite
→ .Ako želite da uporedite dva stabla da vidite šta se izmenilo, na primer deblo i označenu realizaciju, možete koristiti odeljak pod imenom „Poređenje foldera“ za više informacija. Alternativno koristite → da vidite rezultat svih razlika, sa minimalnim sadržajem.
→ Izaberite dva čvora za poređenje, zatim koristite → . Ovo će prikazati listu izmenjenih fajlova, i možete zatim izabrati pojedine fajlove da vidite izmene detaljno. Možete takođe izvesti strukturu stabla koja sadrži sve izmenjene fajlove, ili jednostavno listu svih izmenjenih fajlova. PročitajtePoneka želite da uključite drugi projekat u okviru radne kopije, recimo neki kod biblioteke. Ima najmanje 4 načina da se to uradi.
Podesite svn:externals
karakteristiku za folder u vašem projektu. Ova karakteristika se sastoji od jedne ili više linija; svaka linija ima ime pod-folderakoji želite da koristite kao folder za preuzimanje zajdničkog koda, i URL spremišta odakle želite da preuzimate. Za potpune detalje pogledajte odeljak pod imenom „Spoljašnje Stavke“.
Urežite novi folder. Sada kada uskladite, Subverzija će vući kopiju projekta iz spremišta u vašu radnu kopiju. Pod-imenici će biti kreirani automatski ako se zahteva. Svaki put kada obnavljate vašu glavnu radnu kopiju, vi ćete takođe dobiti zadnju verziju svih spoljašnjih projekata.
Ako je spoljašnji projekat u istom spremištu, bilo koja izmena koju tamo napravite biće uključena u listu za urezivanje kada urezujete glavni projekat.
Ako je eksternalni projekat u različitim spremištima svaka promena koju napravite u eksternom projektu biće prikazan ili će indicirati kada urezujete glavni projekat, ali imaćete da urežete ove eksterne promene separatno.
Jedan od tri metoda je opisan, ovo je samo jedno što vam treba pri podešavanju na strani klijenta. Kada se eksternali jednom specificiraju u karakteristikama foldera, svi klijenti će dobiti popunjene foldere kada se obnavljaju.
Kreirajte novi folder u okviru vašeg projekta da sadrži zajedničke kodove, ali ne dodajte to Subverziji.
Izaberite
→ za nove foldere i preuzmite kopiju zajedničkih kodova u njega.ve radne kopije su nezavisne. Kada urežete izmene u predačku, izmene u ugnježdenu RK se ignorišu. Slično ako uskladite predačku, ugnježdena RK se ne obnavlja.
Ako koristite isti zajednički sržni kod u više projekata, i ne želite da držite višestruke radne kopije toga za svaki projekat koji ga koristi, možete ga samo preuzeti u posebnu lokaciju koja se odnosi na sve ostale projekte koji ga koriste. Na primer:
C:\Projects\Proj1 C:\Projects\Proj2 C:\Projects\Proj3 C:\Projects\Common
i pozovite se na zajednički kod koristeći relativnu putanju, npr. ..\..\Common\DSPcore
.
Ako je vašš projekat rasejan u nepovezanim lokacijama možete koristiti varijantu od ovoga, što će staviti zajednički kod u jednu lokaciju i koristiti substituciju slova drajva da mapira te lokacije u nešto što je u kodu vašeg projekta, npr. Preuzimanje zajedničkog koda u D:\Documents\Framework
ili C:\Documents and Settings\{login}\My Documents\framework
zatim koristite
SUBST X: "D:\Documents\framework"
da kreirate mapiranje drajva koji se koristi u izvornom kodu. Vaš kod tada može koristiti apsolutnu lokaciju.
#include "X:\superio\superio.h"
Ovaj metod će samo raditi na potpun-PC okolini, i trebaće vam da dokumentujete zahtevano obeležavanje drajva tako da vaš tim zna gde se ovi misteriozni fajlovi nalaze. Ovaj metod je striktno za korišćenje u okolini bliskoj razvoju, i ne preporučuje se za opštu upotrebu.
Možda lakši način je jednostavno dodavanje projekta u subfolder u radnu kopiju vašeg projekta. Međutim to ima nepogodnosti kad hoćete da uskladite ili dogradite ovaj eksterni projekat ručno.
Da bi pomogli nadogradnju, TortoiseSVN omogućava komandu u pretraživaču sa desnim vučenjem kontekst menijem.Jednostavno desno vučenje foldera gde ste anzipovali novu verziju spoljašnje biblioteke u folder u vašoj radnoj kopiji i izaberite
→ . Ovo će onda kopirati nove fajlove preko ciljnog foldera dok automatski dodaje nove fajlove i uklanja fajlove koji nisu više u novoj verziji.Ako vam je često potrebno da otvorite pretraživač spremišta u posebnu lokaciju možete kreirati skraćenicu na desktopu koristeći automacioni proces ka TortoiseProc. Samo kreirajte novu skraćenicu i podesite cilj ka: screen> TortoiseProc.exe /command:repobrowser /path:"url/to/repository"
Ako greško dodate neke fajlove koji bi trebalo da budu zanemareni, kako ih izvući iz kontrojžle verzija a da ih ne izgubimo? Možda imate vaš lični IDE konfiguracioni fajl koji nije deo projekta, ali koji uzima dosta vremena da se podesi na način kako volite.
Ako još niste urezali dodavanje, tada treba da koristite
→ da poništite dodavanje. Zatim treba da dodate fajl(ove) u listu zanemarenih tako da ih greškom ne dodate ponovo kasnije.Ako su fajlovi već u spremištu, oni će biti obrisani izspremišta i dodatina listu izbegavanja.Srećom TortoiseSVN ima podrazumevane skraćeniceda to uradi.
→ će najpre označiti fajl/folder za brisanje izspremišta,čuvanjem lokalne kopije. Takođedodaje ovu stavku listi zanemarivanja da ne bibilo dodavanjanazad u Subverziju. Kada jejednom urađeno potrebno je daurežetepredačkifolder.Ako imate radnu kopiju koju želite da konvertujete nazad u potpuno stablo foldera bez .svn
direktorijuma, možete ga jednostavno izvesti u sebe. Pročitajte odeljak pod imenom „Izbacivanje radne kopije iz kontrole verzija“ da nđete kako.
Ako imate radnu kopiju koja vam više nije potrebna, kako ćete se nje potpuno osloboditi? Jednostavno - samo je obrišite u Vindouz Eksploreru! Radne kopije su privatni lokalni entiteti, i one su sveobuhvatne. Brisanjem radne kopije u Vindous Eksploreru uopšte ne utiče na podatke u spremištu.
Sadržaj
Ovaj dodatak sadrži rešenja problema/pitanja koja biste mogli imati kada ste odgovorni za razmeštanje TortoiseSVN na više računara klijenata.
TortoiseSVN instalacija dolazi kao MSI fajl, što unači da ne bi trbalo da imate probleme pri dodavanju tog MSI fajla grupi vašeg kontrolora domena.
Dobar pregled kako da se to uradi može se naći u bazi znanja u Mikrosoftovom članku 314934: http://support.microsoft.com/?kbid=314934.
TortoiseSVN mora biti instaliran pod Kompjuter konfiguracija a ne pod Korisnička konfiguracija. Ovo zato što TortoiseSVN zahteva CRT i MFC DLL , koje mogu biti podeljene po kompjuteru a ne po korisniku. Ako stvarno morate instalirati TortoiseSVN po korisniku onda morate, najpre, instalirati MFC i CRT pakete iz verzije 12 od Mikrosofta u svaki kompjuter gde želite da instalirate TortoiseSVN po korisniku.
Možete podesiti MSI fajl ako želite da svi korisnici završe istim podešavanjem. TSVN podešavanje je zapamćeno u registrima pod HKEY_CURRENT_USER\Software\TortoiseSVN
i opšte Subverziono podešavanje (koji se tiče svih Subverzionih klijenata) zapamćen je u konfig fajlovima pod %APPDATA%\Subversion
. Ako vam treba pomoć sa MSI podešavanjem pokušajte jedan od forum izmena ili pretražite veb za „MSI transformacija“.
TortoiseSVN proverava da li je dostupna nova verzija svakih nekoliko dana. Ako postoji dostupna novija verzija, informcija je prikazana u dijalogu urezivanja.
Ako ste odgovorni za više korisnika na vašem domenu, možda želite da vaši korisnici koriste samo verzije koje ste vi odobrili i nećete imati instalisanu poslednju verziju. Verovatno ne želite da se taj dijalog za dogradnju pojavi i da vaši korisnici odu i izvrše trenutnu dogradnju.
Verzija 1.4.0 i kasnije TortoiseSVN omogućavaju vam da preusmerite nadogradnju provere ka vašem intranet serveru. Možete podesiti registri ključ HKCU\Software\TortoiseSVN\UpdateCheckURL
(string vrednost) ka URL upravljenu ka tekst fajlu u vašem intranetu. Taj tekst fajl mora da ima sledeći format:
1.9.1.6000 A new version of TortoiseSVN is available for you to download! http://192.168.2.1/downloads/TortoiseSVN-1.9.1.6000-svn-1.9.1.msi
Prva linija u tom fajlu je string verzije. Morate biti sigurni da je to tačan string verzije TortoiseSVN instalacionog paketa. Druga linija je proizvoljan tekst prikazan u dijalogu urezivanja. Možete napisati tu što god želite. Samo primetimo da je prostor u dijalogu urezivanja ograničen. Predugački tekst će biti skraćen! Treća linija je URL novog instalacionog paketa. Ovaj URL je otvoren kada korisnik klikne na labelu proizvoljne poruke u dijalogu urezivanja. Možete takođe samo upraviti korisnika na veb stranicu umesto MSI fajl direktno. URL je otvoren uobičajenim veb pretraživačem, tako da ako specificirate veb stranicu ta stranica je otvorena i prikazana korisniku. Ako specificirate MSI paket pretraživač će pitati korisnika da sačuva MSI fajl lokalno.
Od verzije 1.4.0 i dalje, instalacija TortoiseSVN ne omogućava više korisniku da podesi SVN_ASP_DOT_NET_HACK
promenljivu okruženja, jer je to uzrokovalo mnoge probleme i konfuziju kod korisnika koji uvek instaliraju sve ne brinući šta to u stvari znači.
Ali osobina je jindous promenljivu okoline koja se zove ASPDOTNETHACK
u 1
. Stvarna vrednost promenljive nije važna: ako varijabla postoji osobina je aktivna.
Molim primetimo da je ovo neophodno samo ako još koristite VS.NET2002. Sve kasnije verzije Vizual Studija ne traže da to bude aktivirano! Tako da ako ne koristite stare alate NE KORISTITE TO!
Od verzije 1.5.0 i dalje, TortoiseSVN omogućava da onemogućite (stvarno, sakrijete) ulaze kontekst menija. Pošto je to mogućnost koja ne bi trebalo da se koristi olako osim ako ne postoji obavezujući razlog, ne postoji GUI za to i to se mora uraditi dirktno u registru. Ovo se može koristiti da se onemoguće izvesne komande za korisnike koji ih ne bi koristio. Ali molim primetite da samo ulazi kontekst menija u eksploreru su sakrivene, a komande su i dalje dostupne kroz druge načine, npr. komandne linije i čak dijaloga u samoj TortoiseSVN!
Registri ključevi koji sadrže informacije po kojim se prikazuju kontekst meniji su HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow
i HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh
.
Svaki od ovih ulaza registra je DWORD
vrednost, sa svakim bitom koji odgovara posebnom ulazu menija. Podešen bit znači da je odgovarajući ulaz menija deaktiviran.
Tabela C.1. Ulazi menija i njihove vrednosti
Vrednost | Ulazi menija |
---|---|
0x0000000000000001 | Preuzimanje |
0x0000000000000002 | Obnavljanje |
0x0000000000000004 | Urezivanje |
0x0000000000000008 | Dodavanje |
0x0000000000000010 | Vrati na staro |
0x0000000000000020 | Čišćenje |
0x0000000000000040 | Reši |
0x0000000000000080 | Zamena |
0x0000000000000100 | Uvezi |
0x0000000000000200 | Izvezi |
0x0000000000000400 | Kreiraj spremište ovde |
0x0000000000000800 | Grana/Oznaka |
0x0000000000001000 | Stopi |
0x0000000000002000 | Obriši |
0x0000000000004000 | Preimenuj |
0x0000000000008000 | Uskladite sa revizijom |
0x0000000000010000 | Razl |
0x0000000000020000 | Prikaži dnevnik |
0x0000000000040000 | Uredi sukob |
0x0000000000080000 | Premesti |
0x0000000000100000 | Provera izmena |
0x0000000000200000 | Zanemari |
0x0000000000400000 | Pretraživač spremišta |
0x0000000000800000 | Krivac |
0x0000000001000000 | Izradi zakrpu |
0x0000000002000000 | Primena zakrpa |
0x0000000004000000 | Revizioni graf |
0x0000000008000000 | Zaključavanje |
0x0000000010000000 | Ukloni ključ |
0x0000000020000000 | Osobine |
0x0000000040000000 | Razl sa URL |
0x0000000080000000 | Obriši neverzionisane stavke |
0x0000000100000000 | Stopi sve |
0x0000000200000000 | Uporedi sa prethodnom revizijom |
0x0000000400000000 | Nalepi |
0x0000000800000000 | Nadogrdnja radne kopije |
0x0000001000000000 | Dif kasnoje |
0x0000002000000000 | Diff sa 'ime fajla' |
0x0000004000000000 | Ujedinjen diff |
0x2000000000000000 | Postavke |
0x4000000000000000 | Pomoć |
0x8000000000000000 | O |
Primer: Da onemogućite „Relociranje“ „Obriši neverzionisane stavke“ and the „Settings“meni ulaza, dodajte vrednost označenu ulazu kao:
0x0000000000080000 + 0x0000000080000000 + 0x2000000000000000 = 0x2000000080080000
The lower DWORD
value (0x80080000
) must then be stored in HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow
, the higher DWORD
value (0x20000000
) in HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh
.
Da biste ponovo omogućili ulaze menija, jednostavno obrišite dva registar ključa.
Pošto su sve komande TortoiseSVN kontrolisane kroz parametre kontrolne linije, možete automatizovati to sa beč skriptom da pokrenete posebne komande i dijaloge iz drugih programa (npr. vašeg najdražeg tekst uređivača).
Zapamtite da je TortoiseSVN GUI klijent, i ovaj automatizacioni vodič prikazuje kako da učinite da se TortoiseSVN dijalog pojavi da sakupi korisnikove ulaze. Ako želite da napišete skript koji ne zahteva ulaz, treba da koristite zvaničan Subverzioni linijski klijent umesto toga.
TortoiseSVN GUI program se zove TortoiseProc.exe
. Sve komande su specificirane sa parametrom /command:abcd
gde je abcd
željeno ime komande. Većina od ovih komandi zahteva najmanje jednu putanju kao argument, što je dato sa /path:"some\path"
. U sledećoj tabeli komande se odnose na /command:abcd
parametar i putanju koja se odnosi na /path:"some\path"
parametar.
Postoji specijalna komanda koja ne traži parametar /command:abcd
ali ako se ništa ne specificira u komandnoj liniji pokreće se projektni monitor umesto toga. Ako se /tray
specificira projektni monitor se pokreće kao sakriven i samo doda ikonu na sistemskom treju.
Kako neke od komandi mogu uzeti listu ciljnih putanja (npr. urezivanje više specifičnih fajlova) /path
parametar može uzeti više putalji, odvojenih sa *
karakterom.
Takođe možete odrediti fajl koji sadrži listu putanja razdvojene novom linijom. Fajl morabiti UTF-16 format bez BOM. Ako šaljete takav fajl koristite /pathfile
umesto /path
. Da TortoiseProc obriše taj fajl posle završetka komande morate poslati parametar /deletepathfile
. Ako ne pošaljete /deletepathfile
, morate sami da obrišete fajl ili da ga ostavite.
Progres dijalog koji se koristi za urezivanje, obnavlja i mnogo više komandi obično ostaje otvoreno posle zavreštka rada komande dok korisnik ne pritisne
dugme. Ovo bi se moglo promeniti proverom odgovarajiće opvžcije u dijalogu podešavanja. Koristeći to podešavanje zatvoriće se progres dijalog, nije bitno da li ste počeli komandu iz beč fajla ili iz TortoiseSVN kontekst menija.Da se specificira različita lokacija konfiguracionog fajla, koristite parametar /configdir:"path\to\config\directory"
. Ovo će promeniti podrazumevanu putanju, uključujući i podešavanje registra.
Da bi se zatvorio progres dijalog na kraju komande bez korišćenja stalnog podešavanja treba da provučete /closeonend
parametar.
/closeonend:0
ne zatvara dijalog automatski
/closeonend:1
auto zatvaranje ako nema grešaka
/closeonend:2
auto zatvaranje ako nema grešaka i konflikata
/closeonend:3
auto zatvaranje ako nema grešaka, konflikata i stapanja
Da zatvorite dijalog napredovanja za lokalne operacije ako nema grešaka i konflikata, provučite /closeforlocal
parametar.
Tabela koja sledi lista sve komande kojima treba da pristupi TortoiseProc.egze komandna linija. Kako je ranije opisano, ovo treba da se koristi u obliku /command:abcd
. U tabeli, /command
prefiks nedostaje da se uštedi na prostoru.
Tabela D.1. Lista dostupnih komandnih opcija
Komanda | Opis |
---|---|
:about | Prikazuje dijalog sa opisom programa. Ovaj dijalog je takođe prikazan ako komanda nije data. |
:log |
Otvara dijalog dnevnika.
specificira fajl ili folder za koji je dnevnik prikazan. Dodatne opcije se mogu podesiti:
An svn date revision can be in one of the following formats:
|
:checkout |
Opens the checkout dialog. The If you specify |
:import | Otvara dijalog uvoza. /putanja specificira folder sa podacima za uvoz. Možete, takođe, specificirati /logmsg preklopnik da provučete predefinisane poruke dnevnika u dijalog uvoza. Ili, ako ne želite da provučete poruke dnevnika u komandnoj liniji, koristite /logmsgfile:path , gde putanja pokazuje na fajl koji sadrži poruku dnevnika. |
:update | Uskladi radnu kopiju u /putanja prema GLAVNOJ. Ako je opcija /rev data onda je dijalog prikazan da pita korisna koju reviziju treba uskladiti. Da se izbegne dijalog specificirajte revizioni broj /rev:1234 . Ostale opcije su /nonrecursive , /ignoreexternals i /uključieksternale . Tada /stickydepth indicira da je specificirana dubina tanka kreirajući prazno preuzimanje. /skipprechecks može biti setovano da preskoči sve provere koje su date pre usklađivanja, onda je digme Prikaži dnevnik onemogućeno i kontekst meni koji prikazuje razlike je takođe onemogućen pri usklađivanju. |
:commit | Otvara dijalog urezivanja. /putanja specificira ciljni folder ili listu fajlova za obnavljanje. Možete takođe specificirati /logmsg prekidač da provučete predefinisane dnevnik poruke u dijalog urezivanja. Svakako, ako ne želite da provučete dnevnik poruku na komandnoj liniji, koristite /logmsgfile:path , gde putanja ukazije na fajl koji sadrži dnevnik poruku. Da bi se pre-popunio bag ID (u slučaju da ste odgovarajuće podesili integraciju sa bag tragačem), možete koristiti /bugid:"bag id ovde" da to uradite. |
:add | Dodaje fajlove u /putanja za kontrolu verzije. |
:revert | Vraća lokalne izmene radne kopije. /putanja kaže koje stavke vratiti. |
:cleanup | Briše prekinute ili zaustavljene operacije i otključava radnu kopiju u /putanja . Imate takođe da omogućite /cleanup da se uradi čišćenje. Koristi /noui da preduprediš dijalog rezultata da iskoči (ili obaveštavajući da je čišćenje gotovo ili prikazujući poruku greške). /noprogressui takođe onemogućava dijalog napredovanja. /nodlg onemogućava prikazivanje dijalog čišćenja gde korisnik može izabrati šta tačno treba uraditi pri čišćenju. Moguće akcije mogu biti specificirane opcijama /cleanup za status čišćenja, /breaklocks da se uklone sve brave, /revert da se vrate neurezane izmene, /delunversioned ,/delignored , /refreshshell , /externals , /fixtimestamps i /vacuum . |
:resolve | Označava konfliktne fajlove specificirane u /putanja kao rešene. Ako je /noquestion dat, rešavanje je dato bez prethodnog pitanja korisnika da li da se to uradi. |
:repocreate | Kreira spremište u /putanja |
:switch | Otvara dijalog skretanja. /putanja određuje ciljni direktorijum i /url URL za skretanje. |
:export | Izvozi radnu kopiju u /putanja za dugi folder. Ako /putanja ukazuje na neverzionisani folder, dijalog će vas pitati za URL za izvoz u folder u /putanja . Ako specificirate taster /blockpathadjustments , automatsko podešavanje izvozne putanje je blokirano. |
:dropexport | Izvozi tadnu kopiju u /putanja u direktorijum određen u /droptarget . Izvoz ne koristi izvozni dijalog već se izvodi direktno. Opcija /overwrite određuje da se postojeći fajlovi prepisuju bez potvrđivanja, a opcija /autorename određuje da svi fajlovi već postoje, izvozni fajlovi se automatski preimenuju da se izbegne da se prepišu. Opcija /extended može određuje ili lokalne izmene da se samo izvezu fajlovi koji su izmenjeni lokalno, ili neverzionisan da se takođe izvezu sve neverzionisane stavke takođe. |
:dropvendor | Copies the folder in /putanja recursively to the directory specified in /droptarget . New files are added automatically, and missing files get removed in the target working copy, basically ensuring that source and destination are exactly the same. Specify /noui to skip the confirmation dialog, and /noprogressui to also disable showing the progress dialog. |
:merge | Otvara dijalog stapanja. /putanja specificira ciljni direktorijum. Za stapanje opsega revizija sledeće opcije su moguće: /fromurl:URL , /revrange:string . Za stapanje dva stabla spremišta sledće opcije su moguće: /fromurl:URL , /tourl:URL , /fromrev:xxx and /torev:xxx . |
:mergeall | Otvara dijalog stapanja. /putanja specificira ciljni folder. |
:copy | Podignite grana/znak dijalog. /putanja je radna kopija iz grana/znak. I /url je ciljni URL. Ako url-ovi kreću sa ^ uzima se da su relativno u odnosu na koren spremišta. Za već proverenu opciju Skreni radnu kopiju u novu granu/znak. možete provući /switchaftercopy prekidač. Da proverite opciju Kreiraj posredne foldere provucite /makeparents prekidač. Možete takođe specificirati /logmsg prekidač da provučete predefinisani dnevnik poruka ka grana/znak dijalogu. Ili, ako ne želite da povučete dnevnik poruka u komandnoj liniji, koristite /logmsgfile:path , gde |
:settings | Otvara dijalog podešavanja. |
:remove | Uklanja fajl(ove) u /putanja iz kontrole verzija. |
:rename | Preimenuje fajl u /putanja . Novo ime za fajl pita dijalog. Da se izbegne pitanje o preimenovanju sličnih fajlova u jednom koraku, prevuci /noquestion . |
:diff | Pokreće eksterni dif program označen u TortoiseSVN podešavanju. /putanja specificira prvi fajl. Ako je opcija /path2 izabrana onda dif program počinje sa ta dva fajla. Ako /path2 nedostaje onda dif radi između fajla u /putanja i OSNOVE. Ako je specificiran fajl sa izmenjenim osobinama eksterni dif alat takođe počinje za svaku izmenjenu osobinu. Da se predupredi to pošaljite opciju /ignoreprops . Da se eksplicitno izaberu revizioni brojevi koristite /startrev:xxx i /endrev:xxx , i za opcione peg revizije koristite /pegrevision:xxx . Ako je /krivac izabrana i /path2 nije izabrana onda dif najpre okrivi fajlove datom revizijom. Parametar /linija:xxx specificira liniju za skok gde je dif prikazan. |
:shelve | Shelves the specified paths in a new shelf. The option /shelfname:name specifies the name of the shelf. An optional log message can be specified with /logmsg:message . If option /checkpoint is passed, the modifications of the files are kept. |
:unshelve | Applies the shelf with the name /shelfname:name to the working copy path. By default the last version of the shelf is applied, but you can specify a version with /version:X . |
:showcompare |
U zavisnosti od URLa i revizija za poređenje, ovo ili prikazuje diff (ako je opcija Opcije Ako specificiran url takođe ima izmene osobina eksterni dif alat takođe se pokreće za svaku izmenjenu osobinu. Da se to predupredi prosledite opiciju If a unified diff is requested, an optional |
:conflicteditor | Pokreće konflikt uređivač specificiran u TortoiseSVN podešavanju sa korektnim fajlovima za konfliktni fajl u /putanja . |
:relocate | Otvara dijalog relociranja. /putanja specificira putanju radne kopije za relociranje. |
:help | Otvara fajl pomoći. |
:repostatus | Otvara dijalog provera-izmena. /putanja specificira folder radne kopije. Ako je /daljinski specificiran, dijalog odmah pri startu kontaktira spremište, kao kad korisnik klikne na Provera spremišta dugme. |
:repobrowser |
Započinje dijalog pretraživača spremišta, upravljen prema URL radne kopije date u Dodatna opcija Ako Ako je |
:ignore | Dodaje sve ciljeve u /putanja u listu zanemarivanja, tj. dodaje svn:ignore karakteristike tim fajlovima. |
:blame |
Otvara dijalog okrivljavanja za fajlove specificirane u Ako opcije Ako je opcija Opcije |
:cat | Čuva fajlove iz URL ili foldera radne kopije dat u /putanja ka lokaciji datoj u /savepath:path . Revizija je data u /revision:xxx . Ovo može biti korišćeno da se dobije fajl sa specifičnom revizijom. |
:createpatch | Creates a patch file for the path given in /putanja . To skip the file Save-As dialog you can pass /savepath:path to specify the path where to save the patch file to directly. To prevent the unified diff viewer from being started showing the patch file, pass /noview . If a unified diff is requested, an optional prettyprint option can be specified which will show the merge-info properties in a more user readable format. |
:revisiongraph |
Prikazuje revizioni graf za putanju datu u Da creirate fajl sliku revizionog grafa za specifičnu putanju, ali bez prikazivanja prozora grafa, pošaljite Pošto revizioni graf ima mnogo opcija koje utiču kako je prikazano, možete takođe podesiti opcije da ih koristite kada kreirate izlazni fajl slike. Prosledite ove opcije sa |
:lock | Zaključava fajl u folderu datom u /putanja . 'Katanac' dijalog je prikazan tako da korisnik može unese urezivanje za katanac. |
:unlock | Otključaj fajl ili sve fajlove u folderu datom u /putanja . |
:rebuildiconcache | Prerađuje keš ikona prozora. Samo koristite ovo u slučaju da su ikone prozora uništene. Sporedni efekat ovoga je (koji može biti izbegnut) to da ikone na desktopu budu preuređene. Da se spreči boks poruke, provucite /noquestion . |
:properties |
Prikazuje dijalog osobina za putanju datu u Za rad sa verzionisanim osobinama ova komanda zahteva radnu kopiju. Revizione osobine mogu biti viđene/izmenjene ako je Da se otvori dijalog osobina za određenu osobinu provucite ime osobine kao |
:sync |
Izvoz/uvoz podešavanja, ili zavise da li su tekuća podešavanja ili izvezena podešavanja novija, ili kao specificirana. Ako je putanja prosleđena sa Parametar Ako nije ni Ako je Ako je Parametar |
Primer (koji će biti unet na jednoj liniji):
TortoiseProc.exe /command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt" /logmsg:"test log message" /closeonend:0 TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0 TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt" /startrev:50 /endrev:60 /closeonend:0
Koristeći posebni URL, takođe je moguće pozvati TortoiseProc sa veb stranice.
TortoiseSVN registruje novi protokol tsvncmd:
koji može biti korišćen da se kreira hiper veza koja izvršava TortoiseSVN komande. Komande i parametri su isti kao kada se automatizuje TortoiseSVN iz komandne linije.
Format tsvncmd:
URL je ovakav:
tsvncmd:command:cmd?parameter:paramvalue?parameter:paramvalue
sa cmd
koje je jedna od dozvoljenih komandi sa parameter
koji je parametar kao path
ili revision
, i paramvalue
postaje vrednost za korišćelje tog parametra. Lista dopuštenih parametara zavisi od korišćenih komandi.
Sledeće komande su dozvoljene sa tsvncmd:
URLovi:
:update
:commit
:diff
:repobrowser
:checkout
:export
:blame
:repostatus
:revisiongraph
:showcompare
:log
:properties
Jedan jednostavni primer za URL može izgledati kao:
<a href="tsvncmd:command:update?path:c:\svn_wc?rev:1234">Update</a>
ili u mnogo složenijem slučaju:
<a href="tsvncmd:command:showcompare? url1:https://svn.code.sf.net/p/stefanstools/code/trunk/StExBar/src/setup/Setup.wxs? url2:https://svn.code.sf.net/p/stefanstools/code/trunk/StExBar/src/setup/Setup.wxs? revision1:188?revision2:189">compare</a>
Slike diff alat ima nekoliko opcija komandnih linija koje možete koristiti da kontrolišete kako se alat pokreće. Program se zove TortoiseIDiff.exe
.
Tabela koja sledi lista svih opcija koje mogu biti prenete u diff slike alatu na komandnoj liniji.
Tabela D.2. Lista raspoloživih opcija
Opcije | Opis |
---|---|
:left | Putanja do fajla prikazanog levo. |
:lefttitle | String naslova. Ovaj string se koristi u naslovu pregledača slika umesto pune putanje fajlova slika. |
:right | Putanja do fajla prikazanog desno. |
:righttitle | String naslova. Ovaj string se koristi u naslovu pregledača slika umesto pune putanje fajlova slika. |
:overlay | Ako je specificiran, dif alat slika prebacuje mod prekrivača (alfa mešavina). |
:fit | Ako je specificiran, diff alat slike uglavljuje obe slike zajedno. |
:showinfo | Prikazuje info boks slike. |
Primer (koji treba da bude unet na jednoj liniji):
TortoiseIDiff.exe /left:"c:\images\img1.jpg" /lefttitle:"image 1" /right:"c:\images\img2.jpg" /righttitle:"image 2" /fit /overlay
Ujedinjeni diff pregledač ima samo dve opcije komandne linije:
Tabela D.3. Lista raspoloživih opcija
Opcije | Opis |
---|---|
:patchfile | Putanja do ujedinjenog diff fajla |
:p | Aktivirajte cevni mod. Ujedinjeni diff je pročitan iz konzolnog ulaza. |
Primeri (šta mora da se unese u jednu liniju):
TortoiseUDiff.exe /patchfile:"c:\diff.patch"
If you create the diff from another command, you can use TortoiseUDiff to show that diff directly:
svn diff | TortoiseUDiff.exe /u
this also works if you omit the /p
parameter:
svn diff | TortoiseUDiff.exe
Sadržaj
Ponekad ovo uputstvo ukazuje na glavne Subverzione dokumente, koji opisuju Subverziju u terminima Interfejsa Komandne Linije (IKL). Da bi vam se pomoglo da razumete šta TortoiseSVN radi iza scene sastavili smo listu koja pokazuje ekvivalentne IKL komande za svaki TortoiseSVN GUI.
Bez obzira što postoji IKL ekvivalent na ono što TortoiseSVN radi setite se da TortoiseSVN ne poziva IKL već koristi Subverzionu biblioteku direktno.
Ako mislite da ste našli bag u TortoiseSVN, možemo vam zatražiti da pokušate da reprodukujete to koristeći IKL, tako da možemo razdvojiti TortoiseSVN odziv od Subverzionog odiva. Ove reference vam kažu sa kojim komandama da pokušate.
U opisu koji sledi URL za lokaciju spremišta prikazano je kao URL
, i primer može biti https://svn.code.sf.net/p/tortoisesvn/code/trunk/
. Putanja radne kopije prikazana je jednostavno kao PATH
, i primer može biti C:\TortoiseSVN\trunk
.
Pošto je TortoiseSVN Vindouz Ekstenzija Školjke, nje moguće koristiti pojam tekućeg radnog direktorijuma. Sve putanje radne kopije moraju biti date koristeći apsulutnu putanju, ne realnu putanju.
Neke stavke su opcionalne i one su često kontrolisane čekboksovima ili radio dugmićima u TortoiseSVn. Ove opcije su prikazane u [srednjim zagradama] u definiciji komandne linije.
svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH
Dubina kombo boks stavki zavisi od -depth
argumenta.
Ako je Izostavi spoljašnje čekirano, koristite --ignore-externals
prekidač.
Ako preuzimate specifičnu reviziju, specificirajte to posle URL koristeći -r
prekidač.
svn info URL_of_WC svn update [-r rev] PATH
Obnavljanjem višestrukih stavki trenutno nije atomik operacija u Sbverziji. TortoiseSVN prvo nađe GLAVNU reviziju spremišta, zatim obnavlja sve stavke ka tom posebnom revizionom broju da izbegne radnu kopiju pomešanih revizija.
Ako je samo jedna stavka odabrana za obnavljanje ili odabrane stavke nisu sve iz istog spremišta, TortoiseSVN samo obnavlja do GLAVNE.
Ovde se ne koriste opcije komandne linije. Uskladite sa revizijom takođe primenjuje komandu obnavljanja, ali često više opcija.
svn info URL_of_WC svn update [-r rev] [-depth ARG] [--ignore-externals] PATH
Dubina kombo boks stavki zavisi od -depth
argumenta.
Ako je Izostavi spoljašnje čekirano, koristite --ignore-externals
prekidač.
U TortoiseSVN, dijalog urezivanja koristi više Subverzionih komandi. Prvi period je provera statusa koja određuje stavke u vašoj radnoj kopiji koje mogu biti potencijalno urezanje. Možete vratiti listu, diff fajlovi nasuprot OSNOVE i izabrati stavke koje želite da budu uključene u urezivanje.
svn status -v PATH
Ako je Prikaži neverzionisane fajlove čekirano, TortoiseSVn će takođe prikazati sve neverzionisane fajlove i foldere u hijerarhiji radne kopije, uzimajući u obzir pravila zanemarivanja. Ova posebna osobina nema direktni ekvivalent u Subverziji, kao što svn status
komanda ne silazi u neverzionisane foldere.
Ako proverite neke neverzionisane fajlove i foldere, te stavke će prvo biti dodate u vašu radnu kopiju.
svn add PATH...
Kada kliknete OK, Subverziono urezivanje počinje. Ako ostavite sve selekcione čekboksove fajlova u njihovom podrazumevanom stanju, TortoiseSVN koristi jedno rekurzivno urezivanje radne kopije. Ako deselektujete neke fajlove, onda ne-rekurzivno urezivanje (-N
) mora da bude uzeto, i svaka putanja mora biti specificirana individualno u komandnoj liniji urezivanja.
svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...
LogMessage
ovde redstavlja sadržaj dnevnik poruke boksa uređenja. Ovo može biti prazno.
Ako je Keep locks čekirano, koristite --no-unlock
prekidač.
svn diff PATH
Ako koristite Diff iz glavnog kontekst menija vi razlikujete izmenjene fajlove rema OSNOVNOJ reviziji. Izlaz iz IKL komande u ranijem tekstu takođe radi ovo i proizvodi izlaz u ujedinjeni-diff formatu. Međutim, ovo nije to što TortoiseSVN koristi. TortoiseSVN koristi ToroiseMerge (ili diff program koji ste izabrali) da prikaže razlike vizualno između pun-tekst fajlova, tako da nema IKL ekvivalenta.
Možete takođe diff neka dva fajla koristeći TortoiseSVN, da li su ili nisu pod kontrolom verzija. TtortoiseSVN smo unese dva fajla u izabrani diff program i pušta ga da traži gde leže razlike.
svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH or svn log -v -r M:N [--stop-on-copy] PATH
Podrazumevano, TortoiseSVN pokušava da nađe 100 dnevnik poruka koristeći --limit metod. Ako podešavanje zahteva da se koristi stari API, onda druga forma se koristi da se nađe dnevnik poruka za 100 revizija spremišta.
Ako je Stop na kopiraj/preimenuj čekirano, koristite --stop-on-copy
prekidač.
svn status -v PATH or svn status -u -v PATH
Početna provera statusa gleda samo u vašu radnu kopiju. Ako kliknete na -u
prekidač.
Ako je Prikaži neverzionisane fajlove čekirano, TortoiseSVn će takođe prikazati sve neverzionisane fajlove i foldere u hijerarhiji radne kopije, uzimajući u obzir pravila zanemarivanja. Ova posebna osobina nema direktni ekvivalent u Subverziji, kao što svn status
komanda ne silazi u neverzionisane foldere.
Revizioni graf je mogućnost samo TortoiseSVN. Nema ekvivalenta u klijentu komande linije.
Šta TortoiseSVN radi je
svn info URL_of_WC svn log -v URL
gde je URL spremište koren i tada se vraća analiza podataka.
svn info URL_of_WC svn list [-r rev] -v URL
Možete koristiti svn info
da odredite koren spremišta, koji je na vršnom nivou prikazan u pretraživaču spremišta. Ne možete se kretati Gore
iznad ovog nivoa. Takođe, ova komanda vraća sve informcije o zaključavanju prikazane u pretraživaču spremišta.
Poziv svn list
će izlistati sadržaj foldera datog sa URL i revizijom.
Ova komanda im IKL ekvivalent. Ona poziva TortoiseMerge ili neki spoljašnji 3-načina diff-stopi alat da vidi u fajlovima obuhvaćenih konfliktima i uređuje koje linije da se koriste.
svn status -v PATH
Prvi stepen je provera statusa koja određuje stavke u vašoj radnoj kopiji koje će potencijalno biti vraćene. Možete pregledati listu, diff fajlovi nasuprot OSNOVE, i izabrati stavke koje želite da uključite u vraćanje.
Kada kliknete OK, Subverziono vraćanje se dešava. Ako ostavite izbor fajlova čekboks u podrazumevanom statusu, TortoiseSVN koristi pojedinačno rekurzivno (-R
) vraćanje radne kopije. Ako deselektujete neke fajlove, onda svaka putanja mora biti specificirana individualno u komandnoj liniji vraćanja.
svn revert [-R] PATH...
svn status -v PATH
Prva faza u proveri statusa koja određuje fajlove u vašoj radnij kopiji koji će potencijalno biti zaključani. Možete izabrati stavke koje želite da budu zaključane.
svn lock -m "LockMessage" [--force] PATH...
LockMessage
ovde predstavlja sadržaj katanac poruka boks uređenja. On može biti prazan.
Ako je Ukrasti katance čekiran, koristite --force
prekidače.
svn copy -m "LogMessage" URL URL or svn copy -m "LogMessage" URL@rev URL@rev or svn copy -m "LogMessage" PATH URL
Grana/Oznaka dijalog omogućava kopiranje u spremište. Postoje 3 radio dugmeta opcija:
koje odgovaraju 3 varijante komandnih linija gore.
LogMessage
ovde redstavlja sadržaj dnevnik poruke boksa uređenja. Ovo može biti prazno.
svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH
--dry-run
prekidač.
svn diff From_URL@revN To_URL@revM
prikazuju diff operaciju koja će biti korišćena za stapanje.
svn export [-r rev] [--ignore-externals] URL Export_PATH
Ovaj oblik se koristi kada se pristupa iz neverzionisanog foldera, i folder se koristi kao odredište.
Izvozom radne kopije u različitu lokaciju dato je bez korišćenja Subverzione biblioteke, tako da nema odgovarajućeg ekvivalenta komandne linije.
Ono što TortoiseSVN radi je da kopira sve fajlove u novu lokaciju dok prikazuje progres operacije. Neverzionisani fajlovi/imenici mogu neobavezno biti takođe izvezeni.
U oba slučaja, ako je Nedostaju eksternali čekiran, koristite --ignore-externals
prekidač.
svn add PATH...
Ako izaberete folder, TortoiseSVN prvo pregleda sve rekurzivno za stavke koje mogu biti dodate.
svn import -m LogMessage PATH URL
LogMessage
ovde redstavlja sadržaj dnevnik poruke boksa uređenja. Ovo može biti prazno.
svn blame -r N:M -v PATH svn log -r N:M PATH
Ako koristite TortoiseBlame da vidite info okrivljavanja, fajl dnevnik je takođe potreban da prikaže dnevnik poruke u alatsavetu. Ako vidite okrivljavanje kao tekst fajl ova informacija nije potrebna.
svn propget svn:ignore PATH > tempfile {edit new ignore item into tempfile} svn propset svn:ignore -F tempfile PATH
Zato što svn:ignore
osobina je često viš-linijska vrednost, to je ovde prikazano kao da je izmenjena preko tekat fajla radije nego direktno u komandnoj liniji.
svn diff PATH > patch-file
TortoiseSVN kreira fajl zakrpu u ujedinjenom diff formatu poredeći radnu kopiju sa OSNOVNOM verzijom.
Sadržaj
Ovaj dodatak sadrži detaljniju disusiju primene nekih TortoiseSVN mogućnosti.
Svaki fahl i folder ima Subverzionu statusnu vrednost kako je objašnjeno u Subverzionoj biblioteci. U klijentima komandne linije, ovo je pretstavljeno jednim slovom koda, ali TortoiseSVN ga prikazuje grafički koristeći prekrivač ikonu. Pošto je broj prekrivača ograničen, svaki prekrivač može prestavljati jednu od više statusnih vrednosti.
Konfliktan prekrivač se koristi da prikaže konfliktno
stanje, gde obnavljanje ili prekidač daju konflikt između lokalnih izmena i izmena skinutih iz spremišta. To se takođe koristi da označi obstruktivno
stanje, koje se može javiti kada je operacija nesposobna da se izvrši.
Modifikovan prekrivač predstavlja modifikovano
stanje, gde imate da uradite lokalne izmene, stopljeno
stanje, gde su izmene u spremištu stopljene sa lokalnim izmenama, i zamenjeno
stanje, gde je fajl obrisan i zamenjen sa drugim različitim fajlom istog imena.
Obrisan prekrivač predstavlja obrisano
stanje, gde je stavka planirana za brisanje, ili nedostaje
stanje, gde stavka nije prisutna. Priridno stavka koja nedostaje ne može imati prekrivač, ali predački folder se može označiti ako jedan od njegovih potomaka nedostaje.
Dodat prekrivač se jednostavno koristi da predstavi dodat
status kada je stavka dodata u kontrolu verzija.
U Subverziju prekrivač se koristi da prikaže stavku koja je u normalnoml
stanju, ili verzionisana stavka čije stanje nije poznato. Pošto TortoiseSVN koristi pozadinski kešing proces ujedini status to može uzeti nekoliko sekundi pre nego se prekrivač obnavlja.
Traži zaključavanje prekrivač se koristi kada lokalna radna kopija ima svn:needs-lock
podešenu osobinu.
Zaključan prekrivač se koristi kada lokalna radna kopija drži katanac na fajlu.
Zanemaren prekrivač se koristi da prikaže stavku koja je u zanemarenom
stanju, ili zbog opšteg modela zanemarivanja, ili svn:ignore
osobine predačkog foldera. Ovaj prekrivač je proizvoljan.
Neverzionisan prekrivač se koristi da prikaže stavku koja je u neverzionisanom
stanju. To je stavka u verzionisanom folderu, ali koja sama nije pod kontrolom verzija. Ovaj prekrivač je proizvoljan.
Ako stavka ima Subverzioni status ne
(stavka nije u okviru radne kopije) onda prekrivač nije prikazan. Ako ste izabrali da onemogućite Zanemaren i Neverzionisan prekrivače onda nikakvi prekrivači neće biti prikazani za ove fajlove.
Stavka može imati samo jednu Subverzionu statusnu vrednost. Na primer fajl može biti lokalno izmenjen i može biti označen za brisanje u isto vreme. Subverzija vraća jediničnu statusnu vrednost - u ovom slučaju obrisan
. Ovi prioriteti su definisani samom Subverzijom.
Kada TortoiseSVN prikazuje status rekurzivno (podrazumevano podešavanje), svaki folder prikazuje prekrivač koji reflektuje njegov lični status i status svih njegovih potomaka. Da bi prikazao pojedinačni rezultantni prekrivač, koristimo red prioriteta prikazan gore da odredimo koji prekrivač da koristimo, sa Konfliktan prekrivačem imamo najviši prioritet.
U stvari, ne možete naći sve te ikone da se koriste u vašem sistemu. Ovo je zato što brojni prekrivači koje dopušta Vindouz su ograničeni na 15. Vindouz koristi 4 od njih, i preostalih 11 se mogu koristiti sa drugim aplikacijama. Ako postoji dovoljno dozvoljenih prekrivačkih slotova, TortoiseSVN pokušava da bude Dobar Građanin (TM) i ograničava svoje korišćenje prekrivača da da drugim aplikacijama šansu.
Pošto postoje Tortoise klijenti dostupni za druge sisteme kontrole verzija, mi smo kreirali deljive komponente odgovorne za prikazivanje ikona prekrivačima. Tehnički detalji nisu ovde važni, sve što vam treba da znate je da deljive komponente omogućavaju svim Tortoise klijentima da koriste iste prekrivače i da limit od 11 dostupnih slotova se ne koristi instaliranjem više od jednog Tortoise klijenta. Svakako, postoji jedna mala primedba: svi Tortoise klijenti koriste iste ikone prekrivače, tako ne možete zamisliti prekrivačke ikone koje koristi sistem kontorle verzija radne kopije.
Normal, Izmenjen i Konfliktan su uvek uneti i vidljivi.
Obrisan je unet ako je moguće, ali ida nazad u Izmenjen ako nema dovoljno slotova.
Samo-Čitanje je unet ako je moguće, ali pada nazad u Normalan ako nema dovoljno slotova.
Zaključan je unet ako je moguće, ali pada nazad u Normalan ako nema dovoljno slotova.
Dodat je unet ako je moguće, ali ida nazad u Izmenjen ako nema dovoljno slotova.
Standardni instalator podržavasamo engleskiali možete skinuti pakete posebnih jezika i rečnike za proveru sintakse posle instalacije.
TortoiseSVN korisnički interfejs je preveden na mnoge različite jezike tako da možete skinuti jezički paket prema vašoj potrebi. Jezičke pakete možete naći na translation status page. Ako nema dostupnog jezičkog paketa, što da se ne pridružite timu i dodate vaš lični prevod ;-)
Svaki jezički paket je spakovanu kao .msi
instalacija. Samo izvršite instalacioni program i sledite instrukcije. Sledeći put kad restartuje kompjuter prevod će biti dostupan.
Dokumentacija je prevedena na više različitih jezika. Možete skinuti manuale sa support page na našem vebsajtu.
TortoiseSVN uses the Windows spell checker if it's available (Windows 8 or later). Which means that if you want the spell checker to work in a different language than the default OS language, you have to install the spell checker module in the Windows settings (Settings > Time & Language > Region & Language
).
TortoiseSVN will use that spell checker if properly configured with the tsvn:projectlanguage
project property.
In case the Windows spell checker is not available, TortoiseSVN can also use spell checker dictionaries from OpenOffice and Mozilla.
Instalacija automatski dodaje US i UK Engleski rečnik. Ako želite druge jezike, najlakša mogućnost je da instalirate jedan od TortoiseSVN jezičkih paketa. To će instalirati odgovarajuće fajlove rečnika kao i TortoiseSVN lokalni korisnički interfejs. Po restartovanju kompjutera, rečnik će takođe biti dostupan.
Ili možete instalirati rečnik sami. Ako imate OpenOfis ili Mozilu instalirane možete kopirati njihove rečnike, koji su smešteni u instalacionom folderu tih aplikacija. Inače, potrebno je da skinete željene fajlove rečnika sa http://wiki.services.openoffice.org/wiki/Dictionaries.
Jednom kad uzmete fajlove rečnika, verovatn vam treba da ih preimenujete tako da ta imena fajlova imaju lokalne karaktere u sebi. Primer:
en_US.aff
en_US.dic
Onda samo ih kopirajte u %APPDATA%\TortoiseSVN\dic
folder Ako taj folder nije tamo, morate ga najpre kreirati. TortoiseSVN će tako tražiti Languages
subfolder u TortoiseSVN instalaciji (normalno to će biti u C:\Program Files\TortoiseSVN\Languages
); ovo je mesto gde jezici smeštaju svoje fajlove. Međutim, %APPDATA%- folder ne zahteva administrativne privelegije i, prema tome, ima visok prioritet. Sledeći put kada pokrenete TortoiseSVN provera spelovanja će biti dostupan.
Ako instalirate više rečnika. TortoiseSVN koristi ova pravila da izabere jedan za korišćenje.
Proverite tsvn:projectlanguage
podešavanje. Pogledajte odeljak pod imenom „Podešavanje projekta“ za informacije o podešavanju osobina projekta.
Ako jezik projekta nije označen, ili taj jezik nije instaliran, probajte jezik koji odgovara Vindouz lokalnom jeziku.
Ako pravi Vindouz lokalni jezik ne funkcioniše, probajte „Osnovni“ jezik, npr. de_CH
(Švajcarska-Nemački) ide na de_DE
(Nemački).
Ako ništa od navedenog ne radi, tada je podrazumevani jezik Engleski, koji je uključen u standardnu instalaciju.
Subverziona komanda se koristi da doda fajl ili folder u vašu radnu kopiju. Nova stavka je dodata u spremište kada urezujete.
Tekuća osnovna revizija fajla ili foldera u vašoj radnoj kopiji. Ovo je revizija fajla ili folderakoja je unutra, kada poslednje preuzimanje, obnavljanje ili urezivanje radilo. OSNOVNA revizija normalno nije jednaka GLAVNOJ reviziji.
Ova komanda je samo za tekst fajlove, i ona označava svaku liniju da prikaže reviziju spremišta u kojoj je poslednji put izmenjena, i utora koji je uradio izmenu. Naša GUI implementacija se zove TortoiseBlame i takođe prikazuje datum/vreme urezivanja i dnevnik poruku kada preletite mišem preko revizionog broja.
Termin često korišćen u kontrolnm sistemu revizija da opiše šta se dešava kada se razvoj razdvoji u nekoj tačci i prati 2 odvojene putanje. Možete kreirati granu van glavne razvojne linije tako kao da razvijate nove osobine bez da učinite glavnu liniju nestabilnom. Ili možete granati stabilnu realizaciju za koju ćete samo fiksirati bagove, dok novi razvoj nastavlja na nestabilnom debl. U Subverziji grana se implementira kao „jeftina kopija“.
Subverziona komanda koja kreira lokalnu radnu kopiju u praznom folderu skidanje verzionisanih fajlova iz spremišta.
Citat iz Subverzione knjige:„ Rekurzivno čišćenje radne kopije, uklanjanjem katanaca i završavanjem nezavršenih operacija. Ako ikad dobijete radna kopija zaključana grešku, izvršite ovu komandu da uklonite ukradene katance i dobijete vašu radnu kopiju u korisnom stanju ponovo. “ Primetimo to da u ovom kontekstu katanac se odnosi na lokalni fajlsistem zaključavanje, ne na zaključavanje spremišta.
Subverziona komanda koja se koristi da pošalje izmene iz vaše lokalne radne kopije nazad u spremište, kreiranjem nove revizije spremišta.
Kada se izmene iz spremišta stope sa lokalnim izmenama, ponekad se ove izmene javljaju u istim linijama. U tom slučaju Subverzija ne može automatski odrediti koju verziju da koristi i za fajl se kaže da je u konfliktu. Potrebno je da uredite fajl ručno i razrešite konflikt pre nego možete da urežete neke druge izmene.
U Subverzionom spremištu možete kreirati kopiju pojedinačnog fajla ili celo stablo. Ovo se implementira kao „jeftine kopije“ koje deluju skoro kao veze sa originalom u tome da skoro ne uzimaju prostora. Praveći kopije čuva se istorija stavke u kopiji, tako da možete pratiti urađene izmene pre nego je kopija urađena.
Kada obrišete verzionisanu stavku (i urežete izmene) stavka više ne postoji u spremištu posle urezane revizije. Ali, svakako, ona još postoji u ranijim revizijama spremišta, tako da joj još uvek možete pristupiti. Ako je neophodno, možete kopirati obrisanu stavku i „vaskrsnuti“ ga kompletno sa istorijom.
Skraćenica za „Prikaži razlike“. Veoma korisna kada želite da vidite tačno šta se izmenilo.
Komanda proizvodi kopiju verzionisanog foldera, upravo kao radna kopija, ali bez lokalnih .svn
foldera.
Fajlsistem u vlasništvu Subverzije u osnovi spremišta. Može se koristiti na mrežnim podelama. Podrazumevan za 1.2 i novija spremišta.
Objekat grupne polise.
Poslednja revizija fajla ili foldera u spremištu.
Subverziona komanda za uvoz cele hijerarhije foldera u spremište u pojedinačnoj reviziji.
Kada dobijete katanac na verzionisanu stavku, vi to označite u spremištu kao ne-urezujuća, osim iz radne kopije gde je katanac dobijen.
Prikazuje istoriju revizija fajla ili foldera. Takođe poznat kao „Istorija“.
Prikazuje istoriju revizija fajla ili foldera. Takođe poznat kao „Dnevnik“.
Proces kojim se izmene iz spremišta dodaju u vašu radnu kopiju bez uništavanja bilo kojih izmena koje ste već uradili lokalno. Ponekad ove izmene ne mogu biti usklađene automatski i za radnu kopiju se kaže da je u konfliktu.
Stapanje se dešava automatski kada uskladite vašu radnu kopiju. Možete stapati specifične izmen iz drugih grana koristeći TortoiseSVN Stopi komandu.
Ako radna kopija ima izmene samo u tekst fajlovima, moguće je koristiti Subverzionu Diff komandu da se generiše jedan fajl pregled ovih izmena u Objedinjenom Diff formatu. Fajl ovog tipa se često navodi kao „Zakrpa“, i može biti poslat elektronskom poštom još nekome (ili na mejling listu) i da se primeni u drugoj radnoj kopiji. Neko bez pristupa za urezivanje može napraviti izmene i podneti fajl zakrpu autorizovanom urezivaču da ga primeni. Ili ako niste sigurni o izmenama možete podneti zakrpu drugima da je pregledaju.
Uz verzionisanje vaših foldera i fajlova, Subverzija dopušta da se dodaju verzionisani metapodaci - na koje se pozivamo kao na „osobine“ svakog od vaših verzionisanih foldera i fajlova. Svaka osobina ima ime i vrednost, slično kao regstarski ključevi. Subverzija ima neke specijalne osobine koje koristi interno, kao što je svn:eol-style
. TortoiseSVN ima neke takođe, kao tsvn:logminsize
. Možete dodati vaše lične osobine sa bilo kojim imenom i vrednošću koju izaberete.
Ako se vaše spremište pomeri, možda zato što ste ga pomerili u različit folder na vašem serveru, ili ime domena servera je izmenjeno, potrebno je da „relocirate“ vašu radnu kopiju tako da njen URL spremišta ukazuje na novu lokaciju.
Primedba: vi treba da koristite ovu komandu samo ako vaša radna kopija ukazuje na istu lokaciju u istom spremištu, ali samo spremište je pomereno. U ostalim slučajevima vi verovatno imate potrebu za „Prebaci“ komandu umesto toga.
Spremište je centralno mesto gde se podaci skladište i održavaju. Spremište može biti mesto gde su višestruke baze podataka ili fajlovi locirani za raspodelu preko mreže, ili spremište može biti lokacija koja je direktno dostupna korisniku bez da putuje kroz mrežu.
Kada se fajlovi u radnoj kopiji ostave u konfliktnom stanju posle stapanja, ove konflikte moraju urediti ljudi koristeći uređivač (ili možda TortoiseMerge). Ovaj proces se označava kao „Rešavanje Konflikata“. Kada je to kompletno možete označiti konfliktne fajlove da su rešeni, što dozvoljava da budu urezani.
Subverzija čuva lokalnu „čistu“ kopiju svakog fajla kao što je bio kada ste poslednji put uskladite vašu radnu kopiju. Ako napravite izmene i odlučite da želite da ih poništite, možete koristiti „vrati“ komandu da se vratite na čistu kopiju.
Svaki put kad urezujete skup izmena, vi kreirate jednu novu „reviziju“ u spremištu. Svaka revizija predstavlja stanje stabla spremišta u izvsnoj tački u njegovoj istoriji. Ako želite da se vratite nazad u vremenu možete pregledati spremište kako je bilo u reviziji N.
U drugom smislu, revizija može da ukaže na skup izmena koje su urađene kada je revizja kreirana.
Isti kao što fajlovi imaju osobine to može imati i svaka revizija u spremištu. Neke specijalne revprop su dodate automatski kada je revizija kreirana, recimo: svn:date svn:author svn:log
koji reprezentuju vreme/datum urezivanja, urezivača i dnevnik poruku respektivno. Ove osobine mogu biti uređeivane, ali one nisu verzionisane, tako da je svaka promenapermanentna i ne može biti poništena.
Često-koriišćene skraćenice u Subverziji
Ime Subverzionog običnog protokola koji koristi „svnserve“ server spremišta.
Isto kako „Uskladi-sa-revizijom“ menja vremenski prozor radne kopije da gleda u rzličitu tačku istorije, tako „Prebaci“ menja prostorni prozor radne kopije takoa da ukazuje na rzličit deo spremišta.To je parcijalno korisno kada rad na deblu i granama se razlikuje samo u nekoliko fajlova. Možete prebaciti vašu radnu kopiju između dva i samo izmenjeni fajlovi će biti preneti.
Subverziona komanda vuče zadnje promene iz spremišta u radnu kopiju, stapajući sve izmene napravljene od drugih sa lokalnim izenama u radnoj kopiji.
Ovo je vaš lokalna „kutija za slanje pošte“, polje gde radite na verzionisanim fajlovima, i oni normalno obitavaju na vašem lokalnom tvrdom disku. Vi kreirate radnu kopiju izvršavajući „Preuzmi“ iz spremišta, i pohranjujete vaše izmene nazad u spremište koristeći „Ureži“.