TortoiseSVN

Subverzioni klijent za Vindouz

Version 1.14

Stefan Küng

Lübbe Onken

Simon Large

Milorad Popović ([email protected])

Prevod 

2022/09/06 19:53:28 (r29447)


Sadržaj

Predgovor
Šta je TortoiseSVN?
TortoiseSVN osobine
Licence
Razvoj
TortoiseSVN istorija
Zahvalnosti
Vodič za čitanje
Terminologija korišćena u ovom dokumentu
1. Krenimo od početka
Instaliranje TortoiseSVN
Zahtevi sistema
Instalacija
Osnovni koncepti
Idi na test drajv
Kreiranje spremišta
Uvoženje projekta
Preuzimanje radne kopije
Izrada izmena
Dodavanje još fajlova
Pregled istorije projekta
Poništavanje izmena
Pomeranje na ...
2. Osnovni Kontrola-Verzija Koncepti
Spremište
Modeli verzionisanja
Problem Fajl-Deljenja
Zaključaj-Menjaj-Otključaj rešenje
Kopiraj-Menjaj-Stopi rešenje
Šta Subverzija radi?
Subverzija u akcija
Radna kopija
URL spremišta
Revizije
Kako radna kopija prati spremište
Zaključak
3. Spremište
Kreiranje spremišta
Kreiranje spremišta klijentom komandne linije
Kreiranje spremišta sa TortoiseSVN
Lokalni pristup spremištu
Pristupanje spremištu na mrežnom deljenom prostoru
Izgled spremišta
Osiguranje spremišta
Zakačive skripte sa serverske strane
Veze preuzimanja
Pristupanje Spremištu
4. Vodič dnevnog korišćenja
Opšte osobine
Prekrivne ikone
Kontekst meniji:
Vuci baci
Zajedničke skraćenice
Autentikacija
Maksimiranje Vindouza
Uvoz podataka u spremište
Uvezi
Uvoz na mesto
Specijalni fajlovi
Provera radne kopije
Preuzimanje dubina
Urezivanje vaših izmena u spremište
Urezivanje dijalog
Liste izmena
Urezivanje samo dela fajlova
Isključivanje stavki iz liste za urezivanje
Urezivanje dnevnika poruka
Napredovanje urezivanja
Ađurirajte vašu radnu kopiju izmenama drugih
Rešavanje konflikta
Fajl Konflikti
Konflikti osobina
Konflikti Stabla
Dobijanje status informacija
Prekrivne ikone
Detaljni status
Lokalni i daljinski status
Pregled Razl
Liste izmena
Shelving
Revizioni dijalog dnevnika
Pozivanje na dijalog dnevnika revizija
Akcije dnevnika revizija
Dobijanje dodatnih informacija
Dobijanje više poruka dnevnika
Tekuća Revizija Radne Kopije
Spajanje osobina praćenja
Izmena poruka dnevnika i autora
Filriranje dnevnika poruka
Statističke informacije
Isključen mod
Obnavljanje izgleda
Pregled razlika
Fajl razlike
Kraj-reda i Belina Opcije
Poređenje foldera
Razl slika koristeći TortozDif
Difing Ofice dokumente
Spoljašnji Razl/Stopi alat
Dodavanje novih fajlova i foldera
Kopiranje/Pomeranje/Preimenovanje fajlova i foldera
Zanemarivanje fajlova i foldera
Hvatanje modela u listi zanemarivanja
Brisanje, pomeranje i preimenovanje
Brisanje fajlova i foldera
Pomeranje fajlova i foldera
Rad sa konfliktom veličine slova u imenu fajla
Ispravka preimenovanja fajlova
Brisanje neverzionisanih fajlova
Poništi izmene
Čišćenje
Podešavanje projekta
Subverzione osobine
Osobine TortoiseSVN projekata
Uređivač osobina
Spoljašnje Stavke
Imenici
Spoljašnji Fajlovi
Kreiranje eksternala sa vuci i pusti
Grananje/Označavanje
Kreiranje Grane ili oznaka
Drugi način kreiranja grane ili oznake
Preuzeti ili prebaciti...
Spajanje
Spajanje opsega revizija
Spajanje dva različita stabla
Opcije spajanja
Pregled rezultata spajanja
Praćenje Spajanja
Rukovanje konfliktima posle stapanja
Osobina održavanja grane
Zaključavanje
Kako zaključavanje radi na Subverziji
Zaključavanje
Otključavanje
Provera statusa zaključavanja
Pravljenje nezaključanih fajlova samo za čitanje
Zakačive skripte za zaključavanje
Kreiranje i primena zakrpa
Kreiranje fajla zakrpe
Primena fajla zakrpe
Ko je izmenio koju liniju?
Krivac za fajl
Razlikeke okrivljavanja
Pretraživač spremišta
Revizioni Graf
Čvor revizionog grafa
Izmena pogleda.
Korišćenje grafa
Obnavljanje izgleda
Uprošćavanje Stabala
Izvoz Subverzione radne kopije
Izbacivanje radne kopije iz kontrole verzija
Relociranje radne kopije
Integracija sa Bag Praćenja Sistem / Problem Tragači
Dodavanje Problem Brojeva u Dnevnik Poruka
Dobijanje informacija od poblem tragača
Integracija sa Veb-zasnovanom pregledaču spremišta
TortoiseSVN postavke
Generalno podešavanje
Revizioni Graf Podešavanje
Ikona prekrivač podešavanje
Mrežna podešavanja
Spoljašnji program podešavanja
Sčvani podaci podešavanje
Keš dnevnika
Zakačiv skript klijentske strane
TortozBlame podešavanje
TortoiseUDiff podešavanje
Izvoz TSVN podešavanja
Napredna podešavanja
Finalni korak
5. Projekt monitor
Dodavanje projekta u monitor
Monitor dijalog
Glavne operacije
6. SubVCRev program
SubVCRev komandna linija
Zamena ključnih reči
Primer ključne reči
COM interfejs
7. IBagtragačSnabdevač interfejs
Konvencija označavanja
IBagtragačSnabdevač interfejs
IBagtragačSnabdevač2 interfejs
A. Često postavljana pitanja (ČPP)
B. Kako da ja...
Pomeri/kopiraj mnogo fajlova ođednom
Forsirati korisnike da unesu poruke dnevnika
Zakačiv skript na serveru
Osobine projekta
Obnavljanje izabranih fajlova iz spremišta
Vrati nazad (poništi) revizije u spremištu
Koristi dijalog dnevnika revizija
Koristi dijalog spajanja
Koristi svndumpfilter
Uporedi dve revizije fajla ili foldera
Uključi sličan sub-projekat
Koristite svn:externals
Koristi ugnježdenu radnu kopiju
Koristi relativnu lokaciju
Dodaj projekat u spremište.
Kreiraj skraćenicu za spremište
Zanemarivanje fajlova koji su već verzionisani.
Neverzionisana radna kopija
Ukloni radnu kopiju
C. Korisni saveti za administratore
Raspoređivanje TortoiseSVN preko grupne polise
Preusmeravanje provere nadogradnje
Podešavanje SVN_ASP_DOT_NET_HACK promenljive okruženja.
Onemugući ulaz kontekstnog menija
D. Automatizovanje TortoiseSVN
TortoiseSVN komande
Tsvncmd URL rukovalac
TortozIDif komande
TortoiseUDiff komande
E. Komandna Linija Interfejs Unakrsne Reference
Konvencije i osnovna pravila
TortoiseSVN komande
Preuzimanje
Obnavljanje
Uskladi sa revizijom...
Urezivanje
Razl
Prikaži dnevnik
Provera izmena
Revizioni graf
Repo-pretraživač
Uredi sukob
Rešeno
Preimenuj
Obriši
Vrati na staro
Čišćenje
Zaključaj
Skini Katanac
Grana/Oznaka
Zamena
Stopi
Izvezi
Premesti
Kreuraj spremište ovde
Dodavanje
Uvezi
Krivac
Dodaj u listu za zanemarivanje
Izradi zakrpu
Primena zakrpa
F. Implementacioni detalji
Prekrivne ikone
G. Jezički paket i provera sintakse
Jezički paketi
Pravopis kontrola
Pojmovnik
Indeks

Spisak slika

1.1. TortoiseSVN meni za neverzionisani folder
1.2. Uvozni dijalog
1.3. Pregledač fajl razlika
1.4. Dijalog dnevnika
2.1. Tipični klijent/server sistem
2.2. Kako izbeći problem
2.3. Zaključaj-Menjaj-Otključaj rešenje
2.4. Kopiraj-Menjaj-Stopi rešenje
2.5. ...Kopiraj-Menjaj-Stopi nastavak
2.6. Fajlsistem spremišta
2.7. Spremište
3.1. TortoiseSVN meni za neverzionisani folder
4.1. Pretraživač prikazuje prekrivne ikone
4.2. Kontekst meni za folder pod kontrolom verzija
4.3. Eksplorer fajl meni za skraćenice u verzionisanom folderu
4.4. Desni vuci meni za foldere pod kontrolom verzija
4.5. Autentikacioni dijalog
4.6. Preuzimanje dijalog
4.7. rezivanje dijalog
4.8. Provera pravopisa dijaloga urezivanja
4.9. Progres dijalog koji prikazije napredovanje urezivanja
4.10. Progres dijalog koji pokazuje završeno obnavljanje
4.11. Pretraživač prikazuje prekrivne ikone
4.12. Vlasnički list eksplorera, Subverzioni tab
4.13. Provera izmena
4.14. Dijalog urezivanja sa listom promena
4.15. Shelve dialog
4.16. Unshelve dialog
4.17. Dijalog dnevnika revizija
4.18. Gornji panel kontekstnog menija dnevnika dijaloga revizija
4.19. Kod saradnik dijalog podešavanja
4.20. Gornji panel kontekstnog menija za 2 izabrane revizije
4.21. Dijalog dnevnika donji panel sa kontekstnim menijem
4.22. Dnevnik donji panel sa lontekst menijem kada su višestruki fajlovi izabrani.
4.23. Dijalog dnevnika koji prikazuje spajanje praćenja revizija
4.24. Urezivanje-po-autorskom histogramu
4.25. Ureuivanje-po-autorskom pita dijagramu
4.26. Urezivanje-po-podacima grafa
4.27. Dijalog Idi na Isključenje
4.28. Poređenje revizionija dijalog
4.29. Pregledač razlika slika
4.30. Eksplorerov kontekst meni za neverzionisane fajlve
4.31. Desni vuci meni za foldere pod kontrolom verzija
4.32. Eksplorerov kontekst meni za neverzionisane fajlve
4.33. Eksplorerov kontekst meni za verzionisane fajlove
4.34. Vrati dijalog
4.35. Dijalog čišćenja
4.36. Subverzioni vlasnički list
4.37. Dodavanje osobina
4.38. Dijalog osobina za zakačive skripte
4.39. Dijalog osobina korisničkih bul tipova
4.40. Dijalog osobina korisničkih tipova stanja
4.41. Dijalog osobina jedna linija korisnički tipovi
4.42. Dijalog osobina više linija korisnički tipovi
4.43. svn:eksternali strana osobina
4.44. svn:ključne reči strana osobina
4.45. svn:eol-stil strana osobina
4.46. tsvn:bagtrek strana osobina
4.47. Veličina strane osobina dnevnika poruka
4.48. Jezik strane osobina
4.49. svn:mime-tip strana osobina
4.50. svn:traži-zaključavanje
4.51. svn:izvršni strana osobina
4.52. Dijalog osobina stapa dnevnik poruke šablona
4.53. Grana/Oznaka dijalog
4.54. Prebaci dijalog
4.55. Čarobnjak soajanja - Izbor opsega revizija
4.56. Čarobnjak spajanja - Spajanje stabla
4.57. Dijalog konflikta stapanja
4.58. Dijalog konfliktnog stabla stapanja
4.59. Stopi-sve dijalog
4.60. Dijalog zaključavanja
4.61. Provera dijaloga izmena
4.62. Kreiranje dijaloga zakrpe
4.63. Beleška/Krivac dijalog
4.64. TortozBlame
4.65. Pretraživač spremišta
4.66. Revizioni graf
4.67. Izvoz-iz-URL dijalog
4.68. Relociranje dijalog
4.69. Dijalog bagtrek osobina
4.70. Primer dijaloga zahteva problem tragača
4.71. Dijalog podešavanja, opšta stranica
4.72. Dijalog podešavanja, Konetekst meni strana
4.73. Podešavanje dijaloga, dijalog 1 strana
4.74. Dijalog podešavanja, Dijalog 2 stranica
4.75. Dijalog podešavanja, strana dijaloga 3
4.76. Dijalog Podešavanja, Stranica Boja
4.77. Dijalog Podešavanja, Strana Revizionog Grafa
4.78. Dijalog Podešavanja, Revizioni Graf Stranica Boja
4.79. Dijalog podešavanja, Ikona prekrivači stranica
4.80. Dijalog podešavanja, Podešavanje ikona stranica
4.81. Dijalog podešavanja, Podešavanje ikona stranica
4.82. Dijalog podešavanja, Mrežna stranica
4.83. Dijalog podešavanja, Razl pregledač stranica
4.84. Dijalog podešavanja, Razl/Stopi napredni dijalog
4.85. Dijalog podešavanja, Sačuvani podaci stranica
4.86. Dijalog podešavanja, Keš dnevnika stranica
4.87. Dijalog podešavanja, Keš dnevnika statistika
4.88. Dijalog podešavanja, Zakačiv skript stranica
4.89. Dijalog podešavanja, Konfiguracija zakačivog skripta
4.90. Dijalog podešavanja, Stranica integracije problem tragača
4.91. Dijalog podešavanja, TortozBlame stranica
4.92. Dijalog podešavanja, TortoiseUDiff strana
4.93. Dijalog podešavanja, sinhro strana
4.94. Alatni panel sa uobičajenim grupisanjem
4.95. Alatni pult sa grupisanjem spremišta
4.96. Alatni pult sa grupisanjem spremišta
4.97. Alatni pult grupisanje sa kolor prekrivačima spremišta
5.1. Uređivač projekt dijaloga projekt monitora
5.2. Glavni dijalog projekt monitora
B.1. The TortoiseSVN right drag context menu for moving files
C.1. Dijalog urezivanja, prikazuje primedbe nadgradnje

Spisak tabela

2.1. URL pristup spremištu
4.1. Označena revizija
6.1. Lista dostupnih prekidača komandne linije
6.2. Lista SubVCRev kodova grešaka
6.3. Lista dostupnih ključnih reči
6.4. COM/automatizacija metode podržane
C.1. Ulazi menija i njihove vrednosti
D.1. Lista dostupnih komandnih opcija
D.2. Lista raspoloživih opcija
D.3. Lista raspoloživih opcija

Predgovor

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.

Šta je TortoiseSVN?

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.

TortoiseSVN osobine

Šta čini TortoiseSVN tako dobrim Subverzionim klijentom? Ovde je kratka lista osobina.

Integracija školjke

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.

Ikone prekrivači

Status svakog verzionisanog fajla i foldera označen je prekrivanjem ikonom. Na taj način možete videti status vaše radne kopije.

Grafički korisnički interfejs

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.

Lak pristup Subverzionim komandama.

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:

Verzionisanje foldera

CVS prati samo istoriju individualnih fajlova, dok Subverzija implementiravirtualni 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.

Atomsko urezivanje

Urezivanje ili ide u spremište kompletno, ili ništa. Ovo omogućava programerima da naprave i urežu izmene kao logičke delove.

Verzionisani metapodaci

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.

Izbor mrežnih slojeva

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.

Skladno rukovanje podacima

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.

Efikasno grananje i označavanje

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.

Licence

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/.

Razvoj

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.

TortoiseSVN istorija

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.

Zahvalnosti

Tim Kemp

za pokretanje TortoiseSVN projekta

Stefan Kung

za težak rad da se TortoiseSVN dovede do onog šta je sada, i njegovo vođstvo u projektu

Lube Onken

za lepe ikone, logo, lovljenje bagova, prevođenje i upravljanjem prevodima

Simon Lardž

za održavanje dokumentacije

Stefan Fuhrman

za keš dnevnika i revizioni graf

Knjiga Subverzija

za veliki uvod u Subverziju i poglavlje 2 koje smo kopirali ovde

Tigris stil projekat

za neke stilove koje su preuzete u ovu dokumentaciju

Naši dopisnici

za zakrpe, izveštaje o bagovima i nove ideje, i za pomaganje drugima odgovaranjem na pitanja na našoj poštanskoj listi.

Naši donatori

za mnogo časova uživanja u muzici koju su nam slali

Vodič za čitanje

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.

Terminologija korišćena u ovom dokumentu

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. TortoiseSVNDnevnik prikaza znači: izaberi Dnevnik prikaza iz TortoiseSVN kontekst menija.

Tamo gde se lokalni kontekstni meni pojavljuje u okviru TortoiseSVN dijaloga, to je prikazano kao: Kontekstni MeniSačuvaj Kao ...

Dugme korisničkog interfejsa prikazano je kao: PritisniDA 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žno

Važne zabeleške su označene ikonom.

Savet

Saveti koji vam čine život lakšim.

Upozorenje

Mesta gde treba da brinete šta radite.

Upozorenje

Gde je izuzetna briga preduzeta. Uništavanje podataka ili druge loše stvari mogu se javiti ako se upozorenja ignorišu.

Poglavlje 1. Krenimo od početka

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.

Instaliranje TortoiseSVN

Zahtevi sistema

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.

Instalacija

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.

Važno

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.

Osnovni koncepti

Pre nego se zaglavimo u radu sa pravim fajlovima, važno je pogledati kako Subverzija radi i termine koje koristi.

Spremište

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.

Radna kopija

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:

Slika 1.1. TortoiseSVN meni za neverzionisani folder

TortoiseSVN meni za neverzionisani folder


Idi na test drajv

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.

Kreiranje spremišta

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 TortoiseSVNKreirajte spremište ovde.... Spremište tada kreirano unutar foldera spremno je za korišćenje. Takođe ćemo kreirati uobičajenu internu strukturu foldera kliknuvši na Kreirajte strukturu foldera button.

Važno

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.

Uvoženje projekta

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 TortoiseSVNUvoz... što daje dijalog

Slika 1.2. Uvozni dijalog

Uvozni 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 OK i folder je dodat u spremište.

Preuzimanje radne kopije

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

Važno

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: SVN preuzimanje...

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.

Izrada izmena

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 TortoiseSVNDiff... TortoiseSVN alat za poređenje fajla pokreće, prikazujući tačno koje linijesu promenjene.

Slika 1.3. Pregledač fajl razlika

Pregledač fajl razlika


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 TortoiseSVNUrezivanje. 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 OK. Dijalog napredovanja prikazuje fajlove poslatih u spremište i završenih.

Dodavanje još fajlova

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 TortoiseSVNDodaj. 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 ortoiseSVNDodaj.

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.

Pregled istorije projekta

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).

Slika 1.4. Dijalog dnevnika

Dijalog dnevnika


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.

Poništavanje izmena

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, TortoiseSVNVrati 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 Kontekst meni Vraćanje izmena iz ovihrevizija i ove izmene će biti vraćenje.

Pomeranje na ...

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.

Poglavlje 2. Osnovni Kontrola-Verzija Koncepti

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.

Spremište

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.

Slika 2.1. Tipični klijent/server sistem

Tipični klijent/server sistem

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.

Modeli verzionisanja

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.

Problem Fajl-Deljenja

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.

Slika 2.2. Kako izbeći problem

Kako izbeći problem

Zaključaj-Menjaj-Otključaj rešenje

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.

Slika 2.3. Zaključaj-Menjaj-Otključaj rešenje

Zaključaj-Menjaj-Otključaj rešenje

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.

Kopiraj-Menjaj-Stopi rešenje

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.

Slika 2.4. Kopiraj-Menjaj-Stopi rešenje

Kopiraj-Menjaj-Stopi rešenje

Slika 2.5. ...Kopiraj-Menjaj-Stopi nastavak

...Kopiraj-Menjaj-Stopi nastavak

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.

Šta Subverzija radi?

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.

Subverzija u akcija

Radna kopija

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.

Slika 2.6. Fajlsistem spremišta

Fajlsistem spremišta

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.

URL spremišta

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

ŠemaPristupni 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.

Revizije

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.

Slika 2.7. Spremište

Spremište

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.

Kako radna kopija prati spremište

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:

Neizmenjen i tekući

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.

Lokalno izmenjen i tekući

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.

Nepromenjen i zastareo

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.

Lokalno izmenjen i zastareo

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.

Zaključak

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.

Poglavlje 3. Spremište

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.

Kreiranje spremišta

Kreiranje spremišta klijentom komandne linije

  1. Kreirajte prazan folder sa imenom SVN (npr. D:\SVN\), koji se koristi kao koren za sva spremišta.

  2. Kreirajte drugi folder MyNewRepository unutar D:\SVN\.

  3. 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.

Kreiranje spremišta sa TortoiseSVN

Slika 3.1. TortoiseSVN meni za neverzionisani folder

TortoiseSVN meni za neverzionisani folder

  1. Otvorite vindouz pretraživač

  2. Kreirajte novi folder i nazovite ga npr. SVNRepository

  3. Desni klik na novo kreirani folder i izaberite TortoiseSVNKreirajte spremište ovde....

    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.

Savet

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.

Lokalni pristup spremištu

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.

Pristupanje spremištu na mrežnom deljenom prostoru

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.

Izgled spremišta

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:

  1. kreirajte prazan folder na vašem čvrstom disku

  2. kreirajte željeni vršni-nivo folder strukturu unutar tog foldera - nemojte stavljati nijedan fajl još!

  3. uveite ovu strukturu u spremište preko desni klik na folder koji sadrži ovu strukturu foldera i izborom TortoiseSVNUvezi... 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\Newu koren spremišta, koji će tada izgledati ovako:

/trunk
/branches
/tags
      

Osiguranje spremišta

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čive skripte sa serverske strane

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.

Prekrivanje zakačaljki

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č :-)

Veze preuzimanja

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>

Pristupanje Spremištu

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.

Poglavlje 4. Vodič dnevnog korišćenja

Sadržaj

Opšte osobine
Prekrivne ikone
Kontekst meniji:
Vuci baci
Zajedničke skraćenice
Autentikacija
Maksimiranje Vindouza
Uvoz podataka u spremište
Uvezi
Uvoz na mesto
Specijalni fajlovi
Provera radne kopije
Preuzimanje dubina
Urezivanje vaših izmena u spremište
Urezivanje dijalog
Liste izmena
Urezivanje samo dela fajlova
Isključivanje stavki iz liste za urezivanje
Urezivanje dnevnika poruka
Napredovanje urezivanja
Ađurirajte vašu radnu kopiju izmenama drugih
Rešavanje konflikta
Fajl Konflikti
Konflikti osobina
Konflikti Stabla
Dobijanje status informacija
Prekrivne ikone
Detaljni status
Lokalni i daljinski status
Pregled Razl
Liste izmena
Shelving
Revizioni dijalog dnevnika
Pozivanje na dijalog dnevnika revizija
Akcije dnevnika revizija
Dobijanje dodatnih informacija
Dobijanje više poruka dnevnika
Tekuća Revizija Radne Kopije
Spajanje osobina praćenja
Izmena poruka dnevnika i autora
Filriranje dnevnika poruka
Statističke informacije
Isključen mod
Obnavljanje izgleda
Pregled razlika
Fajl razlike
Kraj-reda i Belina Opcije
Poređenje foldera
Razl slika koristeći TortozDif
Difing Ofice dokumente
Spoljašnji Razl/Stopi alat
Dodavanje novih fajlova i foldera
Kopiranje/Pomeranje/Preimenovanje fajlova i foldera
Zanemarivanje fajlova i foldera
Hvatanje modela u listi zanemarivanja
Brisanje, pomeranje i preimenovanje
Brisanje fajlova i foldera
Pomeranje fajlova i foldera
Rad sa konfliktom veličine slova u imenu fajla
Ispravka preimenovanja fajlova
Brisanje neverzionisanih fajlova
Poništi izmene
Čišćenje
Podešavanje projekta
Subverzione osobine
Osobine TortoiseSVN projekata
Uređivač osobina
Spoljašnje Stavke
Imenici
Spoljašnji Fajlovi
Kreiranje eksternala sa vuci i pusti
Grananje/Označavanje
Kreiranje Grane ili oznaka
Drugi način kreiranja grane ili oznake
Preuzeti ili prebaciti...
Spajanje
Spajanje opsega revizija
Spajanje dva različita stabla
Opcije spajanja
Pregled rezultata spajanja
Praćenje Spajanja
Rukovanje konfliktima posle stapanja
Osobina održavanja grane
Zaključavanje
Kako zaključavanje radi na Subverziji
Zaključavanje
Otključavanje
Provera statusa zaključavanja
Pravljenje nezaključanih fajlova samo za čitanje
Zakačive skripte za zaključavanje
Kreiranje i primena zakrpa
Kreiranje fajla zakrpe
Primena fajla zakrpe
Ko je izmenio koju liniju?
Krivac za fajl
Razlikeke okrivljavanja
Pretraživač spremišta
Revizioni Graf
Čvor revizionog grafa
Izmena pogleda.
Korišćenje grafa
Obnavljanje izgleda
Uprošćavanje Stabala
Izvoz Subverzione radne kopije
Izbacivanje radne kopije iz kontrole verzija
Relociranje radne kopije
Integracija sa Bag Praćenja Sistem / Problem Tragači
Dodavanje Problem Brojeva u Dnevnik Poruka
Dobijanje informacija od poblem tragača
Integracija sa Veb-zasnovanom pregledaču spremišta
TortoiseSVN postavke
Generalno podešavanje
Revizioni Graf Podešavanje
Ikona prekrivač podešavanje
Mrežna podešavanja
Spoljašnji program podešavanja
Sčvani podaci podešavanje
Keš dnevnika
Zakačiv skript klijentske strane
TortozBlame podešavanje
TortoiseUDiff podešavanje
Izvoz TSVN podešavanja
Napredna podešavanja
Finalni korak

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.

Opšte osobine

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.

Prekrivne ikone

Slika 4.1. Pretraživač prikazuje prekrivne ikone

Pretraživač prikazuje prekrivne ikone


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.

Kontekst meniji:

Slika 4.2. Kontekst meni za folder pod kontrolom verzija

Kontekst meni za folder pod kontrolom verzija


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.

Savet

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!

Slika 4.3. Eksplorer fajl meni za skraćenice u verzionisanom folderu

Eksplorer fajl meni za skraćenice u verzionisanom folderu


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.

Vuci baci

Slika 4.4. Desni vuci meni za foldere pod kontrolom verzija

Desni vuci meni za foldere pod kontrolom verzija


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.

Zajedničke skraćenice

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.

F1

Po,oć, svakako.

F5

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.

Ctrl-A

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 ...

Ctrl-C

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.

Autentikacija

Ako je spremište kome pokušavate da pristupite zaštićeno lozinkom, autentikacioni dijalog će vam biti prikazan.

Slika 4.5. Autentikacioni dijalog

Autentikacioni dijalog


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 Briši sve će obrisati keširane autentifikacione podatke za sva spremišta. Dugme Briši... 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“.

Maksimiranje Vindouza

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.

Uvoz podataka u spremište

Uvezi

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:

  1. Izbacite sve fajlove koji nisu potrebni za gradnju projekta (privremeni fajlovi, koje generiše kompajler npr. *.obj, kompajlirane binarije, ...)

  2. 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 TortoiseSVNUvoz... 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\Widgetu 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 OK 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 uvezli 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.

Uvoz na mesto

Uzmimo da već imate spremište i želite da dodate novu strukturu foldera u njega, samo pratite ove korake:

  1. 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.

  2. 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.

  3. Koristite TortoiseSVNDodaj... na ovaj verzionisani folder da dodate deo ili ceo sadržaj. Možete dodati i izbaciti fajlove, postaviti svn:zanemari osobine foldera i uraditi druge izmene koje su vam potrebne.

  4. Urežite folder vršnog nivoa, i imate novo verzionisano stablo i lokalnu radnu kopiju, kreiranu od postojećeg foldera.

Specijalni fajlovi

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.

Provera radne kopije

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 TortoiseSVNPreuzmi..., koja daje sledeći dijalog boks:

Slika 4.6. Preuzimanje dijalog

Preuzimanje dijalog


Ako unesete ime foldera koje još ne postoji, tada će folder tog imena biti kreiran.

Važno

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: SVN preuzimanje...

Preuzimanje dubina

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.

Potpuno rekurzivan

Preuzimanje celog stabla uključujući i potomačke foldere i podfoldere.

Neposredni potomak, uključujući foldere

Preuzimanje specificiranog foldera, uključujući sve fajlove i potomačke foldere, ali ne naseljavati potomačke foldere.

Samo fajlovi potomci

Preuzimanje specificiranih foldera, uključujući sve fajlove ali ne preuzimati bilo koji potomački folder.

Samo ova stavka

Preuzimanje samo foldera. Ne naseljavti ga fajlovima ili potomačkim imenicima.

Radna kopija

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.

Isključi

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 Izaberi stavke.... Ovo otvara dijalog gde možete čekirati sve stavke koje želite u radnoj kopiji i otčekirati sve stavke koje ne želite. Rezultantna radna kopija je tada poznata kao 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:

Prazno Usklađivanje korišćenjem Usklađivanje prema Reviziji

Desni klik na preuzet folder zatim koristiti TortoiseSVNUskladi prema reviziji i izaberi Izaberi stavke.... 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.

Prazno Usklađivanje koristeći Repo Pretraživač

Desni klik na preuzeti folder, zatim koristite TortoiseSVNRepo-Pretraživač da dovede pretraživač spremišta. Nađite subfolder koji želite da dodate u vašu radnu kopiju, zatim kristite Kontekst MeniUskladi stavku prema reviziji....

Prazno Usklađivanje korišćenjem Provera za Izmene

U dijalogu provere za izmene, najpre šift klik na dugme Proveri spremište. 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 Kontekst meniUskladi.

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:

  1. Preuzmite predački folder sa dubinom Samo ova stavka Sada imate prazan vršni folder.

  2. Izaberite novi folder i koristite TortoiseSVNRepo pretraživač da prikažete sadržaj spremišta.

  3. Desni klik na Project03i Kontekst meniUskladite stavku sa revizijom....Čuvajte podrazumevano podešavanje i kliknite na OK. Vi sada imate folder potpuno popunjen.

    Ponovite isti proces za Project25.

  4. 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.

Izmena dubine radne kopije

Kada već preuzmete radnu kopiju do posebne dubine maožete kasnije izmeniti dubinu da dobijete više ili manje sadržaja koristeći Kontekst meniUskladite stavku sa revizijom.... U tom dijalogu obavezno proverite Načinite dubinu zalepivom checkbox.

Korišćenje starijeg servera

Pre-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.

Važno

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 TortoiseSVNUskladite sa revizijom... umesto TortoiseSVNUskladite.

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!

Izvoz

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.

Urezivanje vaših izmena u spremište

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 TortoiseSVNUskladi direktno. Ili možete koristiti TortoiseSVNProvera Izmena najpre, da vidite koji su fajlovi izmenjeni lokalno ili na serveru.

Urezivanje dijalog

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 TortoiseSVNUreži....

Slika 4.7. rezivanje dijalog

rezivanje dijalog


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!

Urezivanje fajlova ili foldera?

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.

Mnogo neverzionisanih fahlova u dialogu urezivanja

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 TortoiseSVNDodajte listi izbegavanja 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 TortoiseSVNDodaj u listu zanemarivanja (rekurzivno) 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.

Upozorenje kad ureѕuje u znak

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“

Vuci baci

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.

Popravka spoljašnjih preimenovanja

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 Kontekst MeniPopravi Pomeranje da se upare dva fajla kao preimenovanje.

Popravka spoljašnjih kopija

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 Kontekst MeniPopravi Kopiju da sparite dva fajla kao kopiju.

Liste izmena

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“.

Urezivanje samo dela fajlova

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 Kontekst meniVrati posle urezivanja. 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.

Korišćenje TortoiseMerge

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 Kontekst meniMarkiraj ove izmene da uključite te izmene. Na kraju desni klik i koristite Kontekst meniOstavi samo markirane izmene š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.

Isključivanje stavki iz liste za urezivanje

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.

Urezivanje dnevnika poruka

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.

Slika 4.8. Provera pravopisa dijaloga urezivanja

Provera pravopisa dijaloga urezivanja


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 Skore poruke 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 Kontekst MeniNalepi listu imena fajlova u edit kontroli.

Drugi način da se unese putanja u dnevnik poruka da se jednostavno vuku fajlovi iz liste fajlova u edit kontrolu.

Specijalni folder osobina

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.

Integracija sa alatom za praćenje bagova

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“.

Napredovanje urezivanja

Posle pritiskanja OK, pojavljuje se dijalog koji prikazuje napredovanje urezivanja.

Slika 4.9. Progres dijalog koji prikazije napredovanje urezivanja

Progres dijalog koji prikazije napredovanje urezivanja


Progres dijalogkoristi kodiranje bojama da osvetli različite akcije urezivanja

Plavi

Urezivanje izmene.

Purpuran

Urezivanje novih dodavanja

Tamno crven

Urezivanje brisanja ili zamena

Crn

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.

Ađurirajte vašu radnu kopiju izmenama drugih

Slika 4.10. Progres dijalog koji pokazuje završeno obnavljanje

Progres dijalog koji pokazuje završeno obnavljanje


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 TortoiseSVNuskladi 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

Purpuran

Novq stavka dodata u vašu RK

Tamno crven

Redundantne stavke obrisane iz vaše RK, ili nedostajuće stavke zamenjene u vašoj RK.

Zelen

Izmene iz spremišta sukcesifno su stopljene sa vašim lokalnim izmenama.

Svetlo crvena

Izmene iz spremišta stopljeni sa lokalnim imenama, rezultovane u konfliktima koje treba da rešiti.

Crn

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 TortoiseSVNUskladi sa revizijom... 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 Izaberi stavke.... 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).

Upozorenje

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.

Uskladite sa revizijom 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 Kontekst MeniSačuvaj reviziju u... komanda iz dijaloga dnevnika fajla.

Višestruki fajlovi/imenici

Ako izaberete više fajlova i foldera u pretraživaču i tada izaberete Uskladi, 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.

Rešavanje konflikta

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 konflikti

Fajl konflikt se javlja ako su dva (ili više) programera izmenila istih nekoliko linija fajla.

konflikti stabla

Konflikt stabla javlja se kadaje programer pomerio/preimenovao/obrisao fajl ili folder, koji je drugi programer pomerio/preimenovao/obrisao ili samo izmenio.

Fajl Konflikti

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:

filename.ext.mine

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.

filename.ext.rOLDREV

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.

filename.ext.rNEWREV

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 TortoiseSVNUredi konflikte ili možete koristiti bilo koji uređivač teksta da rešite konflikte ručno. Treba da odlučite na šta kod treba da liči, uradite neophodne izmene i sačuvate fajl. Koristeći alat stapanja kao što je TortoiseMerge ili neki od popularnih alata je lakša opcija koji uopšte prezentuju fajl u 3-panel izgledu i ne brinite o konfliktnim markerima. Ako koristite tekst uređivač morate tražiti linije koje počinju sa <<<<<<<.

Posle izvršenja komande TortoiseSVNRešen i urežite vaše izmene u spremište. Molim primetite da komanda Reši ne rešava stvarno konflikte. Ona samo uklanja 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 TortoiseSVNRešen... Ovo će prikazati dijalog listing svih konfliktnih fajlova u tom folderu, i možete izabrati koji da markirate rešenim.

Konflikti osobina

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.

Konflikti Stabla

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.

Lokalno briši, dolazeće uredi do obnavljanja

  1. Programer A menja Foo.c i urezuje ga u spremište.

  2. Programer B je istovremeno pomerio Foo.cu 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.

Lokalno uredi, dolazeće obriši do obnavljanja

  1. Programer A pomera Foo.c u Bar.c i urezuje ga u spremište.

  2. Programer B menja Foo.c u svojoj radnoj kopiji.

Ili u slučaju pomeranja foldera ...

  1. Programer A pomera predački folder FooFolder u BarFolder i urezuje ga u spremište.

  2. 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.

Lokalno briši, dolazeće briši do obnavljanja

  1. Programer A pomera Foo.c u Bar.c i urezuje ga u spremište.

  2. 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.

Lokalno nedostaje, dolazeće urediti do stapanja

  1. Programer A radeći na deblu menja Foo.c i urezuje ga u spremište.

  2. 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.

Lokalno uredi, dolazeće obriši do stapanja

  1. Programer A radeći na deblu pomera Foo.c u Bar.c i urezuje ga u spremište.

  2. Programer B radeći na grani menja Foo.c i urezuje ga u spremište.

  1. Programer A radeći u deblu pomera predački folder FooFolder u BarFolder i urezuje ga u spremište.

  2. 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.

Lokalno briši, dolazeće briši do stapanja

  1. Programer A radeći na deblu pomera Foo.c u Bar.c i urezuje ga u spremište.

  2. 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.

Drugi konflikti stabla

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.

Dobijanje status informacija

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.

Prekrivne ikone

Slika 4.11. Pretraživač prikazuje prekrivne ikone

Pretraživač prikazuje prekrivne ikone


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“.

Detaljni status

Slika 4.12. Vlasnički list eksplorera, Subverzioni tab

Vlasnički list eksplorera, Subverzioni tab


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 Vindouz MeniOsobine 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.

Lokalni i daljinski status

Slika 4.13. Provera izmena

Provera izmena


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 TortoiseSVNProveri Modifikacije... 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 Proveri Spremište 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 Proveri Spremište 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žite Šift taster dok kliknete na Proveri Spremište dugme

Dijalog koristi kolor kodiranje da osvetli satus.

Plavi

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.

Purpuran

Dodate stavke. Stavke koje su dodate sa istorijom ima jedan + znak u Tekst status koloni, i alattip prikazuje odakle su stavke kopirane.

Tamno crven

Obrisane ili nedostajuće stavke.

Zelen

Stavke izmenjene lokalno i u spremištu. Izmene će biti stopljeni pri obnavljanju. Ovi mogu proizvesti konflikte pri obnavljanju.

Svetlo crvena

Stavke izmenjene lokalno i izbrisane u spremištu, ili izmenjene u spremištu i obrisane lokalno. Ovo će proizvesti konflikte pri obnavljanju.

Crn

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 Kontekst MeniUporedi sa Osnovom. Proverite izmene u spremištu koje su uradili drugi koristeći Kontekst MeniPrikaži Razlike kao Ujedinjene Razlike.

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 Kontekst MeniObriši. Ako želiti da obrišete fajlove za stalno (premošćavanjem korpe za otpatke) držite Šifttaster dok kliknete na Obriši.

Ako ž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.

Savet

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.

Popravka spoljašnjih preimenovanja

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 Kontekst MeniPopravi Pomeranje da se upare dva fajla kao preimenovanje.

Popravka spoljašnjih kopija

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 Kontekst MeniPopravi Kopiju da sparite dva fajla kao kopiju.

Pregled Razl

Č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 Diff iz TortoiseSVN-ov kontekst meni. Ovo pokreće spoljašnji diff-pregledač, koji će uporediti tekući fajl sa čistom kopijom (OSNOVNA revizija), što je sačuvano posle zadnjeg preuzimanja ili obnavljanje.

Savet

Č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 Diff 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.

Liste izmena

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 Kontekst MeniPomeri u listu izmena 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 OK.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.

Slika 4.14. Dijalog urezivanja sa listom promena

Dijalog urezivanja sa listom promena


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.

Savet

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.

Upozorenje

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.

Shelving

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 Context MenuShelve The following dialog allows you to select the files you want to shelve and give a name under which you want to store them.

Slika 4.15. Shelve dialog

Shelve dialog


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 Shelve button, the shelf is created and your working copy files are reset to a clean state. If you click the Checkpoint button, the shelf is created but your local modifications are kept.

To unshelve your changes, use Context MenuUnshelve 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 Apply.

Slika 4.16. Unshelve dialog

Unshelve dialog


Savet

Shelves are purely a local client feature. Creating and removing Shelves will not affect the repository, nor anyone else's working copy.

Experimental

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.

Revizioni dijalog dnevnika

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.

Pozivanje na dijalog dnevnika revizija

Slika 4.17. Dijalog dnevnika revizija

Dijalog dnevnika revizija


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“.

Akcije dnevnika revizija

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.

Dobijanje dodatnih informacija

Slika 4.18. Gornji panel kontekstnog menija dnevnika dijaloga revizija

Gornji panel kontekstnog menija dnevnika dijaloga revizija


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.

Poređenje sa radnom kopijom

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.

Uporedi i okrivi radnu OSNOVU

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)

Prikaži izmene kao objedinjene razlike

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.

Uporedi sa prethodnom revizijom

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.

Uporedi i okrivi prethodnu reviziju

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 reviziju u...

Sačuvajte izabranu reviziju u fajl tako da imate stariju verziju tog fajla. (samo fajlovi)

Otvori / Otvori sa...

Otvora izabrani fajl, ili sa podrazumevanim prikazivačem tog tipa fajlova, ili sa programom koji ste izabrali. (samo fajlovi)

Okrivi...

Krivac za fajl do izabrane revizije. (samo fajlovi)

Pretraži spremište

Otvara pretraživač spremišta da pregleda izabrane fajlove u spremištu kakvi su bili u izabranoj reviziji.

Kreira grana/oznaka iz revizije

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.

Uskladi stavku sa revizijom

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

Vrati prema ovoj reviziji

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 TortoiseSVNVratiiz 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.

Vraća izmene od ove revizije

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.

Stopi reviziju prema...

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.

Preuzimanje...

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...

Izvoz izabranog fajla/foldera u izabranoj reviziji. To izbacuje dijalog za vas da potvrdite URL i reviziju, i izbor lokaciju za izvoz.

Uredi autor / dnevnik poruka

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.

Prikaži osobine revizije

Pogledajte i uredite bilo koju osobinu revizije, ne samo dnevnik poriku i autora. Uporedite sa odeljak pod imenom „Izmena poruka dnevnika i autora“.

Kopirajte u klipbord

Kopira detalje dnevnika o izabranim revizijama za klipbord. Ovo će kopirati revizioni broj, autora, datum, dnevnik poruka i listu izmenjenih stavki za svaku reviziju.

Traži dnevnika poruke...

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.

Kreiraj kod saradnik pregled...

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.

Slika 4.19. Kod saradnik dijalog podešavanja

Kod saradnik dijalog podešavanja


Slika 4.20. Gornji panel kontekstnog menija za 2 izabrane revizije

Gornji panel kontekstnog menija za 2 izabrane revizije


Ako izaberete dve revizije odjednom (koristeći uobičajen Ctrl-modifikator), kontekst meni se menja i daje vam manje opcija:

Uporedi revizije

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“.

Okrivi revizije

Okrivljuje dve revizije i poredi izveštaj okrivljavanja koristeći vizuelni alat razlika. Pročitajte odeljak pod imenom „Razlikeke okrivljavanja“ za više detalja.

Prikažite razlike kao objedinjene razlike

Pregleda razlike između dve izabrane revizije kao Ujedinjen-Diff fajl. To radi za fajlve i foldere.

Kopirajte u klipbord

Kopiranje dnevnika poruka u klipbord kako je opisano iznad.

Traži dnevnika poruke...

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.

Slika 4.21. Dijalog dnevnika donji panel sa kontekstnim menijem

Dijalog dnevnika donji panel sa kontekstnim menijem


Donji panel dijaloga dnevnika takođe ima kontekst meni koji vam omogućava da

Prikaži izmene

Prikazuje izmene napravljene u izabranoj reviziji za pojedinačne fajlove.

Okrivi promene

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.

Prikaži kao objedinjenu razliku

Prikazuje izmene fajla u formatu objedinjene razlike. Ovaj kontekst meni je dostupan samo za fajlove prikazane kao izmenjeni.

Otvori / Otvori sa...

Otvara izabrani fajl, ili sa podrazumevanim pregedačem tog tipa fajlova, ili sa programom koji izaberete.

Okrivi...

Otvara dijalog Okrivljavanja dozvoljavajući da okrivite izabrane revizije.

Vraća izmene od ove revizije

Vratiti izmene učinjene izabranim fajlovima u toj reviziji.

Prikaži osobine

Vidi Subverzijine osobine za izabranu stavku.

Prikaži dnevnik

Prikazuje revizioni dnevnik za izabrane pojedinačne fajlove.

Uzmi dnevnike stapanja

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čuvajte reviziju u...

Sačuvati izabranu reviziju fajla tako da imate staru verziju tog fajla.

Izvoz...

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:

Slika 4.22. Dnevnik donji panel sa lontekst menijem kada su višestruki fajlovi izabrani.

Dnevnik donji panel sa lontekst menijem kada su višestruki fajlovi izabrani.


Sačuvajte reviziju u...

Sačuvati izabranu reviziju fajla tako da imate staru verziju tog fajla.

Prikaži višestruke izmene...

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.

Otvori višestruki lokal...

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...

Izvoz izabranih fajlova/foldera u izabranoj reviziji. Ovo dovodi dijalog da potvrdite URL i reviziju, i izaberete lokaciju za izvoz.

Savet

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.

Dobijanje više poruka dnevnika

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 TortoiseSVNPodešavanja (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 Sledećih 100 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 Prikaži Opseg ... ako želite da vidite specifičan opseg revizija. Dijalog će vas onda pitati da unesete početnu i krajnju reviziju.

Koristite Prikaži sve ako želite da vidite ceo dnevnik poruka iz GLAVNE nazad do revizije 1.

Da 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.

Tekuća Revizija Radne Kopije

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.

Spajanje osobina praćenja

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.

Slika 4.23. Dijalog dnevnika koji prikazuje spajanje praćenja revizija

Dijalog dnevnika koji prikazuje spajanje praćenja revizija

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.

Izmena poruka dnevnika i autora

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.

Upozorenje

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.

Važno

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“

Filriranje dnevnika poruka

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.

Nema Dnevnika Formatiranja iz Pretraživača Spremišta

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.

Statističke informacije

Statistika 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 ;-)

Statističke stranice

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.

Urezivanje po autorskom listu

Slika 4.24. Urezivanje-po-autorskom histogramu

Urezivanje-po-autorskom histogramu


Ovaj graf prikazuje koji autori su aktivni na projektu pomoću jednostavnog histograma, stek histograma ili pita dijagrama.

Slika 4.25. Ureuivanje-po-autorskom pita dijagramu

Ureuivanje-po-autorskom pita dijagramu


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.

Urezivanje po podacima lista

Slika 4.26. Urezivanje-po-podacima grafa

Urezivanje-po-podacima grafa


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.

Isključen mod

Slika 4.27. Dijalog Idi na Isključenje

Dijalog Idi na Isključenje


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:

Isključen od sada

Kompletirati tekuće operacije u iskoljučenom modu, ali pokušati da spremište traži podatke dnevnika sledeći put.

Stalno isključen

Ostati isključen mod dok se zahteva specifična provera spremišta. Vidite odeljak pod imenom „Obnavljanje izgleda“.

Odustani

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 TortoiseSVNPodešavanja.

Obnavljanje izgleda

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.

Pregled razlika

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.

Fajl razlike

Lokalne izmene

Ako želite da vidite koje izmene ste vi uradili u vašoj radnoj kopiji, samo koristite eksplorerov kontekst meni i izaberite TortoiseSVNDiff.

Razlike ka sledećoj grana/oznaka

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 TortoiseSVNDiff sa URL. 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 Poredi revizije. Pročitajte više u odeljak pod imenom „Poređenje foldera“.

Razlike od prethodne revizije

Ako želite da vidite razlike između posebne revizije i vaše radne kopije, oristite Revizioni Dnevnik dijalog, izaberite reviziju koja vas interesuje, zatim izaberite Uporedite sa radnom kopijom 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 TortoiseSVNDiff sa prethodnom verzijom. 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.

Razlike između dve prethodne revizije

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 Poredi revizije 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“.

Izmene učinjene pri urezivanju

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 Prikaži Razlike kao Ujedinjeni-Diff iz kontekst menija.

Razlike između fajlova

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 TortoiseSVNDiff.

Ako fajlovi za poređenje nisu smešteni u istom folderu koristite komandu TortoiseSVNDif kasnije da označite prvi fajl za difovanje, zatim potraljžite drugi fajl i koristite TortoiseSVNDif sa "path/of/marked/file". Da uklonite označen fajl koristite komandu TortoiseSVNDif kasnije ponovo ali držite Ctrl-modifikator dok klikćete.

Razlike između RK fajl/folder i URL

Ako ž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 TortoiseSVNDiff sa URL. 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.

Razlike sa krivac informacijama

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.

Razlike između foldera

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.

Kraj-reda i Belina Opcije

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.

Poređenje foldera

Slika 4.28. Poređenje revizionija dijalog

Poređenje revizionija dijalog


Kada izaberete dva stabla u okviru pretraživača spremišta, ili kada izaberete dve revizije foldera u dnevnik dijalogu, možete Kontekst meniPoredi Revizije.

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 Kontekst meniIzvezi izbor u.... Bićete upitani za lokaciju da sačuvate stablo izmena.

Možete takođe izvesti lista izmenjenih fajlova u tekst fajl koristeći Kontekst meniSačuvajte listu izabranih fajlova u....

Ako želite da izvezete listu fajlova i akciju (izmenjen,dodat,obrisan) takođe, možete to uraditi koristeći Kontekst meniKopiraj izbor u klipbord

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.

Razl slika koristeći TortozDif

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.

Slika 4.29. Pregledač razlika slika

Pregledač razlika slika


TortoiseSVNDiff 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 PregledInfo Slikeda 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.

Difing Ofice dokumente

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 TortoiseSVNPodešavanje i kliknite Napredno u Eksterni programi section.

Problemi sa Ofisom 2010

Ako 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.

Spoljašnji Razl/Stopi alat

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:

VinMerdž

WinMerge is a great open-source diff tool which can also handle directories.

Nasilno spajanje

Perforce je komercijalni RCS, ali možete skinuti diff/stopi alat besplatno. Uzmite više informacija sa Perforce.

KDiff3

KDiff3 je besplatan diff alat koji takođe može da opslužuje foldere. Možete ga skinuti sa here.

SourceGear DiffMerge

SourceGear Vault je komercijalni RCS, ali možete skinuti dif/merdž alat besplatno. Preuzmite više informacija sa SourceGear.

EgzamDif

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.

Posle upoređenja

Sličan EgzamDiff Pro, ovo je je izvanredan šerver diff alat koji radi sa diff foldera i junikodom. Skinite ga sa Scooter Software.

Araksovo spajanje

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.

Dodavanje novih fajlova i foldera

Slika 4.30. Eksplorerov kontekst meni za neverzionisane fajlve

Eksplorerov kontekst meni za neverzionisane fajlve


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 TortoiseSVNDodaj.

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.

Mnogo dodavanja

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:

  1. izaberite fajlove koje želite da dodate

  2. desno povlačiti njih u novu lokaciju unutar radne kopije.

  3. otpustite desno dugme miša

  4. izaberite Kontekst MeniSVN Dodaj fajlove u RK. 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 TortoiseSVNPoništi dodavanje....

Kopiranje/Pomeranje/Preimenovanje fajlova i foldera

Č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š.

Slika 4.31. Desni vuci meni za foldere pod kontrolom verzija

Desni vuci meni za foldere pod kontrolom verzija


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 TortoiseSVNNalepi (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 TortoiseSVNGrana/Oznaka. Uporedite sa odeljak pod imenom „Kreiranje Grane ili oznaka“ da nađete više o tome.

Mož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 Kontekst meniKreiraj grana/oznaka iz revizije. Uporedi sa odeljak pod imenom „Dobijanje dodatnih informacija“ za više detalja.

Takođ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.

Ne može da kopira između spremišta

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.

Zanemarivanje fajlova i foldera

Slika 4.32. Eksplorerov kontekst meni za neverzionisane fajlve

Eksplorerov kontekst meni za neverzionisane fajlve


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 TortoiseSVNDodaj na listu zanemarivanja 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 TortoiseSVNUkloni sa Liste Zanemarenih 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.

Globalna lista zanemarivanja

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.

Zanemarivanje verzionisanih stavki

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.

Hvatanje modela u listi zanemarivanja

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.

Nema Putanja u Globalnoj Listi Zanemarivanja

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 CVSu 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.

Brisanje, pomeranje i preimenovanje

Subverzija omogućava preimenovanje i pomeranje fajlova i foldera. Tako da ima mnogo ulaza za preimenovanje u TortoiseSVN submeni.

Slika 4.33. Eksplorerov kontekst meni za verzionisane fajlove

Eksplorerov kontekst meni za verzionisane fajlove


Brisanje fajlova i foldera

Koristi TortoiseSVNBriši da uklonite fajlove ili foldere iz Subverzije.

Kada vi TortoiseSVNObriši 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 je izmenjen. Sve dok ne urežete izmene možete vratiti nazad fajl koristeći TortoiseSVNVrati na predačkom fojderu.

Ako želite da obrišete stavku iz spremišta, ali da je zadržite lokalno kaoneverzionisani fajl/folder, koristite Prišireni Kontekst MeniBriši (čuvaj lokalno). Treba da držite Shift taster kada desno kliknete na stavku u pretraživačevom list panelu (desni panel) da bi ga videli u proširenom kontekst meniju.

Ako 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 TortoiseSVNObriši tako da Subverzija ne mora da pogađa šta vi zaista želite.

Vraćanje izbrisanih fajlova i foldera

Ako ste obrisali fajl ili folder i već ste urezali tu operaciju brisanja onda normalno TortoiseSVNVrati 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 Kontekst MeniKopiraj u... kao cilj za tu operaciju kopiranja izaberite putanju u vašoj radnoj kopiji.

Pomeranje fajlova i foldera

Ako želite da uradite jednostavno na-mestu preimenovanje fajla ili foldera, koristite Kontekst MeniPreimenuj... 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:

  1. izbor fajlova ili foldera koje želite da pomerite

  2. desno povlačiti njih u novu lokaciju unutar radne kopije.

  3. otpustite desno dugme miša

  4. u popap meniju izaberite Kontekst MeniSVN Pomeri verzionisani fajl ovde

urezivanje predačkog foldera

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 Kontekst meniKopiraj iz kontekst menija pretraživača. Zatim potražite ciljni folder, desni klik i izaberite Tortoise SVNNalepi. Za pomeranje fajlova, izaberite Kontekst meniIseci umesto Kontekst meniKopiraj.

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.

Nemojte da SVN pomera eksternale

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.

Rad sa konfliktom veličine slova u imenu fajla

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.

Preduprediti dva fajla sa istim imeno

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.

Ispravka preimenovanja fajlova

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 Kontekst MeniPopravi Pomeri da uparite dva fajla kao preimenovanje.

Brisanje neverzionisanih fajlova

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 Prošireni Kontekst MeniBriši neverzionisane stavke.... Držite 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.

Kada 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.

Poništi izmene

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 TortoiseSVNVrati Dijalog će iskočiti prikazijući vam fajlove koje ste izmenili i vratili. Izaberite one koje želite da vratite i kliknite na OK.

Slika 4.34. Vrati dijalog

Vrati dijalog


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 TortoiseSVNPoništi Dodaj.... 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.

Poništavanje izmena koje su urezane

Vrati samo poništava vaše lokalne izmene. To 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.

Vraćanje je sporo

Kada 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.

Čišćenje

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 TortoiseSVNČišćenje Dobra je ideja da uradite ovo na vršnom nivoi radne kopije.

Slika 4.35. Dijalog čišćenja

Dijalog čišćenja


U dijalogu čišćenja postoje druge korisne opcije za prebacivanje radne kopije u čisto stanje.

Čišćenje statusa radne kopije

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.

Ukloni ključ za pisanje

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.

Fiksira vremenski pečat

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.

Vakumirane stare kopije

Uklanja ne korišćene stare kopije i komprimuje sve stare kopije radne kopije fajlova.

Obnavlja prekrivače školjke

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.

Uključi eksternale

Ako je čekirano, onda sve akcije su date za sve fajlove i foldere uključene sa svn:externals osobinama.

Briše neverzionisane fajlove i foldere. Briše zanemarene fajlove i foldere

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 TortoiseSVNVrati dijalog. Tu dobijete listu svih neverzionisanih fajlova i foldera da birate za uklanjanje.

Vraća sve izmene rekurzivno

Ova komanda vraća sve lokalne izmene koje još nisu urezane.

Primedba: bolje je koristiti TortoiseSVNVrati komandu umesto toga, jer tad možete videti i izabrati fajlove koje hoćete da vratite.

Podešavanje projekta

Subverzione osobine

Slika 4.36. Subverzioni vlasnički list

Subverzioni vlasnički list


Možete čitati i podesiti Subverzione osobine iz Vindouz osobine dijaloga, ali takođe iz TortoiseSVNosobine i u okviru TortoiseSVN statusne liste iz Kontekst meniosobine.

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“.

svn:ključnereči

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:

$Date$

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.

$Revision$

Revizija zadnje poznatog urezvanja.

$Author$

Autor koji je uradio zadnje poznato urezivanje.

$HeadURL$

Pun URL ovog fajla u spremištu.

$Id$

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.

Dodavanje i uređenje osobina.

Slika 4.37. Dodavanje osobina

Dodavanje osobina


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 Napredno iz Nov... meni. Zatim ili izborom postojeće osobine u kombo boksu ili unošenjem izabranog imena osobine.

Ako želite da primenite osobinu na više stavki odjednom, izaberite fajlove/foldere u pretraživaču, zatim izaberite Kontekst meniosobine.

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 Uredi....

Ako želite da uklonite postojeću osobinu, izaberite osobinu iz liste postojećih osobina, zatim kliknite na Ukloni.

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“.

Osobine uređenja GLAVNE revizije

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.

Izvoz i uvoz osobina

Č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 TortoiseSVNosobine, izaberite osobine koje želite da izvezete i kliknite na Izvezi.... Bićete pitani za fajlime gde će se imena osobina i vrednosti sačuvati.

Iz foldera gde želite da primenite ove osobine, koristite TortoiseSVNosobine kliknite na Uvoz.... 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, Uredi..., čekirajte Primeni osobinu rekurzivnoboks i kliknite na OK.

Uvozni 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.

Binarne Osobine

TortoiseSVN može rukovati binarnim vrednostima osobina koristeći fajlove. Da bi se pročitala binarna vrednost osobine Sačuvaj... 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 Unesi... 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.

Automatsko podešavanje osobina

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.

Urezivanje osobina

Subverzione osobine su verzionisane. Posle izmena ili dodavanja osobina treba da urežete vaše izmene.

Konflikt u osobinama

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.

Osobine TortoiseSVN projekata

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

    • tsvn:startcommithook
    • tsvn:precommithook
    • tsvn:postcommithook
    • tsvn:startuuodatehook
    • tsvn:preupdatehook
    • tsvn:postupdatehook
    • tsvn:prelockhook
    • tsvn:postlockhook

    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.

    Slika 4.38. Dijalog osobina za zakačive skripte

    Dijalog osobina za zakačive skripte


  • 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.

    bool

    Ako vaše osobine mogu imati samo dva stanja, npr. istina i laž, onda možete konfigurisati vaše osobine kao bul tip.

    Slika 4.39. Dijalog osobina korisničkih bul tipova

    Dijalog osobina korisničkih bul tipova


    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.

    state

    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

    Slika 4.40. Dijalog osobina korisničkih tipova stanja

    Dijalog osobina korisničkih tipova stanja
    Dijalog osobina korisničkih tipova stanja
    Dijalog osobina korisničkih tipova stanja


    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.

    singleline

    Za osobine koje se sastoje od linije teksta koristi posebna linija tip osobine:

    Slika 4.41. Dijalog osobina jedna linija korisnički tipovi

    Dijalog osobina jedna linija korisnički tipovi


    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.

    multiline

    Osobine koje se sastoje od višestrukih linija teksta, koristite multilinija tip osobina:

    Slika 4.42. Dijalog osobina više linija korisnički tipovi

    Dijalog osobina više linija korisnički tipovi


    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.

Podešavanje osobina projekta o folderu

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.

Ograničenja koršćenjem pretraživača spremišta

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.

Upozorenje

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.

Uređivač osobina

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.

Sadržaj eksternala

Slika 4.43. svn:eksternali strana osobina

svn:eksternali strana osobina


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 Nađi GLAVNU-Reviziju 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.

SVN ključne reči

Slika 4.44. svn:ključne reči strana osobina

svn:ključne reči strana osobina


Izaberite ključne reči koje želite da proširite u vašem fajlu.

EOL stil

Slika 4.45. svn:eol-stil strana osobina

svn:eol-stil strana osobina


Izaberite kraj linije stil koji želite da koristite i TortoiseSVN će koristiti korektne vrednosti osobina.

Integracija problem tragača

Slika 4.46. tsvn:bagtrek strana osobina

tsvn:bagtrek strana osobina


Veličina dnevnika poruka

Slika 4.47. Veličina strane osobina dnevnika poruka

Veličina strane osobina dnevnika poruka


Ove 3 osobine kontrolišu formatiranje dnevnik poruka. Prve 2 onemogućavaju OK 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.

Jezik projekta

Slika 4.48. Jezik strane osobina

Jezik strane osobina


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.

MIME-tip

Slika 4.49. svn:mime-tip strana osobina

svn:mime-tip strana osobina


svn:needs-lock

Slika 4.50. svn:traži-zaključavanje

svn:traži-zaključavanje


Ova osobina jedostavno kontrolišu da li će fajl biti preuzet kao samo za čitanje ako nije zaključan u radnoj kopiji.

svn:izvršni

Slika 4.51. svn:izvršni strana osobina

svn:izvršni strana osobina


Ova osobina kontroliše da li će fajl imati izvršni status kada se preuzima u Juniks/Linuks sistem. Nema uticaja na Vindous preuzimanje.

Stopi dnevnik poruke obrazac

Kadgod se revizije stapaju u radnoj kopiji, TortoiseSVN generiše dnevnik poruku iz svih stopljenih revizija. One su dostupne preko Skorašnje poruke dugmeta u dijalogu urezivanja.

Možete izabrati generisane poruke sledećom osobinom:

Slika 4.52. Dijalog osobina stapa dnevnik poruke šablona

Dijalog osobina stapa dnevnik poruke šablona


tsvn:mergelogtemplatetitle, tsvn:mergelogtemplatereversetitle

Osobina određuje prvi deo generisanog dnevnika poruke. Sledeće ključne reči mogu da se koriste:

{revisions}

Lista razdvojena zapetama stopljenih revizija tj. 3, 5, 6, 7

{revisionsr}

Kao {revisions}, ali sa svakom revizijom kojoj prethodi jedno r, npr. r3, r5, r6, r7

{revrange}

Lista razdvojena zapetama stopljenih revizija grupisanih u opsegge ako je moguće, npr. 3, 5-7

{mergeurl}

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.

tsvn:mergelogtemplatemsg

Ova osobina određuje kako će izgledati tekst za svaku stopljenu reviziju. Sledeće ključne reči se mogu koristiti:

{msg}

Dnevnik poruke stopljene revizije, kako je unet.

{msgoneline}

Kao {msg}, ali njulajnovi zamenjeni razmakom tako da se cela dnevnik poruka pojavljuje u istoj liniji.

{author}

Autor stopljene revizije.

{rev}

Sama stopljena revizija.

{bugids}

Bag ID stopljene revizije, ako ima neka.

tsvn:mergelogtemplatemsgtitlebottom

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.

Važno

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.

Spoljašnje Stavke

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.

Imenici

Recimo da preuzimate radnu kopiju /project1 u D:\dev\project1. Izaberite folder D:\dev\project1, desni klik i izaberite Vindouz meniOsobine iz kontekst menija. Pojaviće se dijalog osobina. Tada idite na Subverzioni tab. Tada možete podesiti osobine. Kliknite Osobine.... U dijalogu osobina ili dvostruki klik na svn:externals ako već postoji, ili kliknite na Nov... dugme i izaberite externals iz menija. Da dodate novi eksternal kliknite na Nov... i zatim popunite traženu informaciju u prikazanom dijalogu.

Upozorenje

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.

Koristite eksplicitne revizione brojeve

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/trunku C:\Working i svn:spoljašnje osobine su podešene na deblo.

Relativno na predački folder

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.

Relativno na koren spremišta

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.

Relativno na šemu

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.

Relativno do serverovog imena domaćina

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.

Važno

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“.

Spoljašnji Fajlovi

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.

Kreiranje eksternala sa vuci i pusti

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: SVN dodaj kao eksternal ovde 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.

Grananje/Označavanje

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.

Kreiranje Grane ili oznaka

Ako ste uvezli vaš projekat sa preporučenom strukturom foldera, kreiranjem grana ili oznaka verzija je veoma jednostavno:

Slika 4.53. Grana/Oznaka dijalog

Grana/Oznaka dijalog


Izaberite folder u vašoj radnoj kopiji koji želite da kopirate u granu ili oznaku, zatim izaberite komandu TortoiseSVNGrana/Oznaka....

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.

intermedijalni folderi

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:

GLAVNA revizija u spremištu

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.

Određena revizija u spremištu

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.

Radna kopija

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 izvorOznačena revizija
GLAVNA revizija u spremištuGLAVNA revizija eksternala
Određena revizija u spremištuGLAVNA revizija eksternala
Radna kopijaRK OSNOVNA revizija eksternala


eksternali unutar 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 OK da urežete novu kopiju u spremište. Ne zaboravite da obezbedite dnevnik poruku. Primetimo da je kopija kreirana unutar spremišta.

Primetimo 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.

Drugi način kreiranja grane ili oznake

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 kreirajte granu/oznaku iz revizije...

Preuzeti ili prebaciti...

... to nije (ne realno) pitanje. Dok preuzimanje skida sve iz željene grane u spremištu ka folderu vaše radne kopije, TortoiseSVNPrebaci... 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:

  • TortoiseSVNPreuzimanje 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 TortoiseSVNPrebaci... iz kontekst menija.

    U sledećem dijalogu unesite URL grane koju ste kreirali. Izaberite Glavna Revizija radio dugme i kliknite na OK. 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 TortoiseSVNPrebaci... zatim kopirajte u novu granu.

Slika 4.54. Prebaci dijalog

Prebaci dijalog


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.

Spajanje

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 TortoiseSVNStopi....

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.

Stopi opseg revizija

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.

Stopi dva različita stabla

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.

Spajanje opsega revizija

Slika 4.55. Čarobnjak soajanja - Izbor opsega revizija

Čarobnjak soajanja - Izbor opsega revizija


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.

Važno

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 Prikaži Dnevnik, 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 podrazumevani Shift-modifikator). Kliknite na OK i lista revizionih brojeva za stapanje će biti napunjena za vas.

Ako ž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 Prikaži Dnevnik 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 Sledeći i idite na odeljak pod imenom „Opcije spajanja“.

Spajanje dva različita stabla

Slika 4.56. Čarobnjak spajanja - Spajanje stabla

Čarobnjak spajanja - Spajanje stabla


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 Prikaži Dnevnik da izaberete reviziju.

Opcije spajanja

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 Stopi dugme. Ako želite da pregledate rezultat Testiraj Stapanje omogućava operaciju stapanja, ali 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.

Dijalog 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.

Pregled rezultata spajanja

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.

Savet

Kadgod se revizije stapaju u radnoj kopiji, TortoiseSVN generiše dnevnik poruku iz svih stopljenih revizija. One su dostupne preko Skorašnje poruke 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.

Savet

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.

Važno

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.

Praćenje Spajanja

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.

Rukovanje konfliktima posle stapanja

Važno

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.

Slika 4.57. Dijalog konflikta stapanja

Dijalog 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.

Odgoditi

Ne radite sa konfliktom sada. Neka stapanje nastavi i reši konflikt kada se stapanje završi.

Prihvati osnovu

Ovo ostavlja fajl kakav je bio, bez izmena koje su došle od stapanja ili izmena koje ste uradili u radnoj kopiji.

Prihvati dolazeće

Ovo odbacuje sve vaše lokalne izmene i koristi fajl kako je stigao iz izvora stapanja.

Odbaci dolazeće

Ovo odbacuje sve izmene iz izvora stapanja i ostavlja fajl sa vašim lokalnim uređenjem.

Prihvati dolazeće za konflikte

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.

Odbaci konflikt

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 kao rešeno

Markiraj konflikt kao rešen. Ovo dugme je onemogućeno sve dok se ne upotrebi dugme Uredi da se uredi konflikt ručno i sačuvaju te izmene nazad u fajl. Kada su sačuvane izmene dugme postaje omogućeno.

Uredi

Pokreće uređivač stapanja da možete rešiti konflikt ručno. Ne zaboravite da sačuvate fajl tako da dugme Markiraj kao rešeno 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:

Slika 4.58. Dijalog konfliktnog stabla stapanja

Dijalog konfliktnog stabla stapanja


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 Postpone dugme da rešite konflikt kasnije.

Osobina održavanja grane

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 TortoiseSVNStopi sve... iz proširenog kontekst menija (drži pritisnut Shift dugme dok desno kliknete na fajl).

Slika 4.59. Stopi-sve dijalog

Stopi-sve dijalog


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.

Zaključavanje

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.

Stablo značenja zaključavanja

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.

Kako zaključavanje radi na Subverziji

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.

Važno

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.

Zaključavanje

Izaberite fajl(ove) u vašoj radnoj kopiji za koje želite da dobijete katanac, zatim izaberite komandu TortoiseSVNZaključaj....

Slika 4.60. Dijalog zaključavanja

Dijalog zaključavanja


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 OK.

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 TortoiseSVNZaključaj... dijalog zaključavanja će se otvoriti sa 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...

Otključavanje

Da 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 TortoiseSVNOtključaj 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.

Provera statusa zaključavanja

Slika 4.61. Provera dijaloga izmena

Provera dijaloga izmena


Da vidite koje katance vi i drugi držite, koristite TortoiseSVNProvera izmena.... 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 Proveri Spremište.

Iz kontekst menija ovde možete takođe staviti ili otkačiti katanac, kao i slomljene i ukradene katance koje drže drugi.

Izbegavanje razbijanja i krađa katanca

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.

Pravljenje nezaključanih fajlova samo za čitanje

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.

Zakačive skripte za zaključavanje

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.

Kreiranje i primena zakrpa

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.

Kreiranje fajla zakrpe

Najpre treba da napravite i test vaših izmena. Zatim umesto da koristite TortoiseSVNUreži... na predačkom folderu, izaberite TortoiseSVNKreiraj Zakrpu...

Slika 4.62. Kreiranje dijaloga zakrpe

Kreiranje dijaloga zakrpe

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.

Savet

Nemojte da čuvate fajl zakrpu sa .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.

Primena fajla zakrpe

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 TortoiseSVNPrimeni Zakrpu... Ovo će prikazati fajl otvori dijalog dozvoljavajući vam da izaberete fajl zakrpu za primenu. Podrazumevano samo .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 Otvori iz klipborda... u fajl open dijalogu. Primetimo da se ova opcija pojavljuje ako zapamtite zakrpu na klipbord koristeći TortoiseSVNKreiraj zakrpu.... 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 TortoiseSVNPrimeni Zakrpu.... 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.

Ko je izmenio koju liniju?

Ponekad treba da znate ne samo linije koje su izmenjene, ali takođe ko je tačno izmenio određene linije u fajlu. Kada TortoiseSVNOkrivi... 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.

Krivac za fajl

Slika 4.63. Beleška/Krivac dijalog

Beleška/Krivac dijalog


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 Prihvati 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.

Slika 4.64. TortozBlame

TortozBlame


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 UrediNađ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 UrediIdi Na Liniju....

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. Kontekst MeniOkrivi prethodnu reviziju 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. Kontekst MeniPrikaži Izmene pokreće vaš diff pregledač, prikazujući vam šta je izmenjeno u referentnoj reviziji. Kontekst MeniPrikaži Dnevnik prikazuje revizioni dnevnik dijalog počevši sa referentnom revizijom.

Ako vam treba bolji vizualni indikator gde su najstarije i najnovije izmene, izaberi VidiBoja starosti linija. 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 PregledPutanje stapanja. 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 TortoiseSVNPodešavanja... na TortoiseBlame tab. Uporedite sa odeljak pod imenom „TortozBlame podešavanje“.

Razlikeke okrivljavanja

Jedno 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.

Krivac revizija

U gornjem panelu izaberite 2 revizije, zatim izaberite Kontekst meniOkrivljavanje revizija. Ovo će naći podatke okrivaljavanja za 2 revizije, zatim koristite diff pregledač da uporedite dva fajla okrivljavanja.

Krivac promena

Izaberite jednu reviziju u gornjem panelu, zatim izaberite jedan fajl u donjem panelu i izaberite Kontekst meniOkrivi izmene. Ovo će naći podatke okrivljavanja za izabrane revizije i prethodnih revizija, zatim koristite diff pregledač da uporedite dva fajla okrivljavanja.

Uporedi sa radnom OSNOVOM i okrivi

Prikažite dnevnik za pojedinačni fajl, i na gornjem panelu, izaberite pojdinačnu reviziju, zatim izaberite Kontekst meniUporedite sa Radnom OSNOVOM. Ovo će naći podatke okrivljavanja za izabrane revizije, i za fajlove u radnoj OSNOVI, zatim koristite diff pregledač da uporedite dva fajla okrivljavanja.

Pretraživač spremišta

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.

Slika 4.65. Pretraživač spremišta

Pretraživač 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 Kontekst MeniPokaži Dnevnik... 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 Kontekst MeniKopiraj poruku greške u klipbord, ili jednostavno koristite Ctrl+C.

Zabelež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

Revizioni Graf

Slika 4.66. Revizioni graf

Revizioni graf


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 TortoiseSVNRevizioni Graf...

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.

Važno

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.

Čvor revizionog grafa

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 TortoiseSVNPodešavanja

Dodate ili kopirane stavke

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 TortoiseSVNPodešavanja.

Obrisane stavke

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

Preimenovane stavke su takođe prikazane koristeći oktagon, ali podrazumevana boja je plava.

Grana tip revizije

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.

Revizija radne kopije

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.

Izmenjena radna kopija

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.

Normalna stavka

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.

Izmena pogleda.

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.

Grupa grana

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.

Najstariji na vrhu

Normalno graf prikazuje najstariju reviziju na dnu, i stablo raste. Koristite ove opcije da se smanji sa vrha umesto toga.

Izravnaj stablo na vrhu

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.

Smanji presečne-linije

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.

Imena diferencijalne putanje

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.

Prikaži sve revizije

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.

Prikaži GLAVNE revizije

Da bi se omogućilo da zadnja revizija na svakoj grani uvek se prikazuje na grafu.

Tačna kopija izvora

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.

Skupi oznake

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 obrisane putanje.

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 nekorišćene grane

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.

Prikaži RK reviziju

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.

Prikaži RK izmene

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.

Filter

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.

Trake stabla

Gde graf sadrži više stabala ponekad je korisno koristiti alternatvne boje pozadine da bi pomogli razlikovanju među stablima.

Prikaži pregled

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.

Korišćenje grafa

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 izabereteKontekst MeniUporedi Revizije biće vam prikazana lista izmenjenih fajlova. Dvostruki klik na ime fajla da se dobiju revizije fajla i uporede koristeći vizualni alat za razlikovanje.

Ako uradite desni klik na reviziju možete koristiti Kontekst MeniPrikaži Dnevnik 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.

Učite da čitate revizioni graf

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.

Obnavljanje izgleda

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.

Uprošćavanje Stabala

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.

Izvoz Subverzione radne kopije

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 TortoiseSzličito.VNIzvoz.... Izvoz iz URL i izvoz iz radne kopije tretira se pomalo r

Slika 4.67. Izvoz-iz-URL dijalog

Izvoz-iz-URL dijalog


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 Kontekst MeniIzvoz. Dobićete Izvoz iz URL dijalog koji je opisan ranije.

Ako 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 Kontekst meniSVN izvoz verzionisanih stavki ovde ili Kontekst meniSVN izvoz svih stavki ovde ili Kontekst meniSVN izvoz izmeljenih stavki ovde. 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).

Izvoz pojedinačnog fajla

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.

Izvoz Stabla Izmena

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.

Izbacivanje radne kopije iz kontrole verzija

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.

Relociranje radne kopije

Slika 4.68. Relociranje dijalog

Relociranje dijalog


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, TortoiseSVNPremesti je komanda koju tražite. Ona u osnovi radi veoma mali: prepisuje URLove koji su asocirani sa svakim fajlom i folderom u novi URL.

Primedba

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.

Upozorenje

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 TortoiseSVNPrebaci.... Pročitajte odeljak pod imenom „Preuzeti ili prebaciti...“ za više informacija.

Ako 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.

Integracija sa Bag Praćenja Sistem / Problem Tragači

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:

  1. 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.

  2. 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.

Dodavanje Problem Brojeva u Dnevnik Poruka

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“)

Slika 4.69. Dijalog bagtrek osobina

Dijalog bagtrek osobina


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:

bugtraq:url

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.

bugtraq:warnifnoissue

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.

Izdavanje brojeva u tekst boksu

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.

bugtraq:message

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.

bugtraq:label

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.

bugtraq:number

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.

bugtraq:append

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.

Izdavanje brojeva koristeći regularne izraze

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.

bugtraq:logregex

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.

Savet

Č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.

Podešavabje osobina foldera

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.

Nema Problem Tragač Informacije iz Pretraživača Spremišta

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.)

Dobijanje informacija od poblem tragača

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.

Slika 4.70. Primer dijaloga zahteva problem tragača

Primer dijaloga zahteva problem tragača


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.

Integracija sa Veb-zasnovanom pregledaču spremišta

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“)

webviewer:revision

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 Kontekst MeniPregledati reviziju na vebsajtu.

webviewer:pathrevision

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 Kontekst MeniPregled revizije i putanje u veb pregledaču 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:revisioni webviewer:pathrevision osobinu. Format je isti kao za bugtraq:url osobinu. Vidite odeljak pod imenom „Integracija sa Bag Praćenja Sistem / Problem Tragači“.

Podešavabje osobina foldera

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.

Ograničenja koršćenjem pretraživača spremišta

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.

TortoiseSVN postavke

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ć.

Generalno podešavanje

Slika 4.71. Dijalog podešavanja, opšta stranica

Dijalog podešavanja, opšta stranica


Ovaj dijalog omogućava da odredite svoj željeni jezik, i Subverziono-specifučna podešavanja.

Jezik

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.

Provera obnavljanja

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 Proveri sada 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.

Sistemski zvuci

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. Konfiguriši je skraćenica za Kontrolni Panel.

Koristi Aero dijaloge

Na Vindous Visti i kasnijim sistemima ovo kontroliše da li dijalozi koriste Aero stil.

Kreira biblioteku

Na Vindous 7 možete kreirati biblioteku u kojoj grupišete radne kopije koje su razbacane na raznim mestima u vašem sistemu.

Globalni uzorak izostavljanja

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.

Upozorenje

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 Uredi 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.

Podesite datum fajla na poslednje vreme urezivanja

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.

Subverzijin konfiguracioni fajl

Koristite Uredi da uredite Subverzionu konfiguraciju direktno.Neka podešavanja ne mogu biti izmenjena direktno sa TortoiseSVN i potrebno ih je umesto toga podesiti ovde. Za više informacija o Subverziji 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.

Primeni lokalne izmene u svn:eksternali pri obnavljanju

Ova opcija kaže TortoiseSVN da dopusti lokalne izmene za svn:eksternali osobine pri obnavljanju radne kopije.

Podešavanje kontekstnog menija

Slika 4.72. Dijalog podešavanja, Konetekst meni strana

Dijalog podešavanja, Konetekst meni strana


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.

TortoiseSVN dijalog podešavanje 1

Slika 4.73. Podešavanje dijaloga, dijalog 1 strana

Podešavanje dijaloga, dijalog 1 strana


Ovaj dijalog vam dozvoljava da konfigurišete neke TortoiseSVN dijaloge na način kako volite.

Podrazumevan broj poruka dnevnika

Ograničava broj dnevnik poruka koje TortoiseSVN nađe kada najpre izaberete TortoiseSVNPokaži Dnevnik Korisno za spor server vezu. Možete uvek koristiti Prikaži Svel ili Sledećih 100 da dobojete više poruka.

Pismo za poruke dnevnika

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.

Kratak oblik datum/vreme u dnevniku poruka

Ako standardne dugačke poruke koriste suviše prostora na vašem ekranu koristite kratak format.

Može dvostruki klik na dnevnik listu da bi se poredilo sa prethodnom revizijom

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.

Auto-zatvaranje

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.

Uvek zatvorite dijaloge za lokalne operacije

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.

Koristite korpu za otpatke kada vraćate

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.

Koristi URL od RK kao podrazumevano Od: URL

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.

Podrazumevana putanja preuzimanja

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.

Podrazumevani URL preuzimanja

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.

TortoiseSVN dijalog pdešavanja 2

Slika 4.74. Dijalog podešavanja, Dijalog 2 stranica

Dijalog podešavanja, Dijalog 2 stranica


Rekurzija u neverzionisanim imenicima

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.

Koristi autokompletiranje fajl putanja i ključnih reči

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.

Kašnjenje u skundama da se zaustavi analiziranje za autokompletiranje

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.

Samo koristite proveru pravopisa kada je 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.

Maks. stavki za čuvanje u istoriji dnevnika poruka

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.

Odaberi stavke automatski

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.

Ponovo otvaranje dijaloga posle urezivanja ako su stavke preostale neurezane

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.

Kontaktiraj spremište pri pokretanja

Provera Modifikacija dijalog čekira radnu kopiju podrazumevano, i samo kontakt spremišta kada kliknete Provera spremišta. Ako uvek želite da čekirate spremište, možete koristiti ovo podešavanje da učinite tu akciju koja se dešava automatski.

Prikaži dijalog zaključavanja pre zaključavanja fajlova

Kada izaberete jedan ili više fajlova i onda koristite TortoiseSVNKatanac 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.

TortoiseSVN dijalog podešavanje 3

Slika 4.75. Dijalog podešavanja, strana dijaloga 3

Dijalog podešavanja, strana dijaloga 3


Settings for the repository browser:

Pripremno dobavljenje foldera za brže pretraživanje

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.

Prikaži eksternale

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.

V2

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.

V3

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.

TortoiseSVN podešavanje boja

Slika 4.76. Dijalog Podešavanja, Stranica Boja

Dijalog Podešavanja, Stranica Boja


Ovaj dijalog dopušta da konfigurišete boje teksta korišćene u TortoiseSVN dijalozima na način kakav volite.

Moguć ili stvarni sukob / sprečen

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.

Dodati fajlovi

Stavke dodate u spremište

Nedostaje / obrisano / zamenjeno

Obrisane stavke iz spremišta, koje nedostaju u radnoj kopiji, ili obrisane iz radne kopije i zamenjene sa drugim fajlom istog imena.

Stopljeno

Izmene u spremištu sukcesivno stopljene u RK bez kreiranja bilo kakvog konflikta.

Promenjeno / kopirano

Dodavanje sa istorijom, ili putanja kopirana u spremište. Takođe u dnevnik dijalogu za ulaze koje uključuje kopirana stavka.

Obrisani čvor

Stavka koja je obrisana u spremištu.

Dodat čvor

Stavka koja je dodata u spremište, pomoču dodaj, kopiraj ili pomeri operacije.

Preimenovani čvor

Stavka koja je preimenovana u okviru spremišta.

Zamenjen čvor

Originalna stavka je obrisana i nova stavka istog imena je zamenila.

Filter zahtev

Kada se koristi filtriranje u dijalogu dnevnika traženi pojmovi su osvetljeni korišćenjem ove boje.

other settings:

Dark theme

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.

Važno

Note that not all controls in all dialogs are shown in a dark theme.

Revizioni Graf Podešavanje

Slika 4.77. Dijalog Podešavanja, Strana Revizionog Grafa

Dijalog Podešavanja, Strana Revizionog Grafa


Klasifikacioni Model

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.

Detekcija urezivanja znaka

Molim primetimo da ovaj šablon je takođe korišćen da se detektuje urezivanje u znak, ne samo za revizioni graf.

Izmeni Boje

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.

Revizioni Graf Boje

Slika 4.78. Dijalog Podešavanja, Revizioni Graf Stranica Boja

Dijalog Podešavanja, Revizioni Graf Stranica Boja


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.

Obrisani Čvor

Stavke obrisati i ne kopirati bilo gde u istoj reviziji. treba

Dodat Čvor

Stavke novo dodate, ili kopirane (dodati sa istorijom).

Preimenovani Čvor

Stavke obrisane na jednoj lokaciji i dodate na drugu u istoj reviziji.

Izmenjen Čvor

Jednostavne izmene bez bilo kakvog dodavanja ili brisanja.

Neizmenjen Čvor

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.

GLAVNI čvor

Tekuća GLAVNA revizija u spremištu

RK Čvor

Ako želite da prikažete ekstra čvor za vašu izmenjenu radnu kopiju, dodatu zadnjoj-urezanoj reviziji na grafu, koristite ovu boju.

RK Čvor Granica

Ako odlučite da prikažete da li je radna kopija izmenjena, koristite obojeni okvir na RK čvoru kada su izmene nađene.

Oznake Čvorovi

Čvorovi klasifikovani kao oznake mogu se mešati ovom bojom.

Deblo Čvorovi

Čvorovi klasifikovani kao deblo mogu se mešati ovom bojom.

Savijeni Oznaka Markeri

Ako koristite savijanje oznaka da čuvate prostor, oznake su markirane u izvoru kopije korišćenjem bloka u ovoj boji.

Izabrani Čvor Markeri

Kada levo kliknete na čvor da ga izaberete, marker koji se koristi da označi izbor je blok u ovoj boji.

Trake

Ove boje su korišćene kada je graf podeljen u po-stabla i pozadina je obojena u alternativne trake da pomogne izbor izdvojenih stabala.

Ikona prekrivač podešavanje

Slika 4.79. Dijalog podešavanja, Ikona prekrivači stranica

Dijalog podešavanja, Ikona prekrivači stranica


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:

Podrazumevano

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.

Školjka

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.

Ništa

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.

Iskljućiti 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.

Skup podešavanja ikona

e

Slika 4.80. Dijalog podešavanja, Podešavanje ikona stranica

Dijalog podešavanja, Podešavanje ikona stranica


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.

Omogućeni rukovaoci prekrivača

Slika 4.81. Dijalog podešavanja, Podešavanje ikona stranica

Dijalog podešavanja, Podešavanje ikona stranica


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.

Mrežna podešavanja

Slika 4.82. Dijalog podešavanja, Mrežna stranica

Dijalog podešavanja, Mrežna stranica


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 Uredi 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 Pretraži 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.

Spoljašnji program podešavanja

Slika 4.83. Dijalog podešavanja, Razl pregledač stranica

Dijalog podešavanja, Razl pregledač stranica


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.

Razl pregledač

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.

%base

Originalan fajl bez vaših izmena

%bname

Vindouz naslov osnovnog fajla

%nqbname

Vindou titl za osnovni fajl, bez navodnika

%mine

Vaš lični fajl, sa vašim izmenama

%yname

Vindouz naslov za vaš fajl

%nqyname

Vindou titl za vaš fajl, bez navodnika

%burl

URL originalnog fajla, ako je dostupan

%nqburl

URL originalnog fajla, ako je dostupan, bez navodnika

%yurl

URL drugog fajla, ako je dostupan

%nqyurl

URL drugog fajla, ako je dostupan, bez navodnika

%brev

Revizija originalnog fajla, ako je dostupna

%nqbrev

Revizija originalnog fajla, ako je dostupan, bez navodnika

%yrev

Revizija drugog fajla, ako je dostupna

%nqyrev

Revizija drugog fajla, ako je dostupan, bez navodnika

%peg

Peg revizija, ako je dostupna

%nqpeg

Peg revizija, ako je dostupna, bez navodnika

%fname

Ime fajla. Ovo je prazan string ako su dva različita fajla različita umesto dva stanja istog fajla.

%nqfname

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. Kontekst meniDiff koristi primarni diff alt, a Shift+ Kontekst meniDiff 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.

Alat spajanja

Eksterni program za stapanje koristi se da reši konfliktne fajlove. Parametar substitucije se koristi na isti način kao sa Diff Programom.

%base

Originalni fajl bez vaših ili drugih izmena

%bname

Vindouz naslov osnovnog fajla

%nqbname

Vindou titl za osnovni fajl, bez navodnika

%mine

vaš lični fajl, sa vašim izmenama

%yname

Vindouz naslov za vaš fajl

%nqyname

Vindou titl za vaš fajl, bez navodnika

%theirs

fajl kakav je u spremištu

%tname

Vindouz naslov fajla u spremištu

%nqtname

Vindou titl za fajl u spremištu, bez navodnika

%merged

fajl sa konfliktom, rezultat operacije sajanja

%mname

Vindouz naslov za stopljen fajl

%nqmname

Vindou titl za stopljen fajl, bez navodnika

%fname

Ime fajla u konfliktu

%nqfname

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
      

Razl/Stopi napredno podešavanje

Slika 4.84. Dijalog podešavanja, Razl/Stopi napredni dijalog

Dijalog podešavanja, Razl/Stopi napredni dijalog


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 DiffProgram 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.

Sčvani podaci podešavanje

Slika 4.85. Dijalog podešavanja, Sačuvani podaci stranica

Dijalog podešavanja, Sačuvani podaci stranica


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.

URL istorija

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.

Poruke dnevnika (Ulazni dijalog)

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.

Poruke dnevnika (Prikaži dijalog dnevnika)

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.

Dijalog veličina i pozicije

Mnogi dijalozi pamte veličinu i poziciju ekrana koji ste zadnji put koristili.

Autentikacioni podatak

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 Očisti... umesto Očisti svel button.

Dnevnik akcija

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.

Keš dnevnika

Slika 4.86. Dijalog podešavanja, Keš dnevnika stranica

Dijalog podešavanja, Keš dnevnika stranica


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ći keš dnevnika

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.

Omogućava dvosmislene URLove

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.

Dozvoljava dvosmislene UUIDSove

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 spremište ne može biti spojeno

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.

Isteklo vreme pre obnavljanja GLAVNE revizije

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.

Dani neaktivnosti do uklanjanja malih keševa

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.

Maksimalna veličina uklonjenih neaktivnih keševa

Veliki keševi su mnogo skuplji za reciklažu, tako da TortoiseSVN samo čisti male keševe. Fino podesite prag sa ovom vrednošću.

Maksimalni broj grešaka alata pre uklanjanje keša

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.

Keširano Spremište

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 Uskladi 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 Izvezi 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 Obriši 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š.

Statistika keša dnevnika

Slika 4.87. Dijalog podešavanja, Keš dnevnika statistika

Dijalog podešavanja, Keš dnevnika statistika


Kliknite na Detalji 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.

RAM

Iznos memorije potrebne za opsluživanje keša

Disk

Iznos prostora na disku korišćen za keš. Podaci su komprimovani, tako da je korišćenje diska generalno sasvim skromno.

Veza

Prikazuje da li je spremište dostupno zadnji put kada je keš korišćen

Zadnje obnavljanje

Poslednji put kada je promenjen sadržaj keša

Zadnje glavno obnavljanje

Poslednje vreme zahteva GLAVNE revizije sa servera.

Autori

Broj različitih autora sa porukama zabeleženim u kešu.

Putanje

Broj putanja izlistanih, kao što možete videti koristeći svn log -v.

Preskoči raspone

Broj opsega revizija koji nisu nađeni, jednostavno zato zato što nisu traženi.

Maks. revizija

Najviši revizioni broj smešten u keš.

Broj revizija

Broj revizija sačuvanih u kešu. Ovo je druga mera kompletnosti keša.

Zakačiv skript klijentske strane

Slika 4.88. Dijalog podešavanja, Zakačiv skript stranica

Dijalog podešavanja, Zakačiv skript stranica


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.

Slika 4.89. Dijalog podešavanja, Konfiguracija zakačivog skripta

Dijalog podešavanja, Konfiguracija zakačivog skripta


Da bi se dodala zakačiva skripta, jednostavno kliknite Dodaj i popunite detalje.

Postoje sada dostupni ovi tipovi zakačivih skripti

Start-urezivanja

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.

Ručno pre-urezivanje

Ako je ovo specificirano dijalog urezivanja prikazuje dugme Izvrši zakačku 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.

Čekira-urezivanje

Pozvan posle korisnikovog klika na OK 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.

Pre-urezivanje

Pozvan posle korisnikovog klika na OK u dijalogu urezivanja, i pre nego počne aktuelno urezivanje. Ova zakačaljka ima listu šta će se tačno urezati.

Post-urezivanje

Called after the commit finishes successfully.

Start-obnavljanja

Pozivan pre nego je prikazan uskladi-sa-revizijom dijalog.

Pre-osvavanje

Pozivana pre nego aktuelno Subverzono obnavljanje ili prebacivanje počne.

Post-obnavljanje

Pozivano posle završetka obnavljanja, prebacivanja ili preuzimanja (bilo uspešno ili ne).

Pre-povezivanje

Pozvan pre pokušaja da se kontaktira spremište.. Pozvan najviše jednom u pet minuta.

Pre-lok

Pozvan pre pokušaja zaključavanja fajla

Post-lok

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:

Start-urezivanja

PATHMESSAGEFILECWD

Ručno pre-urezivanje

PATHMESSAGEFILECWD

Čekira-urezivanje

PATHMESSAGEFILECWD

Pre-urezivanje

PATHDEPTHMESSAGEFILECWD

Post-urezivanje

PATHDEPTHMESSAGEFILEREVISIONERRORCWD

Start-obnavljanja

PATHCWD

Pre-osvavanje

PATHDEPTHREVISIONCWD

Post-obnavljanje

PATHDEPTHREVISIONERRORCWDRESULTPATH

Pre-povezivanje

no parameters are passed to this script. You can pass a custom parameter by appending it to the script path.

Pre-lok

PATHLOCKFORCEMESSAGEFILECWD

Post-lok

PATHLOCKFORCEMESSAGEFILEERRORCWD

Značenje svakog od ovih parametara opisan je ovde:

PATH

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.

DEPTH

Dubina sa kojom je urezivanje/obnavljanje urađeno

Moguće vrednosti su:

-2

svn_dubina_nepoznata

-1

svn_dubina_isključena

0

svn_dubina_prazna

1

svn_dubina_fajlova

2

svn_dubina_trenutni

3

svn_dubina_beskonačno

MESSAGEFILE

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.

REVISION

Revizija spremišta za koju bi obnavljanje bilo dato ili se urezivanje kompletiralo.

LOCK

Ili istina dok zaključava, ili laž kada otključa.

FORCE

Ili istina ili laž,u zavisnosti da li je operacija forsirani ili ne.

ERROR

Putanja ka fajlu koji sadrži poruku greške. Ako nema greške, fajl će biti prazan.

CWD

Tekući radni folder sa koji skript radi. Ovo je skup ka zajdničkom korenu foldera svih odgovarajućih piutanja.

RESULTPATH

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.

The force 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 Retry without hooks 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.

Integracija problem tragača

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.

Slika 4.90. Dijalog podešavanja, Stranica integracije problem tragača

Dijalog podešavanja, Stranica integracije problem tragača


Kliknite na Dodaj... 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.

bugtraq:provideruuid

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č.)

bugtraq:provideruuid64

Ovo je isto kao bugtraq:provideruuid, ali za64-bitnu verziju IbugtrakProvajder.

bugtraq:providerparams

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.

TortozBlame podešavanje

Slika 4.91. Dijalog podešavanja, TortozBlame stranica

Dijalog podešavanja, TortozBlame stranica


Podešavanja korišćena sa TortoiseBlame su kontrolisani iz glavnog kontekst menija, ne direktno sa samim TortoiseBlame.

Boje

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.

Pismo

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.

Tabovi

Definiše koliko razmaka koristiti za ekspanziju kada se tab karakter naže u sadržaju fajla.

TortoiseUDiff podešavanje

Slika 4.92. Dijalog podešavanja, TortoiseUDiff strana

Dijalog podešavanja, TortoiseUDiff strana


Podešavanje koje koristi TortoiseUDiff kontroliše se iz kontekst menija, ne direktno samim TortoiseUDiff.

Boje

Uobičajene boje koje su korišćene u TortoiseUDiff su obično u redu, ali ih možete konfigurisati ovde.

Pismo

Možete izabrati font koji se koristi za prikazivanje teksta, i veličinu tačke za korišćenje.

Tabovi

Određuje koliko razmaka koristiti za ekspanziju kada se naiđe na tab karakter u diff fajlu.

Izvoz TSVN podešavanja

Slika 4.93. Dijalog podešavanja, sinhro strana

Dijalog podešavanja, sinhro strana


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.

Napredna podešavanja

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.

AllowAuthSave

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.

AllowUnversionedObstruction

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ž.

AlwaysExtendedMenu

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.

AutoCompleteMinChars

Minimalni iznos karaktera koje editor prikazuje pri auto-komplementirajućem popapu. Uobičajena vrednost je 3.

AutocompleteRemovesExtensions

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.

BlockPeggedExternals

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.

BlockStatus

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.

CacheTrayIcon

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.

ColumnsEveryWhere

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.

ConfigDir

Možete specificirati različitu lokaciju za Subverzioni konfiguracioni fajl. Ovo će uticati na sve TortoiseSVN operacije.

CtrlEnter

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ž.

Debug

Podesite na istina ako želite da dijalog iskoči za svaku komandnu liniju koja se koristi da se pokrene TortoiseProc.exe.

DebugOutputString

Podesite ovo na istina ako želite TortoiseSVN da štampa poruke debagovanja tokom izvršenja. Poruke mogu biti pokupljene samo specijalnim alatom za debagovanje.

DialogTitles

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

DiffBlamesWithTortoiseMerge

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.

DlgStickySize

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.

FixCaseRenames

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.

FullRowSelect

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ž.

GroupTaskbarIconsPerRepo

Ova opcija određuje kako su Vin7 ikone na alatpultu različitih TortoiseSVN dijaloga i prozora grupisane zajedno. Ova opcija nema efekta na Visti!

  1. 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, ...

    Slika 4.94. Alatni panel sa uobičajenim grupisanjem

    Alatni panel sa uobičajenim grupisanjem


  2. 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.

    Slika 4.95. Alatni pult sa grupisanjem spremišta

    Alatni pult sa grupisanjem spremišta


  3. 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.

    Slika 4.96. Alatni pult sa grupisanjem spremišta

    Alatni pult sa grupisanjem spremišta


  4. 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.

  5. Ako se stavi 4, onda grupisanje radi kao da je stavljeno 2, ali grupisanje nije dato prema spremištu već prema radnoj kopiji.

GroupTaskbarIconsPerRepoOverlay

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.

Slika 4.97. Alatni pult grupisanje sa kolor prekrivačima spremišta

Alatni pult grupisanje sa kolor prekrivačima spremišta


HideExternalInfo

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.

HookCancelError

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.

IncludeExternals

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.

LogFindCopyFrom

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).

LogMultiRevFormat

Format string za poruke dnevnika kada su višestruke revizije izabrane u dnevniku dijaloga.

Možete koristiti sledeće zamene u format stringu:

%1!ld!
dobijen izmenom sa tekstom revizionog broja
%2!s!
dobijen izmenom kratkom porukom dnevnika revizije
LogStatusCheck

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.

MaxHistoryComboItems

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.

MergeLogSeparator

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.

NumDiffWarning

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.

OldVersionCheck

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.

RepoBrowserTrySVNParentPath

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ž.

ScintillaBidirectional

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.

ScintillaDirect2D

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ž.

OutOfDateRetry

This parameter specifies how TortoiseSVN behaves if a commit fails due to an out-of-date error:

0

The user is asked whether to update the working copy or not, and the commit dialog is not reopened after the update.

1

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.

2

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.

3

The user is not asked to update the working copy. The commit simply fails with the out-of-date error message.

PlaySound

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.

ShellMenuAccelerators

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ž.

ShowContextMenuIcons

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.

ShowAppContextMenuIcons

Ako ne želite da TortoiseSVN prikazuje ikone za kontekst meni u svom dijalogu podesite vrednost na laž.

ShowNotifications

Set this value to false if you don't want the project monitor to show notification popups when new commits are detected.

StyleCommitMessages

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ž.

UpdateCheckURL

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.

UseCustomWordBreak

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.

VersionCheck

TortoiseSVN proverava da li postoji dostupna nova verzija jedanput nedeljno.Ako ne želite da TortoiseSVN vrši ovu proveru podesite ovu vrednost na laž.

Finalni korak

Poglavlje 5. Projekt monitor

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.

Snarl

Ako je Snarl instaliran i aktivan projektni monitor automatski koristi Snarl da prikaže označavanje o nova detektovana urezivanja.

Dodavanje projekta u monitor

Ako najpre pokrenete projektni monitor trostruki pregled sa leve strane je prazan. Da dodate projekat kliknite na dugme na vrhu dijaloga nazvano Dodaj projekat.

Slika 5.1. Uređivač projekt dijaloga projekt monitora

Uređivač projekt dijaloga projekt monitora


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.

interval provere

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.

https://tools.stefankueng.com/svnrobots.html

Monitor dijalog

Slika 5.2. Glavni dijalog projekt monitora

Glavni dijalog 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.

Glavne operacije

Alat panel na vrhu dijaloga omogućava da se konfiguriše i izvršava projektni monitor.

Klikni sada

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.

Dodaj projekat

Otvara novi dijalog da se podesi novi projekat za nadgledanje.

Uredi

Otvara konfiguracioni dijalog za izabrani projekat.

Ukloni

Uklonite izabrani projekat posle potvrđivanja prikazanog dijaloga.

Označi sve za čitanje

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.

Uskladite sve

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.

Opcije

Prikazuje dijalog za konfiguraciju ponašanja nadgledanja projekta.

Poglavlje 6. SubVCRev program

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.

SubVCRev komandna linija

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

Važno

Zanemareni šabloni su zavisni od veličine slova, kao što je Subverzija.

Savet

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

ZamenaOpis
-nAko 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.
-NAko je ovaj prekidač dat, SubVCRev će se završiti sa ERRORLEVEL 11 ako radna kopija sadrži neverzionisane stavke koje nisu ignorisane.
-mAko 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.
-dAko je ovaj prekidač dat, SubWCRev će izaći sa NIVOGREŠKE 9 ako destinacioni fajl već postoji.
-fAko 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.
-eAko 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.
-EAko 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.
-xAko je ovaj prekidač dat, SubWCRev će dati na izlazu revizione brojeve u HEKS.
-XAko je ovaj prekidač dat, SubWCRev će dati na izlazu revizione brojeve u HEKS, sa '0X' ispred.
-FAko je ovaj prekidač dat, SubWCRev će ignorisati bilo koje .subwcrevignore fajlove i obuhvata sve fajlove.
-qAko 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škeOpis
1Sintaksna greška. Jedna ili više parametara komandnie linije su neispravni.
2Fajl ili folder specificiran u komandnoj liniji nije nađen.
3Ulazni fajl ne može biti otvoren, ili ciljni fajl ne može biti kreiran.
4Ne može alocirati memoriju. Ovo će se desiti npr. ako je izvorni fajl suviše veliki.
5Izvorni fajl ne može biti ipravno skeniran.
6SVN greška: Subverzija je vraćena sa greškpm kad SubVCRev pokušava da nađe informacije iz radne kopije.
7Radna kopija ima lokalne izmene. Ovo zahteva -n preklopnik.
8Radna kopija ima izmešane revizije. Ovo zahteva -m preklopnik.
9Izlazni fajl već postoji. Ovo zahteva -d preklopnik.
10Specificirana putanja nije radna kopija ili njen deo.
11Radna kopija je imala neverzionisane fajlove i foldere u sebi. Ovo zahteva -N prekidač.


Zamena ključnih reči

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 FTekstako 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$"
      

Savet

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$.

Primer ključne reči

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

Savet

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.

COM interfejs

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

MetodOpis
.GetWCInfoOvaj 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.
.GetWCInfo2Isto kao GetWCInfo() ali sa četvrtim parametrom koji se podešava isto kao -E prekidač komandne linije.
.RevisionNajviša urezana revizija u radnoj kopiji. Ekvivalent sa $WCREV$.
.DateUrezivanje datm/vreme najviše urezane revizije. Ekvivalent sa $WCDATE$.
.AuthorAutor najviše urezane revizije, to je, poslednja osoba koja je urezala izmene u radnu kopiju.
.MinRevMinimum obnovljena revizija, kao što je prikazano u $WCRANGE$
.MaxRevMaksimum obnovljena revizija, kao što je prikazano u $WCRANGE$
.HasModificationsTačno ako postoji lokalna izmena
.HasUnversionedIstina ako postoje neverzionisane stavke
.UrlZamenjeno sa spremištem URL putanje radne kopije korišćene u GetVCInfo. Ekvivalent sa $WCURL$.
.IsSvnItemIstina ako je stavka verzionisana.
.NeedsLockingIstina ako stavka ima svn:needs-lock podešenu osobinu.
.IsLockedIstina ako je stavka zaključana.
.LockCreationDateString koji reprezentuje datum kada je katanac kreiran, ili prazan string ako stavka nije zaključana.
.LockOwnerString koji rprezentuje vlasnika katanca, ili prazan string ako stavka nije zaključana.
.LockCommentPoruka 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");
}

Poglavlje 7. IBagtragačSnabdevač interfejs

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.)

Važno

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.

Konvencija označavanja

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

IBagtragačSnabdevač interfejs

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 parametrije 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.

IBagtragačSnabdevač2 interfejs

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.

Dodatak A. Često postavljana pitanja (ČPP)

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:

Dodatak B. Kako da ja...

Dodatak sadrži rešenje problema/pitanja koja možete imati dok koristite TortoiseSVN.

Pomeri/kopiraj mnogo fajlova ođednom

Pomeranje/Kopiranje pojedinčnih fajlova može biti urađeno korišćenjem TortoiseSVNPreimenuj.... 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 Kontekst MeniSVN Kopiraj verzionisane fajlove ovde. ili Kontekst MeniSVN Pomeri verzionisane fajlove ovde.

Slika B.1. The TortoiseSVN right drag context menu for moving files

The TortoiseSVN right drag context menu for moving files


Forsirati korisnike da unesu poruke dnevnika

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.

Zakačiv skript na serveru

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 OK dugme onemogućeno dok dnevnik poruka ne bude dovoljno dugačka koristite metod opisan dole.

Osobine projekta

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 OK 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“.

Obnavljanje izabranih fajlova iz spremišta

Normalno vi uskladite vašu radnu kopiju koristeći TortoiseSVNUskladi. 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 TortoiseSVNProveri Izmene. i kliknite na Proveri spremište da vidite šta je izmenjeno u spremištu. Izaberite fajlove koje želite da uskladite lokalno, zatim koristite kontekst meni da obnavljate samo te fajlove.

Vrati nazad (poništi) revizije u spremištu

Koristi dijalog dnevnika revizija

Najlakši način da se vrate izmene iz jedne ili više revizija je korišćenje dijaloga dnevnika revizija.

  1. Izaberite fajl ili folder u kome želite da vratite izmene. Ako želite da vratite sve izmene, ovo će biti folder na vrhu.

  2. Izaberite TortoiseSVNPrikaži dnevnik da prikažete listu revizija. Možda će vam trebati da koristite Prikaži Sve ili Sledećih 100 da prikažete reviziju(e) koja vas interesuje.

  3. 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 Kontekst meniVrati izmene ove revizije.

  4. Ili ako želite da učinite raniju reviziju novu GLAVNU reviziju, desni klik na izabranu reviziju, zatim izaberite Kontekst MeniVrati u ovu reviziju. Ovo će uništiti sve izmene posle izabrane revizije.

Vi ste vratili izmene u okviru radne kopije. Proverite rezultat, zatim urežite izmene.

Koristi dijalog spajanja

Ako hoćete da unesete brojeve revizija kao listu koristite dijalog Stapanja. Prethodni metod koristi stapanje iza scene; ovaj metod ga koristi eksplicitno.

  1. U vašoj radnoj kopiji izaberite TortoiseSVNStopi.

  2. U Tip stapanja dijalogu izaberite Stopi opseg revizija.

  3. U Iz: polju unesite pun URL spremišta foldera vaše radne kopije. Ovo dolazi kao uobičajeni URL.

  4. U Opseg revizija za stapanje polju unesite listu revizija za vraćanje (ili koristite dijalog dnevnika da ih izaberete kako je opisano ranije).

  5. Budite sigurni da je Inverzno stapanje čekboks označen.

  6. U Opcije stapanja dijalogu prihvatite uobičajene.

  7. Kliknite Stapanje da kompletirate stapanje.

Možete vratiti izmene u okviru vaše radne kopije. Proverite da su rezultati očekivani, zatim urežite izmene.

Koristi svndumpfilter

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.

Uporedi dve revizije fajla ili foldera

Ako želite uporediti dve revizije u istoriji stavki, na primer revizije 100 i 200 istog fajla, samo koristite TortoiseSVNPrikaži Dnevnik da izlistate istoriju revizija za taj fajl. Odaberite dve revizije koje želite da uporedite i zatim koristite Kontekst MeniUporedi Revizije.

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 Kontekst MeniUporedi Revizije.

Ako želite da uporedite dva stabla da vidite šta se izmenilo, na primer deblo i označenu realizaciju, možete koristiti TortoiseSVNRevizioni Graf Izaberite dva čvora za poređenje, zatim koristite Kontekst MeniUporedi GLAVNE Revizije. 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čitajte odeljak pod imenom „Poređenje foldera“ za više informacija. Alternativno koristite Kontekst MeniUjedinjene Diff GLAVNIH Revizija da vidite rezultat svih razlika, sa minimalnim sadržajem.

Uključi sličan sub-projekat

Poneka želite da uključite drugi projekat u okviru radne kopije, recimo neki kod biblioteke. Ima najmanje 4 načina da se to uradi.

Koristite svn:externals

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.

Koristi ugnježdenu radnu kopiju

Kreirajte novi folder u okviru vašeg projekta da sadrži zajedničke kodove, ali ne dodajte to Subverziji.

Izaberite TortoiseSVNPreuzimanje 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.

Koristi relativnu lokaciju

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\frameworkzatim 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.

Dodaj projekat u spremište.

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 Kontekst meniSVN Prodajna grana ovde. Ovo će onda kopirati nove fajlove preko ciljnog foldera dok automatski dodaje nove fajlove i uklanja fajlove koji nisu više u novoj verziji.

Kreiraj skraćenicu za spremište

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"

Zanemarivanje fajlova koji su već verzionisani.

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 TortoiseSVNVrati dodavanje ... 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. TortoiseSVN Razverzionisanje i dodavanje listi zanemarivanja ć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.

Neverzionisana radna kopija

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.

Ukloni radnu kopiju

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.

Dodatak C. Korisni saveti za administratore

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.

Raspoređivanje TortoiseSVN preko grupne polise

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.

Preusmeravanje provere nadogradnje

TortoiseSVN proverava da li je dostupna nova verzija svakih nekoliko dana. Ako postoji dostupna novija verzija, informcija je prikazana u dijalogu urezivanja.

Slika C.1. Dijalog urezivanja, prikazuje primedbe nadgradnje

Dijalog urezivanja, prikazuje primedbe nadgradnje

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.

Podešavanje SVN_ASP_DOT_NET_HACK promenljive okruženja.

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.

Važno

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!

Onemugući ulaz kontekstnog menija

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

VrednostUlazi menija
0x0000000000000001Preuzimanje
0x0000000000000002Obnavljanje
0x0000000000000004Urezivanje
0x0000000000000008Dodavanje
0x0000000000000010Vrati na staro
0x0000000000000020Čišćenje
0x0000000000000040Reši
0x0000000000000080Zamena
0x0000000000000100Uvezi
0x0000000000000200Izvezi
0x0000000000000400Kreiraj spremište ovde
0x0000000000000800Grana/Oznaka
0x0000000000001000Stopi
0x0000000000002000Obriši
0x0000000000004000Preimenuj
0x0000000000008000Uskladite sa revizijom
0x0000000000010000Razl
0x0000000000020000Prikaži dnevnik
0x0000000000040000Uredi sukob
0x0000000000080000Premesti
0x0000000000100000Provera izmena
0x0000000000200000Zanemari
0x0000000000400000Pretraživač spremišta
0x0000000000800000Krivac
0x0000000001000000Izradi zakrpu
0x0000000002000000Primena zakrpa
0x0000000004000000Revizioni graf
0x0000000008000000Zaključavanje
0x0000000010000000Ukloni ključ
0x0000000020000000Osobine
0x0000000040000000Razl sa URL
0x0000000080000000Obriši neverzionisane stavke
0x0000000100000000Stopi sve
0x0000000200000000Uporedi sa prethodnom revizijom
0x0000000400000000Nalepi
0x0000000800000000Nadogrdnja radne kopije
0x0000001000000000Dif kasnoje
0x0000002000000000Diff sa 'ime fajla'
0x0000004000000000Ujedinjen diff
0x2000000000000000Postavke
0x4000000000000000Pomoć
0x8000000000000000O


Primer: Da onemogućite Relociranje Obriši neverzionisane stavke and the Settingsmeni 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.

Dodatak D. Automatizovanje TortoiseSVN

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).

Važno

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 komande

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 OK 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:3auto 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

KomandaOpis
:aboutPrikazuje dijalog sa opisom programa. Ovaj dijalog je takođe prikazan ako komanda nije data.
:log

Otvara dijalog dnevnika. /path :

  • /startrev:xxx,

  • /endrev:xxx,

  • /limit:xxx limits the amount of fetched messages

  • /strict omogućava 'stop kopiranja' čekboks,

  • /merge omogućava 'uključi stopljene revizije' čekboks,

  • /datemin:"{datestring}" postavlja početni datum filtra, i

  • /datemax:"{datestring}" postavlja krajnji datum filtra. Format datuma je isti kao korišćen za svn datum revizije.

  • /findstring:"filterstring" popunjava filter tekst,

  • /findtext forsira filter da koristi tekst, ne regeks, ili

  • /findregex forsira filter da koristi regeks, ne jednostavno pretraživanje teksta, i

  • /findtype:X sa Xkoje je broj između 0 i 511. Brojevi su suma sledećih opcija:

    • /findtype:0 filter po svemu

    • /findtype:1 filter po porukama

    • /findtype:2 filter po putanjama

    • /findtype:4 filtriranje pomoću atora

    • /findtype:8 filter po revizijama

    • /findtype:16ne koristi se

    • /findtype:32 filter po bag ID

    • /findtype:64 ne koristi se

    • /findtype:128 filter po datumu

    • /findtype:256 filter po opsegu datuma

  • Ako je /outfile:path\to\file specificirano, izabrane revizije su zapisane u taj fajl kada se dijalog zatvori. Revizije su upisane u istom formatu kao što je korišćeno da se specificiraju revizije u dijalogu stapanja.

specificira fajl ili folder za koji je dnevnik prikazan. Dodatne opcije se mogu podesiti:

  • /startrev:xxx,

  • /endrev:xxx,

  • /limit:xxx limits the amount of fetched messages

  • /strict omogućava 'stop kopiranja' čekboks,

  • /merge omogućava 'uključi stopljene revizije' čekboks,

  • /datemin:"{datestring}" postavlja početni datum filtra, i

  • /datemax:"{datestring}" postavlja krajnji datum filtra. Format datuma je isti kao korišćen za svn datum revizije.

  • /findstring:"filterstring" popunjava filter tekst,

  • /findtext forsira filter da koristi tekst, ne regeks, ili

  • /findregex forsira filter da koristi regeks, ne jednostavno pretraživanje teksta, i

  • /findtype:X sa Xkoje je broj između 0 i 511. Brojevi su suma sledećih opcija:

    • /findtype:0 filter po svemu

    • /findtype:1 filter po porukama

    • /findtype:2 filter po putanjama

    • /findtype:4 filtriranje pomoću atora

    • /findtype:8 filter po revizijama

    • /findtype:16ne koristi se

    • /findtype:32 filter po bag ID

    • /findtype:64 ne koristi se

    • /findtype:128 filter po datumu

    • /findtype:256 filter po opsegu datuma

  • Ako je /outfile:path\to\file specificirano, izabrane revizije su zapisane u taj fajl kada se dijalog zatvori. Revizije su upisane u istom formatu kao što je korišćeno da se specificiraju revizije u dijalogu stapanja.

An svn date revision can be in one of the following formats:

  • {2006-02-17}

  • {15:30}

  • {15:30:00.200000}

  • {"2006-02-17 15:30"}

  • {"2006-02-17 15:30 +0230"}

  • {2006-02-17T15:30}

  • {2006-02-17T15:30Z}

  • {2006-02-17T15:30-04:00}

  • {20060217T1530}

  • {20060217T1530Z}

  • {20060217T1530-0500}

:checkout

Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from. If you specify the key /blockpathadjustments, the automatic checkout path adjustments are blocked. The /revision:XXX specifies the revision to check out.

If you specify /outfile:"path/to/file" the specified file will contain three lines after a checkout. The first line is the checkout path, the second line the url and the third the revision.

:importOtvara 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.
:updateUskladi 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.
:commitOtvara 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.
:addDodaje fajlove u /putanja za kontrolu verzije.
:revertVraća lokalne izmene radne kopije. /putanja kaže koje stavke vratiti.
:cleanupBriš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.
:resolveOznač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.
:repocreateKreira spremište u /putanja
:switchOtvara dijalog skretanja. /putanja određuje ciljni direktorijum i /url URL za skretanje.
:exportIzvozi 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.
:dropexportIzvozi 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.
:dropvendorCopies 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.
:mergeOtvara 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.
:mergeallOtvara dijalog stapanja. /putanja specificira ciljni folder.
:copyPodignite 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
:settingsOtvara dijalog podešavanja.
:removeUklanja fajl(ove) u /putanja iz kontrole verzija.
:renamePreimenuje fajl u /putanja. Novo ime za fajl pita dijalog. Da se izbegne pitanje o preimenovanju sličnih fajlova u jednom koraku, prevuci /noquestion.
:diffPokreć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.
:shelveShelves 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.
:unshelveApplies 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 ujedinjen podešen), dijalog sa listom fajlova koji su izmenjeni ili ako URL ukazuju na fajlove koji pokreću diff pregledač za ta dva fajla.

Opcije url1, url2, revision1 i revision2 moraju biti specificirani. Opcije pegrevision, ignoreancestry, blame i unified su opcionalni.

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 /ignoreprops.

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.

:conflicteditorPokreće konflikt uređivač specificiran u TortoiseSVN podešavanju sa korektnim fajlovima za konfliktni fajl u /putanja.
:relocateOtvara dijalog relociranja. /putanja specificira putanju radne kopije za relociranje.
:helpOtvara fajl pomoći.
:repostatusOtvara 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 /path ili /path ukazuje direktno na URL.

Dodatna opcija /rev:xxx se može koristiti da se specificira revizija koju treba da prikaže pretraživač spremišta. Ako /rev:xxx nedostaje, uobičajena je GLAVNA revizija.

Ako /path ukazije na URL, /projectpropertiespath:path/to/wc specificira putanju odakle se čitaju i koriste osobine projekta.

Ako je /outfile:path\to\file specificirano, izabrani URL i revizija su upisani u taj fajl kada je pretraživač spremišta zatvoren. Prva linija u tom tekst fajlu sadrži URL, druga linija reviziju u tekstualnom obliku.

:ignoreDodaje sve ciljeve u /putanja u listu zanemarivanja, tj. dodaje svn:ignore karakteristike tim fajlovima.
:blame

Otvara dijalog okrivljavanja za fajlove specificirane u /path.

Ako opcije /startrev i /endrev su podešeni, zatim se poziva dijalog za opseg okrivljavanja koji nije prikazan ali revizione vrednosti ovih opcija su korišćene umesto toga.

Ako je opcija /line:nnn podešena, TortoiseBLAME će se otvoriti sa prikazanim specifičnim brojevima linija.

Opcije /ignoreeol, /ignorespaces i /ignoreallspaces su takođe podržani.

: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.
:createpatchCreates 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 /path.

Da creirate fajl sliku revizionog grafa za specifičnu putanju, ali bez prikazivanja prozora grafa, pošaljite /output:path sa putanjom ka izlaznom fajlu. Izlazni fajl mora da ima ekstenziju koju revizioni graf stvarno izvozi. To su: .svg, .wmf, .png, .jpg, .bmp and .gif.

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 /options:XXXX, gde je XXXX decimalna vrednost. Najbolji način da se nađe željena opcija je da se započne revizioni graf na uobičajeni način, podesite sve opcije interfejsa korisnika i zatvorite graf. Zatim opcije koje želite da prosledite na komandnoj liniji mogu biti pročitane iz registra HKCU\Software\TortoiseSVN\RevisionGraphOptions.

:lockZaključava fajl u folderu datom u /putanja. 'Katanac' dijalog je prikazan tako da korisnik može unese urezivanje za katanac.
:unlockOtključaj fajl ili sve fajlove u folderu datom u /putanja.
:rebuildiconcachePrerađ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 /path.

Za rad sa verzionisanim osobinama ova komanda zahteva radnu kopiju.

Revizione osobine mogu biti viđene/izmenjene ako je /path URL i /rev:XXX je specificiran.

Da se otvori dijalog osobina za određenu osobinu provucite ime osobine kao /property:name.

: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 /path, onda je putanja korišćena da zapamti ili pročita otud.

Parametar /askforpath će prikazati fajl otvori/sačuvaj dijalog korisniku da izabere izvoz/uvoz putanju.

Ako nije ni /load ni /save specificirano onda TortoiseSVN određuje da li izvesti ili uvesti podešavanja posmatranjem koji je skoriji. Ako je izvozni fajl skoriji od tekućih podešavanja, onda se podešavanja unose iz fajla. Ako su tekuća podešavanja skorija od izvoznih podešavanja onda se podešavanja izvoze u fajl podešavanja.

Ako je /load specificirana podešavanja se uvoze iz fajla podešavanja.

Ako je /save specificirana tekuća podešavanja su izvezena u fajl podešavanja.

Parametar /local forsira izvoz podešavanja da uključe lokalna podešavanja, tj. podešavanja koja se odnose na lokalne putanje.


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

Tsvncmd URL rukovalac

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>

TortozIDif komande

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

OpcijeOpis
:leftPutanja do fajla prikazanog levo.
:lefttitleString naslova. Ovaj string se koristi u naslovu pregledača slika umesto pune putanje fajlova slika.
:rightPutanja do fajla prikazanog desno.
:righttitleString naslova. Ovaj string se koristi u naslovu pregledača slika umesto pune putanje fajlova slika.
:overlayAko je specificiran, dif alat slika prebacuje mod prekrivača (alfa mešavina).
:fitAko je specificiran, diff alat slike uglavljuje obe slike zajedno.
:showinfoPrikazuje 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

TortoiseUDiff komande

Ujedinjeni diff pregledač ima samo dve opcije komandne linije:

Tabela D.3. Lista raspoloživih opcija

OpcijeOpis
:patchfilePutanja do ujedinjenog diff fajla
:pAktivirajte 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
      

Dodatak E. Komandna Linija Interfejs Unakrsne Reference

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.

Primedba

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.

Konvencije i osnovna pravila

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.

Važno

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.

TortoiseSVN komande

Preuzimanje

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č.

Obnavljanje

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.

Uskladi sa revizijom...

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č.

Urezivanje

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č.

Razl

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.

Prikaži dnevnik

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č.

Provera izmena

svn status -v PATH
or
svn status -u -v PATH
      

Početna provera statusa gleda samo u vašu radnu kopiju. Ako kliknete na Proveri spremište zatim se spremište takođe proveri da se vidi koji fajlovi će biti izmenjeni obnavljanjem, što zahteva -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

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.

Repo-pretraživač

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.

Uredi sukob

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.

Rešeno

svn resolved PATH
      

Preimenuj

svn rename CURR_PATH NEW_PATH
      

Obriši

svn delete PATH
      

Vrati na staro

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...
      

Čišćenje

svn cleanup PATH
      

Zaključaj

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.

Skini Katanac

svn unlock PATH
      

Grana/Oznaka

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:

  • GLAVNA revizija u spremištu
  • Određena revizija u spremištu
  • Radna kopija

koje odgovaraju 3 varijante komandnih linija gore.

LogMessage ovde redstavlja sadržaj dnevnik poruke boksa uređenja. Ovo može biti prazno.

Zamena

svn info URL_of_WC
svn switch [-r rev] URL PATH
      

Stopi

svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH
      

Test Stapanje omogućava isto stapanje kao --dry-run prekidač.

svn diff From_URL@revN To_URL@revM
      

Ujedinjene diff prikazuju diff operaciju koja će biti korišćena za stapanje.

Izvezi

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č.

Premesti

svn switch --relocate From_URL To_URL
      

Kreuraj spremište ovde

svnadmin create --fs-type fsfs PATH
      

Dodavanje

svn add PATH...
      

Ako izaberete folder, TortoiseSVN prvo pregleda sve rekurzivno za stavke koje mogu biti dodate.

Uvezi

svn import -m LogMessage PATH URL
      

LogMessage ovde redstavlja sadržaj dnevnik poruke boksa uređenja. Ovo može biti prazno.

Krivac

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.

Dodaj u listu za zanemarivanje

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.

Izradi zakrpu

svn diff PATH > patch-file
      

TortoiseSVN kreira fajl zakrpu u ujedinjenom diff formatu poredeći radnu kopiju sa OSNOVNOM verzijom.

Primena zakrpa

Primena zakrpa je trik posao sve dok zakrpa i radna kopija su iste revizije. Srećom za vas, možete koristiti TortoiseMerge, koji nema direktni ekvivalent u Subverziji.

Dodatak F. Implementacioni detalji

Ovaj dodatak sadrži detaljniju disusiju primene nekih TortoiseSVN mogućnosti.

Prekrivne ikone

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.

Dodatak G. Jezički paket i provera sintakse

Standardni instalator podržavasamo engleskiali možete skinuti pakete posebnih jezika i rečnike za proveru sintakse posle instalacije.

Jezički paketi

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.

Pravopis kontrola

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.

  1. Proverite tsvn:projectlanguage podešavanje. Pogledajte odeljak pod imenom „Podešavanje projekta“ za informacije o podešavanju osobina projekta.

  2. Ako jezik projekta nije označen, ili taj jezik nije instaliran, probajte jezik koji odgovara Vindouz lokalnom jeziku.

  3. Ako pravi Vindouz lokalni jezik ne funkcioniše, probajte Osnovni jezik, npr. de_CH (Švajcarska-Nemački) ide na de_DE (Nemački).

  4. Ako ništa od navedenog ne radi, tada je podrazumevani jezik Engleski, koji je uključen u standardnu instalaciju.

Pojmovnik

Dodavanje

Subverziona komanda se koristi da doda fajl ili folder u vašu radnu kopiju. Nova stavka je dodata u spremište kada urezujete.

OSNOVNA revizija

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.

Krivac

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.

Grana

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.

Preuzimanje

Subverziona komanda koja kreira lokalnu radnu kopiju u praznom folderu skidanje verzionisanih fajlova iz spremišta.

Čišćenje

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.

Urezivanje

Subverziona komanda koja se koristi da pošalje izmene iz vaše lokalne radne kopije nazad u spremište, kreiranjem nove revizije spremišta.

Konflikt

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.

Kopiraj

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.

Obriši

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.

Razl

Skraćenica za Prikaži razlike. Veoma korisna kada želite da vidite tačno šta se izmenilo.

Izvezi

Komanda proizvodi kopiju verzionisanog foldera, upravo kao radna kopija, ali bez lokalnih .svn foldera.

FSFS

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.

GPO

Objekat grupne polise.

GLAVNA Revizija

Poslednja revizija fajla ili foldera u spremištu.

Uvezi

Subverziona komanda za uvoz cele hijerarhije foldera u spremište u pojedinačnoj reviziji.

Zaključavanje

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.

Dnevnik

Prikazuje istoriju revizija fajla ili foldera. Takođe poznat kao Istorija.

Istorija

Prikazuje istoriju revizija fajla ili foldera. Takođe poznat kao Dnevnik.

Stopi

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.

Zakrpa

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.

Svojstvo

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.

Premesti

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

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.

Reši

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.

Vrati na staro

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.

Revizija

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.

Osobine revizije (revosob)

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.

SVN

Često-koriišćene skraćenice u Subverziji

Ime Subverzionog običnog protokola koji koristi svnserve server spremišta.

Zamena

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.

Obnavljanje

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.

Radna kopija

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.

Indeks

C

čišćenje, Čišćenje
čist, Poništi izmene
CLI,
COM, ,
COM SubVCRev interfejs, COM interfejs
ČPP,

D

daljinsko urezivanje,
delimično preuzimanje, Provera radne kopije
desni klik, Kontekst meniji:
desni vuci, Vuci baci
distributerski projekti, Uključi sličan sub-projekat
dnevnik, Revizioni dijalog dnevnika
dnevnik spajanja praćenja, Spajanje osobina praćenja
dodaj, Dodavanje novih fajlova i foldera
dodavanje fajlova u spremište, Uvoz podataka u spremište

J

jezičak,
jezički paketi, Jezički paketi

P

podešavanje, TortoiseSVN postavke
pomeren server, Relociranje radne kopije
pomeri, Pomeranje fajlova i foldera
pomeri fajlove, Kopiranje/Pomeranje/Preimenovanje fajlova i foldera
poništavanje izmena, Vrati nazad (poništi) revizije u spremištu
poništavanje urezivanja, Vrati nazad (poništi) revizije u spremištu
poništi, Poništi izmene
popis izmena, Liste izmena
poređenje, Pregled razlika
poruka dnevnika, Forsirati korisnike da unesu poruke dnevnika
poruka urezivanja, Forsirati korisnike da unesu poruke dnevnika
poruke dnevnika, Revizioni dijalog dnevnika
poruke urezivanja, Revizioni dijalog dnevnika
praćenje spajanja, Praćenje Spajanja
pravopis kontrola, Pravopis kontrola
prazna poruka, Forsirati korisnike da unesu poruke dnevnika
prazno preuzimanje, Provera radne kopije
preimenuj, Pomeranje fajlova i foldera, Pretraživač spremišta, Pomeri/kopiraj mnogo fajlova ođednom
preimenuj fajlove, Kopiranje/Pomeranje/Preimenovanje fajlova i foldera
prekrivači, Prekrivne ikone, Prekrivne ikone
premeštanje, Pomeri/kopiraj mnogo fajlova ođednom
premesti, Relociranje radne kopije
premotavanje, Vrati nazad (poništi) revizije u spremištu
pretraživač, TortoiseSVN osobine
preuzmi, Provera radne kopije
prevodi, Jezički paketi
prijavljivanje, Urezivanje vaših izmena u spremište
prioritet prekrivanja, Prekrivne ikone
Pristup, Lokalni pristup spremištu
privremeni fajlovi, Uvezi
problem tragač, Integracija sa Bag Praćenja Sistem / Problem Tragači,
projekt monitor,
proksi server, Mrežna podešavanja
proširenje ključnih reči, svn:ključnereči
provera nadogradnje, Preusmeravanje provere nadogradnje
provera nove verzije, Preusmeravanje provere nadogradnje

T

TortoiseSVN osobine, Osobine TortoiseSVN projekata
TortoiseSVN veza, Veze preuzimanja
TortozIDiff, Razl slika koristeći TortozDif