2022/09/06 19:53:28 (r29447)
Obsah
Zoznam obrázkov
Zoznam tabuliek
Obsah
Správa verzií je umenie riadenia zmien informácií. Je to už dlho kritický nástroj pre programátorov, ktorí zvyčajne trávia čas malými zmenami v softvéri a nasledujúcim dňom potom vrátia alebo skontrolujú niektoré z týchto zmien. Predstavte si, že tím takýchto vývojárov pracuje súčasne - a možno aj súčasne na tých istých súboroch! - a vidíte, prečo je potrebný dobrý systém na spravovanie potenciálneho chaosu .
TortoiseSVN je bezplatný klient Windows s otvoreným zdrojom pre Apache ™ Subversion® systém riadenia verzií. To znamená, že TortoiseSVN spravuje súbory a priečinky v priebehu času. Súbory sú uložené v ústrednom úložisku. Úložisko je podobné bežnému súborovému serveru, až na to, že si pamätá všetky zmeny, ktoré ste kedy vykonali vo svojich súboroch a priečinkoch. To vám umožní obnoviť staršie verzie súborov a preskúmať históriu toho, ako a kedy sa vaše údaje zmenili a kto ich zmenil. To je dôvod, prečo si mnoho ľudí myslí o systémoch Subversion a systémoch riadenia verzií všeobecne ako o nejakom druhu “stroja času” .
Niektoré systémy na správu verzií sú tiež systémy na správu konfigurácie softvéru (SCM). Tieto systémy sú špeciálne prispôsobené na správu stromov zdrojového kódu a majú veľa funkcií špecifických pre vývoj softvéru - napríklad natívne porozumenie programovacím jazykom alebo dodávka nástrojov na tvorbu softvéru. Subversion však nie je jedným z týchto systémov; je to všeobecný systém, ktorý je možné použiť na správu akýkoľvek kolekcií súborov vrátane zdrojového kódu.
Čo robí TortoiseSVN tak dobrým klientom Subversion? Tu je krátky zoznam funkcií.
TortoiseSVN sa bezproblémovo integruje do prostredia Windows (t. j. Prieskumníka). To znamená, že môžete pokračovať v práci s nástrojmi, ktoré už poznáte. A nemusíte vždy prechádzať do inej aplikácie, keď potrebujete funkcie riadenia verzií.
Nie ste obmedzovaní pri používaní programu Prieskumníka Windows; kontextové ponuky TortoiseSVN fungujú v mnohých ďalších programoch na správu súborov a tiež v dialógovom okne Súbor/Otvoriť, ktoré je spoločné pre väčšinu štandardných aplikácií pre Windows. Mali by ste však mať na pamäti, že TortoiseSVN je zámerne vyvinutý ako rozšírenie Prieskumníka Windows. Je teda možné, že v iných aplikáciách nie je integrácia taká komplexná a napr. prekrytia ikon sa nemusia zobrazovať.
Stav všetkých verziových súborov a priečinkov je indikovaný malými ikonami prekrytia. Takto môžete okamžite vidieť, aký je stav vašej pracovnej kópie.
Keď uvediete zoznam zmien v súbore alebo priečinku, kliknutím na revíziu zobrazíte komentáre k danému odovzdaniu. Môžete tiež vidieť zoznam zmenených súborov - stačí dvakrát kliknúť na súbor a uvidíte, čo sa presne zmenilo.
Dialógové okno odovzdania obsahuje zoznam všetkých položiek, ktoré budú zahrnuté do odovzdania a každá položka má zaškrtávacie políčko, aby ste si mohli vybrať, ktoré položky chcete zahrnúť. Môžu byť zaznamenané aj bezverziové súbory, pre prípad, že ste zabudli pridať tento nový súbor.
Všetky príkazy Subversion sú dostupné z kontextovej ponuky prieskumníka. TortoiseSVN tam pridáva svoju vlastnú pod-ponuku.
Pretože TortoiseSVN je klient Subversion, chceme vám tiež ukázať niektoré z funkcií samotného Subversion:
CVS sleduje iba históriu jednotlivých súborov, ale Subversion implementuje “virtuálne” verziový súborový systém, ktorý v priebehu času sleduje zmeny v celých stromoch priečinkov. Súbory a priečinky sú verziové. Výsledkom je, že sú skutočné klienttské príkazy posunúť a kopírovať, ktoré pracujú so súbormi a priečinkami.
Odovzdanie je pridané do úložiska kompletne, alebo nie je vôbec pridané. Toto umožňuje vývojárom vytvárať a odovzdávať zmeny ako logické celky.
Každý súbor a priečinok má neviditeľnú sústavu “vlastností”. Môžete si vymyslieť a uložiť ľubovoľný pár kľúč/hodnota podľa svojho želania. Vlastnosti sú označené verziou rovnako ako obsah súborov.
Subversion má abstraktnú predstavu o prístupe do úložiska, čo ľuďom uľahčuje implementáciu nových sieťových mechanizmov. Subversion “pokročilý” sieťový server je modul pre webový server Apache, ktorý komunikuje variantom HTTP volaním WebDAV/DeltaV. To dáva Subversionu veľkú výhodu v stabilite a prevádzkyschopnosti pričom poskytuje rôzne kľúčové funkcie: napríklad autentifikáciu, autorizáciu, kompresiu prenosu a prehliadanie archívov. K dispozícii je tiež menší samostatný proces servera Subversion. Tento server komunikuje vlastným protokolom, ktorý je možné ľahko tunelovať cez ssh.
Subversion vyjadruje rozdiely v súboroch použitím binárneho diferenciačného algoritmu, ktorý pracuje rovnako na textových (človekom čitateľných) aj binárnych (človekom nečitateľných) súboroch. Oba typy súborov sú v úložisku uložené rovnako komprimované a rozdiely sa v sieti prenášajú oboma smermi.
Cena rozvetvenia a značenia príznakmi nemusí byť úmerná veľkosti projektu. Subversion vytvára vetvy a príznaky jednoduchým kopírovaním projektu použitím mechanizmu podobného pevnej linke. Tieto operácie teda zaberajú iba veľmi malé, stále množstvo času a veľmi málo miesta v úložisku.
TortoiseSVN je projekt s otvoreným zdrojom vyvinutý na základe GNU General Public License (GPL). Je zadarmo na stiahnutie a k osobnému alebo komerčnému použitiu na ľubovoľnom počte počítačov.
Aj keď si väčšina ľudí stiahne iba inštalátor, máte tiež plný prístup na čítanie zdrojového kódu tohto programu. Môžete ich prehliadať na tomto odkaze https://osdn.net/projects/tortoisesvn/scm/svn/ . Aktuálna vývojová línia sa nachádza pod /trunk/
a vydané verzie sú umiestnené pod /tags/
.
TortoiseSVN aj Subversion sú vyvinuté spoločenstvom ľudí, ktorí na týchto projektoch pracovali. Pochádzajú z rôznych krajín celého sveta a spojili sa aby vytvorili nádherné programy.
V roku 2002 Tim Kemp zistil, že Subversion je veľmi dobrý systém riadenia verzií, ale chýba mu dobrý klient GUI. Myšlienka klienta Subversion ako integrácie prostredia Windows bola inšpirovaná podobným klientom pre CVS s názvom TortoiseCVS. Tim študoval zdrojový kód TortoiseCVS a použil ho ako základ pre TortoiseSVN. Potom zahájil projekt, zaregistroval doménu tortoisesvn.org
a dal zdrojový kód do režimu online.
V tom čase Stefan Küng hľadal dobrý a bezplatný systém riadenia verzií a našiel Subversion a zdroj pre TortoiseSVN. Pretože TortoiseSVN ešte nebol pripravený na použitie, zapojil sa do projektu a začal programovať. Čoskoro prepísal väčšinu existujúceho kódu a začal pridávať príkazy a funkcie, až do bodu, keď z pôvodného kódu nezostalo nič.
Keď sa Subversion stal stabilnejším, priťahoval čoraz viac používateľov, ktorí tiež začali používať TortoiseSVN ako svojho klienta Subversion. Užívateľská základňa sa rýchlo rozrastala (a stále rastie každým dňom). Vtedy sa Lübbe Onken ponúkol, že pomôže s peknými ikonami a logom pre TortoiseSVN. Teraz sa stará o webovú stránku a spravuje množstvo prekladov.
Postupom času všetky ostatné systémy na správu verzií dostali svojho vlastného klienta Tortoise, čo spôsobilo problém s prekrytiami ikon v Prieskumníkovi: počet takýchto prekrytí je obmedzený a dokonca jeden klient Tortoise môže tento limit ľahko prekročiť. Vtedy Stefan Küng implementoval komponent TortoiseOverlays, ktorý umožňuje všetkým klientom Tortoise používať rovnaké prekrytia ikon. Teraz používajú túto zdieľanú súčasť všetci klienti Tortoise s otvoreným zdrojom a dokonca aj niektorí iný klienti než Tortoise.
za spustenie projektu TortoiseSVN
za tvrdú prácu, aby TortoiseSVN bol tým, čím je teraz a vedenie projektu
za nádherné ikonky, logo, vychytávanie chýb, preklad a organizovanie prekladov
za pomoc s dokumentaciou
za zásobník denníka a graf revízií
za úžasný úvod do Subversion a kapitolu 2, ktorú sme sem okopírovali
za niektoré štýly, ktoré sa použili v dokumentácií
za záplaty, hlásenia chýb a nové nápady a za pomoc iných, ktorý odpovedali na otázky v našom poštovom zozname
za mnoho hodín dobrej hudby, ktoré nám poslali
Táto kniha je určená pre počítačovo zdatných ľudí, ktorí chcú na správu svojich údajov použiť program Subversion, ale radšej používajú klienta GUI než klienta príkazového riadku. TortoiseSVN je rozšírenie prostredia Windows a predpokladá sa, že používateľ je oboznámený s programom Prieskumníka Windows a s tým, ako ho používať.
Tento Predhovor vysvetľuje, čo je TortoiseSVN, trochu o projekte TortoiseSVN a komunite ľudí, ktorí na ňom pracujú, a licenčné podmienky na jeho použitie a distribúciu.
Kapitola 1, Začíname vysvetľuje ako nainštalovať TortoiseSVN na váš počítač a ako ho začať používať.
V Kapitola 2, Základné koncepty správy verzií dávame krátky úvod do systému kontroly revízií Subversion, ktorý je základom TortoiseSVN. Toto je prevzaté z dokumentácie k projektu Subversion a vysvetľuje rôzne prístupy na riadenie verzií a fungovanie Subversion.
Kapitola o Kapitola 3, Úložisko vysvetľuje, ako nastaviť miestne úložisko, ktoré je užitočné na testovanie serverov Subversion a TortoiseSVN použitím jedného počítača. Vysvetľuje tiež niečo o správe úložiska, ktorá je relevantná aj pre úložiská umiestnené na serveri.
The Kapitola 4, Sprievodca každodenným používaním je najdôležitejšou časťou, pretože vysvetľuje všetky hlavné vlastnosti TortoiseSVN a ako ich používať. Prebieha vo forme výučby, počnúc získaním pracovnej kópie, jej úpravou, odovzdávaním zmien atď. Potom prejde k pokročilejším témam.
The Kapitola 5, Monitor projektu vysvetľuje, ako môžete sledovať svoje projekty Subversion, aby vám neunikli dôležité záväzky od vašich ostatných členov tímu.
Kapitola 6, Program SubWCRev je samostatný program zahrnutý v TortoiseSVN, ktorý dokáže extrahovať informácie z vašej pracovnej kópie a zapísať ich do súboru. To je užitočné na zahrnutie informácií o zostavení do vašich projektov.
The Dodatok B, Ako na to... časť odpovedá na niektoré bežné otázky týkajúce sa vykonávania úloh, ktoré nie sú explicitne uvedené inde.
Časť o Dodatok D, Automatizácia TortoiseSVN ukazuje, ako je možné vyvolať dialógové okná GUI TortoiseSVN z príkazového riadku. Je to užitočné pri skriptovaní tam, kde stále potrebujete interakciu používateľa.
The Dodatok E, Krížový odkaz na rozhranie príkazového riadku udáva vzťahy medzi príkazmi TortoiseSVN a ich ekvivalentmi v klientovi príkazového riadku Subversion svn.exe
.
Pre uľahčenie čítania dokumentov sú názvy všetkých zobrazení a ponúk z TortoiseSVN označené iným písmom. Dialógové okno záznamu pre inštanciu.
Výber ponuky je označený šípkou. Zobraziť záznam z kontextovej ponuky TortoiseSVN.
→ spôsob: vybraťAk sa v jednom z dialógových okien TortoiseSVN objaví lokálna kontextová ponuka, zobrazí sa takto:
→Tlačidlá užívateľského rozhrania sú označené takto: Stlačte
pre pokračovanie.Akcie používateľa sú označené tučným písmom. Alt + A: stlačte Alt-klávesu na klávesnici a podržte ju stlačenú spolu s klávesou A. Presuňte sa doprava : stlačte pravé tlačidlo myši a pridržte ho ťahaním položky na nové miesto.
Systémový výstup a vstup z klávesnice sú tiež označené odlišným
písmom.
Dôležité poznámky sú označené ikonou.
Tipy, ktoré vám uľahčia život.
Miesta, kde musíte byť opatrní pritom, čo robíte.
Tam, kde je potrebné postupovať mimoriadne opatrne. Ak budú tieto varovania ignorované, môže dôjsť k poškodeniu údajov alebo k iným nepríjemným veciam.
![]() |
Obsah
Táto sekcia je zameraná na ľudí, ktorí by chceli zistiť, o čom TortoiseSVN je a vyskúšať si ho. Vysvetľuje, ako nainštalovať TortoiseSVN a nastaviť miestne úložisko a prevedie vás najčastejšie používanými operáciami.
TortoiseSVN beží na systéme Windows Vista alebo novšom a je k dispozícii v 32-bitovej aj 64-bitovej verzii. Inštalátor pre 64-bitový Windows obsahuje aj 32-bitové rozšírenia. Čo znamená, že pre získanie kontextovej ponuky TortoiseSVN a prekrytí v 32-bitových aplikáciách nemusíte inštalovať 32-bitovú verziu osobitne.
Podpora Windows 98, Windows ME a Windows NT4 bola vo verzii 1.2.0 zrušená a podpora Windows 2000 a XP až do SP2 bola zrušená vo verzii 1.7.0. Podpora pre Windows XP s SP3 bola v 1.9.0 zrušená. V prípade potreby si môžete stiahnuť a nainštalovať staršie verzie.
TortoiseSVN sa dodáva s ľahko použiteľným inštalátorom. Dvakrát kliknite na inštalačný súbor a postupujte podľa pokynov. O zvyšok sa postará inštalátor. Po inštalácii nezabudnite reštartovať.
Na inštaláciu TortoiseSVN potrebujete oprávnenie správcu. Inštalátor vás v prípade potreby požiada o prihlasovacie údaje správcu.
K dispozícii sú jazykové balíčky, ktoré prekladajú užívateľské rozhranie TortoiseSVN do mnohých rôznych jazykov. Skontrolujte, prosím, Dodatok G, Jazykové balíčky a kontrola pravopisu pre ďalšie informácie o tom, ako ich nainštalovať.
Ak narazíte na problémy počas alebo po inštalácie TortoiseSVN, prečítajte si naše online FAQ na adrese https://tortoisesvn.net/faq.html .
Predtým, než sa zasekneme v práci s niektorými skutočnými súbormi, je dôležité získať prehľad o tom, ako funguje Subversion a o použitých termínoch.
Subversion používa centrálnu databázu, ktorá obsahuje všetky vaše súbory riadené verziou s ich úplnou históriou. Táto databáza sa označuje ako Úložisko . Úložisko normálne žije na súborovom serveri, na ktorom je spustený program servera Subversion, ktorý na požiadanie dodáva obsah klientom Subversion (napríklad TortoiseSVN). Ak zálohujete iba jednu vec, zálohujte svoje úložisko, pretože je to definitívna hlavná kópia všetkých vašich údajov.
Tu robíte skutočnú prácu. Každý vývojár má na svojom lokálnom počítači svoju vlastnú pracovnú kópiu, ktorá sa niekedy nazýva "pieskovisko". Môžete si stiahnuť najnovšiu verziu z úložiska, pracovať na nej lokálne bez ovplyvnenia kohokoľvek iného, potom keď budete spokojní so zmenami, ktoré ste vykonali, odovzdáte ich späť do úložiska.
Pracovná kópia Subversion neobsahuje históriu projektu, ale uchová si kópiu súborov, ktoré existujú v úložisku, skôr ako začnete robiť zmeny. To znamená, že je ľahké presne skontrolovať, aké zmeny ste vykonali.
Musíte tiež vedieť, kde nájsť TortoiseSVN, pretože z ponuky Štart nie je veľa toho vidieť. Je to preto, že TortoiseSVN je rozšírenie prostredia, takže v prvom rade spustite program Prieskumník Windows. Pravým tlačidlom myši kliknite na priečinok v Prieskumníku a v kontextovej ponuke by sa vám mali zobraziť niektoré nové položky, ako je táto:
V tejto sekcii sa dozviete, ako vyskúšať niektoré z najčastejšie používaných funkcií v malom úložisku testov. Prirodzene, že to nevysvetľuje všetko - je to koniec koncov iba Stručný návod na obsluhu. Keď ste v prevádzke, mali by ste si čas prečítať zvyšok tejto používateľskej príručky, ktorá vás prevedie vecami podrobnejšie. Vysvetľuje tiež viac informácií o nastavení správneho servera Subversion.
Pre skutočný projekt budete mať úložisko nastavené niekde v bezpečí a server Subversion ho bude ovládať. Na účely tohto tutoriálu budeme používať funkciu miestneho úložiska Subversion, ktorá umožňuje priamy prístup k úložisku vytvorenému na vašom pevnom disku bez potreby servera.
Najskôr vytvorte vo svojom počítači nový prázdny priečinok. Môže prejsť kamkoľvek, ale v tomto tutoriáli to nazveme C:\svn_repos
. Teraz kliknite pravým tlačidlom myši na nový priečinok a z kontextovej ponuky vyberte → . Úložisko sa potom vytvorí vo vnútri priečinka a je pripravené na použitie. Vytvoríme predvolenú štruktúru interných priečinkov kliknutím na tlačidlo .
Funkcia miestneho úložiska je veľmi užitočná na testovanie a hodnotenie, ale pokiaľ nepracujete ako jediný vývojár na jednom počítači, mali by ste vždy používať správny server Subversion. V malej spoločnosti je lákavé vyhnúť sa práci s nastavením servera a jednoducho pristupovať k svojmu úložisku na zdieľanom sieťovom serveri. Toto nikdy nerobte. Stratíte údaje. Prečítaním “Prístup k úložisku pri sieťovom zdieľaní” zistíte, prečo to nie je dobrý nápad a ako nastaviť server.
Teraz máme úložisko, ktoré je však momentálne úplne prázdne. Predpokladajme, že máme sústavu súborov v priečinku C:\Projekty\Widget1
, ktorú chceme pridať. Prejdite na priečinok Widget1
v Prieskumníkovi a kliknite naň pravým tlačidlom myši. Teraz vyberte → , ktorý vyvolá dialógové okno:
Na úložisko Subversion sa odkazuje adresou URL, ktorá nám umožňuje určiť úložisko kdekoľvek na internete. V tomto prípade musíme ukázať na svoje vlastné lokálne úložisko, ktoré má URL file: ///c:/svn_repos/trunk
a ku ktorému pridáme vlastný názov projektu Widget1
. Upozorňujeme, že za nimi sú tri lomky file:
a že lomky sa používajú v celom texte.
Ďalšou dôležitou vlastnosťou tohto dialógového okna je textové políčko Importovať správu, ktoré vám umožní zadať správu popisujúcu, čo robíte. Keď sa pozriete do histórie projektu, tieto správy o odovzdaní sú cenným sprievodcom o tom, aké zmeny a prečo boli urobené. V tomto prípade môžeme povedať niečo jednoduché ako “Import projektu Widget1”. Kliknite na a priečinok je pridaný do vášho úložiska.
Teraz, keď máme v našom úložisku projekt, musíme vytvoriť pracovnú kópiu, ktorú budeme používať na každodennú prácu. Upozorňujeme, že akt importu priečinka tento priečinok automaticky nezmení na funkčnú kópiu. Termín Subversion na vytvorenie novej pracovnej kópie je Overenie
. Chystáme sa overiť priečinok Widget1 v našom úložisku do vývojového priečinka na počítači s názvom C:\Projects\Widget1-Dev
. Vytvorte tento priečinok, kliknite naň pravým tlačidlom myši a vyberte → . V takom prípade zadajte adresu URL úložiska file:///c:/svn_repos/trunk/Widget1
a kliknite na . Náš vývojový priečinok je potom naplnený súbormi z úložiska.
V predvolenom nastavení sa položka ponuky overenia nenachádza v pod-ponuke TortoiseSVN, ale zobrazuje sa v hornej ponuke prieskumníka. Príkazy TortoiseSVN, ktoré nie sú v pod-ponuke, majú SVN
pred-pripravené:
Všimnete si, že vzhľad tohto priečinka sa líši od nášho pôvodného priečinka. Každý súbor má v ľavom dolnom rohu zelenú značku zaškrtnutia. Toto sú ikony stavu TortoiseSVN, ktoré sa nachádzajú iba v pracovnej kópii. Zelený stav označuje, že súbor nie je zmenený od verzie v úložisku.
Čas sa pustiť do práce. V priečinku Widget1-Dev
začneme upravovať súbory - povedzme, že urobíme zmeny v priečinku Widget1.c
a ReadMe.txt
. Všimnite si, že prekrytia ikony na týchto súboroch sa teraz zmenili na červenú, čo znamená, že boli vykonané lokálne zmeny.
Aké sú však zmeny? Pravým tlačidlom myši kliknite na jeden zo zmenených súborov a vyberte možnosť
→ . Spustí sa nástroj na porovnávanie súborov TortoiseSVN, ktorý vám presne ukáže, ktoré riadky sa zmenili.Fajn, takže sme spokojní so zmenami, poďme aktualizovať úložisko. Táto akcia sa označuje ako Odovzdať
zmeny. Kliknite pravým tlačidlom myši na ikonu priečinok Widget1-Dev
a vyberte → . Dialógové okno potvrdenia obsahuje zoznam zmenených súborov, každý so zaškrtávacím políčkom. Možno si budete chcieť zvoliť iba časť týchto súborov, ale v takom prípade vykonáme zmeny v obidvoch súboroch. Zadajte správu, v ktorej popíšete, čoho sa zmena týka a kliknite na . Dialógové okno priebehu zobrazuje súbory, ktoré sa nahrávajú do úložiska a ste hotoví.
S vývojom projektu budete musieť pridávať nové súbory - povedzme, že do nich pridáte niekoľko nových funkcií Extras.c
a pridáte odkaz na existujúci Makefile
. Kliknite pravým tlačidlom myši na priečinok → . Dialógové okno Pridať teraz zobrazuje všetky súbory bez verzie a môžete si vybrať, ktoré chcete pridať. Ďalším spôsobom pridávania súborov by bolo kliknutie pravým tlačidlom myši na samotný súbor a výber → .
Keď teraz prejdete na odovzdanie priečinka, nový súbor sa zobrazí ako Pridané a existujúci súbor ako Zmenený. Dvojitým kliknutím na zmenený súbor môžete skontrolovať, aké zmeny boli vykonané.
Jednou z najužitočnejších funkcií TortoiseSVN je dialógové okno záznamu. Zobrazí sa zoznam všetkých odovzdaní, ktoré ste vykonali v súbore alebo priečinku a podrobné správy o odovzdaní, ktoré ste zadali (urobili ste správu o odovzdaní podľa návrhu? Ak nie, teraz vidíte, prečo je to dôležité).
OK, tak som tu trochu podvádzal a použil som snímku obrazovky z úložiska TortoiseSVN.
Horný panel ukazuje zoznam odovzdaných revízií spolu so počiatočnou správou o odovzdaní. Ak vyberiete jednu z týchto revízií, na strednom paneli sa zobrazí úplná správa protokolu pre danú revíziu a na dolnom paneli sa zobrazí zoznam zmenených súborov a priečinkov.
Každý z týchto panelov má kontextovú ponuku, ktoré vám poskytuje viacero spôsobov použitia týchto informácií. Na spodnom paneli môžete použiť dvojklik na súbor, aby ste presne videli, aké zmeny sa v tejto revízii vykonali. Prečítaním “Dialógové okno záznamu revízií” získate celý príbeh.
Jednou z funkcií všetkých systémov kontroly revízií je, že vám umožňujú vrátiť späť zmeny, ktoré ste vykonali predtým. Ako by ste čakali, TortoiseSVN uľahčuje prístup k nim.
Ak sa chcete zbaviť zmien, ktoré ste ešte neodovzdali a resetovať súbor do pôvodného stavu pred začatím úprav,
→ je tvoj priateľ. Ten zahodí vaše zmeny (pre každý prípad do koša) a vráti sa k potvrdenej verzii, s ktorou ste začali. Ak sa chcete zbaviť iba niektorých zmien, môžete použitím TortoiseMerge zobraziť rozdiely a selektívne vrátiť zmenené riadky.Ak chcete vrátiť späť účinky konkrétnej revízie, začnite dialógom záznamu a vyhľadajte príslušnú revíziu. Vyberte
→ a tieto zmeny sa vrátia späť.Táto príručka vám poskytne veľmi rýchlu prehliadku niektorých najdôležitejších a najužitočnejších funkcií aplikácie TortoiseSVN, ale samozrejme je tu oveľa viac, čím sme sa zatiaľ nezaoberali. Dôrazne odporúčame, aby ste si našli čas a prečítali si hlavne zvyšok tejto príručky Kapitola 4, Sprievodca každodenným používaním ktorá vám poskytne oveľa viac podrobností o každodennej prevádzke.
Narobili sme veľa problémov, aby sme zaistili, že bude informatívny a ľahko čitateľný, ale uvedomujeme si, že je toho naozaj veľa! Nájdite si čas a nebojte sa vyskúšať veci v testovacom úložisku, keď budete postupovať. Najlepší spôsob učenia je jeho používanie.
Obsah
Táto kapitola je mierne upravenou verziou tej istej kapitoly v knihe Subversion. Online verzia knihy Subversion je k dispozícii tu: http://svnbook.red-bean.com/.
Táto kapitola je krátkym, príležitostným úvodom do Subversion. Ak ste v oblasti správy verzií nováčikom, táto kapitola je určite pre vás. Začíname diskusiou o všeobecných konceptoch riadenia verzií, prepracujeme sa ku konkrétnym myšlienkam, ktoré stoja za Subversion a ukážeme niekoľko jednoduchých príkladov používania Subversion.
Aj keď príklady v tejto kapitole ukazujú, že ľudia zdieľajú kolekcie zdrojového kódu programu, nezabudnite, že Subversion dokáže spravovať akýkoľvek druh kolekcie - nie limitovaný pre pomáhanie počítačovým programátorom.
Subversion je centralizovaný systém na zdieľanie informácií. Jeho jadrom je a úložisko , ktoré je centrálnym skladom údajov. V úložisku sú uložené informácie vo forme stromu súborového systému - typická hierarchia súborov a priečinkov. Ľubovoľný počet klientov sa pripája k úložisku a potom tieto súbory číta alebo zapisuje. Zápisom údajov klient sprístupňuje tieto informácie ostatným; načítaním údajov klient prijíma informácie od ostatných.
Prečo je to teda zaujímavé? Zatiaľ to znie ako definícia typického súborového servera. A skutočne, úložisko je akýsi súborový server, ale nie je to vaša zvyčajná starosť. Repozitár Subversion je špeciálny pamätá si každú zmenu kedy boli doň zapísané: každá zmena v každom súbore a dokonca aj zmeny v samotnom strome priečinkov, ako napríklad pridanie, odstránenie a zmena usporiadania súborov a priečinkov.
Keď klient číta údaje z úložiska, normálne vidí iba najnovšiu verziu stromu súborového systému. Ale klient má aj schopnosť pozrieť si predošlé stavy súborového systému. Napríklad, klient môže klásť historické otázky ako: “čo obsahoval tento priečinok minulú stredu? ”, alebo“kto ako posledný zmenil tento súbor a aké zmeny vykonali?”. To sú druhy otázok, ktoré sú jadrom každého systému správy verzií: systémov, ktoré sú určené na zaznamenávanie a sledovanie zmien údajov v priebehu času.
Všetky systémy pre správu verzií musia vyriešiť rovnaký zásadný problém: ako systém umožní používateľom zdieľať informácie, ale zabráni im v náhodnom šliapnutí inému na nohu? Je až príliš ľahké, aby si užívatelia náhodne prepísali zmeny v úložisku.
Zvážte tento scenár: Predpokladajme, že máme dvoch spolupracovníkov, Harryho a Sally. Každý z nich sa rozhodne upraviť rovnaký súbor úložiska súčasne. Ak Harry najskôr uloží svoje zmeny do úložiska, je možné, že (o chvíľu neskôr) ich Sally mohla omylom prepísať svojou novou verziou súboru. Zatiaľ čo Harryho verzia súboru sa nestratí navždy (pretože si systém pamätá každú zmenu), všetky Harryho urobené zmeny nebudú prítomné v novšej verzii súboru Sally, pretože nikdy nevidela Harryho zmeny. Harryho práca je stále skutočne stratená - alebo prinajmenšom chýba v najnovšej verzii súboru - a pravdepodobne náhodne. To je iste tá situácia, ktorej sa chceme vyhnúť!
Mnoho systémov na správu verzií používa model zamknúť-upraviť-odomknúť na riešenie tohto problému, čo je veľmi jednoduché riešenie. V takomto systéme úložisko umožňuje zmeniť súbor naraz iba jednej osobe. Najprv musí Harry zamknúť súbor, skôr ako v ňom bude môcť robiť zmeny. Zamknutie súboru je ako požičanie si knihy z knižnice; ak Harry zamkol súbor, potom Sally v ňom nemôže robiť žiadne zmeny. Ak sa pokúsi zamknúť súbor, úložisko zamietne požiadavku. Jediné, čo môže urobiť, je prečítať si súbor a počkať, kým Harry dokončí svoje zmeny a uvoľní svoj zámok. Keď Harry odomkne priečinok, jeho úkon je ukončený a teraz ho môže Sally zamknúť a upraviť.
Problémom modelu zamknúť-upraviť-odomknúť je, bohužiaľ je trochu obmedzújci a často vedie k odradeniu užívateľov:
Zamknutie môže spôsobiť administratívne problémy. Harry niekedy zamkne súbor a potom na neho zabudne. Medzitým, pretože Sally stále čaká na úpravu súboru, má zviazané ruky. A potom ide Harry na dovolenku. Teraz musí Sally získať správcu, aby uvoľnil Harryho zámok. Situácia nakoniec spôsobí veľa zbytočného odkladu a straty času.
Uzamknutie môže spôsobiť zbytočnú vytváranie sérií. Čo ak Harry upravuje začiatok textového súboru a Sally chce jednoducho upraviť koniec rovnakého súboru? Tieto zmeny sa vôbec neprekrývajú. Mohli ľahko upravovať súbor súčasne a za predpokladu, že zmeny budú správne zlúčené, nepríde k nijakému veľkému poškodeniu. V tejto situácii nie je potrebné, aby sa striedali.
Zamknutie môže vytvoriť falošný pocit bezpečia. Predstierajte, že Harry uzamkne a upraví súbor A, zatiaľ čo Sally súčasne zamkne a upraví súbor B. Predpokladajme však, že A a B závisia jeden od druhého a zmeny, ktoré sú v nich vykonané, sú významovo nekompatibilné. Zrazu A a B už nespolupracujú. Uzamykací systém bol bezmocný, aby zabránil problémom - napriek tomu nejako poskytol pocit falošnej bezpečnosti. Pre Harryho a Sally je ľahké si predstaviť, že uzamknutím súborov každý z nich začína bezpečnú izolovanú úlohu a tak im bráni v tom, aby už na začiatku diskutovali o svojich nekompatibilných zmenách.
Subversion, CVS a ďalšie systémy na správu verzií používajú modul kopírovať-upraviť-zlúčiť ako alternatívu k zamykaniu. V tomto modeli klient každého používateľa načíta úložisko a vytvára osobné údaje pracovnej kópie súboru alebo projektu. Používatelia potom pracujú paralelne a upravujú svoje súkromné kópie. Nakoniec sa súkromné kópie zlúčia do novej finálnej verzie. Systém správy verzií často pomáha pri zlúčení, ale za správne uskutočnenie je v konečnom dôsledku zodpovedný človek.
Tu je príklad. Povedzme, že Harry a Sally vytvoria pracovné kópie toho istého projektu skopírované z úložiska. Pracujú súčasne a vykonávajú zmeny v rovnakom súbore A
v rámci svojich kópií. Sally najskôr uloží svoje zmeny do úložiska. Keď sa Harry pokúsi svoje zmeny uložiť neskôr, úložisko ho informuje, že jeho súbor A je zastaralý. Inými slovami, tento súbor A v úložisku sa od posledného skopírovania nejako zmenil. Harry teda požiada svojho klienta o zlúčenie akékoľvek nových zmien z úložiska do jeho pracovnej kópie súboru A. Je pravdepodobné, že sa zmeny Sally nekryjú s tými jeho; takže akonáhle má obe sústavy zmien integrované, uloží svoju pracovnú kópiu späť do úložiska.
Ale čo keď sa zmeny urobené Sally kryjú sa s Harryho zmenami? Čo potom? Táto situácia sa nazýva konflikt a zvyčajne to nie je veľký problém. Keď Harry požiada svojho klienta, aby zlúčil najnovšie zmeny v úložisku do svojej pracovnej kópie, jeho kópia súboru A je nejakým spôsobom označená ako konfliktná: bude schopný vidieť obidve sady konfliktných zmien, medzi ktorými si môže ručne vybrať. Softvér nedokáže automaticky vyriešiť konflikty; iba ľudia sú schopní pochopiť a urobiť potrebné inteligentné rozhodnutia. Keď Harry ručne vyrieši kryjúce sa zmeny (možno diskusiou o konflikte so Sally!), môže bezpečne uložiť zlúčený súbor späť do úložiska.
Model kopírovania, úpravy a zlúčenia môže znieť trochu chaoticky, ale v praxi beží mimoriadne hladko. Používatelia môžu pracovať paralelne a nikdy na seba nečakať. Keď pracujú na rovnakých súboroch, ukázalo sa, že väčšina ich súbežných zmien sa vôbec neprekrýva; konflikty sú zriedkavé. A čas potrebný na riešenie konfliktov je oveľa menší ako čas stratený uzamykacím systémom.
Nakoniec to všetko závisí od jedného zásadného faktora: komunikácie používateľov. Keď používatelia zle komunikujú, narastajú syntaktické aj konflikty významu. Žiadny systém nemôže prinútiť používateľov dokonale komunikovať a žiadny systém nedokáže zistiť konflikty významu. Takže nemá zmysel nechať sa opájať falošným prísľubom, že uzamykací systém nejako zabráni konfliktom; v praxi sa zdá, že blokovanie brzdí produktivitu viac ako čokoľvek iné.
Existuje jedna bežná situácia, keď model uzamknutia, úpravy a odomknutia vyjde lepšie, a to je prípad, keď máte nezmeniteľné súbory. Napríklad ak vaše úložisko obsahuje niektoré grafické obrázky a dvaja ľudia ho menia súčasne, neexistuje žiadny spôsob, ako by sa tieto zmeny spojili. Harry alebo Sally prídu o svoje zmeny.
Subversion štandardne používa riešenie kopírovanie-úprava-zlúčenie a v mnohých prípadoch je to všetko, čo kedy budete potrebovať. Od verzie 1.2 však Subversion podporuje aj zamykanie súborov, takže ak máte nezmeniteľné súbory alebo ak vás vedenie jednoducho prinúti k politike uzamknutia, Subversion bude stále poskytovať potrebné funkcie.
O pracovných kópiách ste už čítali; teraz si ukážeme, ako ich klient Subversion vytvára a používa.
Pracovná kópia Subversion je obyčajný strom priečinkov vo vašom lokálnom systéme, ktorý obsahuje kolekciu súborov. Tieto súbory môžete ľubovoľne upravovať a ak sa jedná o súbory zdrojových kódov, môžete z nich obvyklým spôsobom zostaviť svoj program. Vaša pracovná kópia je vaša vlastná súkromná pracovná oblasť: Subversion nikdy nebude obsahovať zmeny iných ľudí ani nesprístupní vaše vlastné zmeny ostatným, pokiaľ im to výslovne nepoviete.
Po vykonaní zmien v pracovnej kópii a overení ich správneho fungovania vám Subversion poskytne príkazy zverejnenia vašich zmien ostatným ľuďom, ktorí s vami pracujú na vašom projekte (zápisom do úložiska). Ak iní ľudia zverejnia svoje vlastné zmeny, Subversion vám poskytne príkazy na zlúčenie týchto zmien do vášho pracovného priečinka (čítaním z úložiska).
Pracovná kópia obsahuje aj niekoľko súborov navyše, ktoré vytvoril a udržiava Subversion, aby im pomohol vykonávať tieto príkazy. Pracovná kópia obsahuje najmä podpriečinok s názvom .svn
, tiež známy ako pracovná kópia administratívny priečinok . Súbory v tomto administratívnom priečinku pomáhajú programu Subversion rozpoznať, ktoré súbory obsahujú nepublikované zmeny a ktoré súbory sú zastaralé, pokiaľ ide o prácu ostatných. Pred 1.7 Subversion udržiavané .svn
administratívne podpriečinky v každom priečinku verzie vašej pracovnej kópie. Subversion 1.7 má úplne odlišný prístup a každá pracovná kópia má teraz iba jeden administratívny podpriečinok, ktorý je bezprostredným potomkom koreňa tejto pracovnej kópie.
Typické úložisko Subversion často obsahuje súbory (alebo zdrojové kódy) pre niekoľko projektov; obvykle je každý projekt podpriečinkom v strome súborového systému úložiska. V tomto usporiadaní bude pracovná kópia používateľa obvykle zodpovedať konkrétnemu podstromu úložiska.
Predpokladajme napríklad, že máte úložisko, ktoré obsahuje dva softvérové projekty.
Inými slovami, koreňový priečinok úložiska má dva podpriečinky: paint
a calc
.
Ak chcete získať pracovnú kópiu, musíte overiť nejaký podstrom úložiska. (Termín overiť môže to znieť, akoby to malo niečo spoločné so zamykaním alebo rezervovaním zdrojov, ale nie je to tak; jednoducho vám vytvorí súkromnú kópiu projektu.)
Predpokladajme, že v ňom urobíte zmeny v button.c
. Keďže .svn
priečinok si pamätá dátum zmeny súboru a pôvodný obsah, Subversion môže zistiť, že ste súbor zmenili. Subversion však vaše zmeny nezverejní, kým im to výslovne nepoviete. Akt zverejnenia vašich zmien je všeobecne známejší ako odovzdanie (alebo overenie ) zmien v úložisku.
Ak chcete zverejniť svoje zmeny ostatným, môžete použiť Subversion odovzdať príkaz.
Teraz vaše zmeny v button.c
boli odovzdané do úložiska; ak si iný užívateľ overí pracovnú kópiu /calc
, uvidí vaše zmeny v najnovšej verzii súboru.
Predpokladajme, že máte spolupracovníčku Sally, ktorá si pozrela pracovnú kópiu /calc
v rovnakom čase. Keď odovzdáte svoju zmenu button.c
, pracovná kópia Sally zostáva nezmenená; Subversion upravuje pracovné kópie iba na žiadosť používateľa.
Sally môže požiadať Subversion o aktualizáciu projektu aktualizovaním svojej pracovnej kópie použitím príkazu Subversion aktualizovať. Vaše zmeny sa zapracujú do jej pracovnej kópie, ako aj do všetkých ďalších, ktoré boli odovzdané od jej overenia.
Všimnite si, že Sally nemusela určovať, ktoré súbory má aktualizovať; Subversion využíva informácie v priečinku .svn
a ďalšie informácie v úložisku, aby sa rozhodol, ktoré súbory je potrebné aktualizovať.
K úložiskám Subversion je možné pristupovať rôznymi spôsobmi - na lokálnom disku alebo cez rôzne sieťové protokoly. Umiestnením úložiska je však vždy adresa URL. Schéma adresy URL označuje spôsob prístupu:
Tabuľka 2.1. Prístupové adresy URL úložiska
Schéma | Metódy prístupu |
---|---|
file://
| Priamy prístup k úložisku na lokálnom, alebo sieťovom disku. |
http://
| Prístup cez protokol WebDAV na server Apache, ktorý podporuje Subversion. |
https://
| Rovnaké ako http:// , ale so šifrovaním SSL. |
svn://
| Neoverený prístup TCP/IP cez vlastný protokol k svnserve serveru. |
svn+ssh://
| autentizovaný, šifrovaný prístup TCP/IP cez vlastný protokol k svnserve serveru. |
Adresy URL Subversion väčšinou používajú štandardnú syntax, ktorá umožňuje špecifikovať názvy serverov a čísla portov ako súčasť adresy URL. The file: //
metóda prístupu sa zvyčajne používa na miestny prístup, aj keď ju možno použiť s cestami UNC k sieťovému hostiteľovi. URL má preto formu file://hostname/path/to/repos
. Pre miestny stroj je to hostname
časť adresy URL musí byť buď neprítomná, alebo localhost
. Z tohto dôvodu sa lokálne cesty zvyčajne zobrazujú s tromi lomkami, file:///path/to/repos
.
Taktiež užívatelia systému file://
na platformách Windows bude musieť používať neoficiálne “štandardnú” syntax pre prístup k úložiskám, ktoré sú na rovnakom stroji, ale na inej jednotke ako je aktuálna pracovná jednotka klienta. Kde bude fungovať ktorákoľvek z dvoch nasledujúcich syntaxí cesty URL
X
je jednotka, na ktorej sa nachádza úložisko:
file:///X:/path/to/repos ... file:///X|/path/to/repos ...
Upozorňujeme, že adresa URL používa bežné lomky, aj keď natívna (nie URL) forma cesty v systéme Windows používa spätné lomky.
K úložisku FSFS máte prístup cez zdieľanie v sieti, ale je to neodporúčané z rôznych dôvodov:
Poskytujete priamy prístup na zápis všetkým používateľom, aby mohli omylom vymazať alebo poškodiť systém súborov úložiska.
Nie všetky protokoly zdieľania súborov v sieti podporujú zamykanie, ktoré vyžaduje Subversion. Jedného dňa zistíte, že vaše úložisko bolo nenápadne poškodené .
Musíte nastaviť prístupové povolenia správnym spôsobom. SAMBA je v tomto ohľade obzvlášť ťažká.
Ak jedna osoba nainštaluje novšiu verziu klienta, ktorá inovuje formát úložiska, všetci ostatní nebudú mať prístup do úložiska, kým tiež neaktualizuje na novú verziu klienta.
Operácia SVN odovzdať môže publikovať zmeny v ľubovoľnom počte súborov a priečinkov ako jednu čiastkovú transakciu. V pracovnej kópii môžete meniť obsah súborov, vytvárať, odtraňovať, premenovávať a kopírovať súbory a priečinky a potom vykonať celú sústavu zmien ako celok.
V úložisku sa s každým potvrdením zaobchádza ako s čiastkovou transakciou: buď dôjde ku všetkým zmenám odovzdania, alebo k žiadnej z nich. Subversion si zachováva túto atomárnosť navzdory zlyhaniu programu, zlyhaniu systému, problémom so sieťou a akciám iných používateľov.
Zakaždým, keď úložisko prijme odovzdanie, vytvorí sa nový stav stromu súborového systému, ktorý sa nazýva revízia . Každej revízii je priradené jedinečné prirodzené číslo, o jedno väčšie ako číslo predchádzajúcej revízie. Počiatočná revízia čerstvo vytvoreného úložiska má číslovanie nula a pozostáva iba z prázdneho koreňového priečinka.
Príjemným spôsobom vizualizácie úložiska je séria stromov. Predstavte si pole čísel revízií, začínajúce od 0, ktoré sa tiahnu zľava doprava. Každé číslo revízie má pod sebou zavesený strom súborového systému a každý strom je “snímka” spôsobu, akým sa úložisko staralo o každé odovzdanie.
Je dôležité si uvedomiť, že pracovné kópie nie vždy zodpovedajú akejkoľvek jednej revízii v úložisku; môžu obsahovať súbory z niekoľkých rôznych revízií. Predpokladajme napríklad, že ste si skontrolovali pracovnú kópiu z úložiska, ktorého posledná revízia je 4:
calc/Makefile:4 integer.c:4 button.c:4
V súčasnosti tento pracovný priečinok presne zodpovedá revízii 4 v úložisku. Predpokladajme však, že urobíte zmenu v súbore button.c
a odovzdéte túto zmenu. Za predpokladu, že sa neuskutočnili žiadne ďalšie odovzdania, vytvorí sa vaše odovzdanie revíziu 5 úložiska a vaša pracovná kópia bude teraz vyzerať takto:
calc/Makefile:4 integer.c:4 button.c:5
Predpokladajme, že v tomto okamihu sa Sally odovzdáva zmeny súboru integer.c
, vytvorí revíziu 6. Ak použijete príkaz SVN aktualizácia, aby bola vaša pracovná kópia aktuálna, bude vyzerať takto:
calc/Makefile:6 integer.c:6 button.c:6
Zmena, vykonaná Sally v súbore integer.c
sa objaví vo vašej pracovnej kópii a vaša zmena bude stále prítomná v súbore button.c
. V tomto príklade je text z Makefile
je identický v revíziách 4, 5 a 6, ale Subversion označí vašu pracovnú kópiu Makefile
revíziou 6, čo značí, že je stále aktuálna. Takže po vašom vyčistení aktualizácie na vrchu pracovnej kópie bude všeobecne zodpovedať presne jednej revízii v úložisku.
Pre každý súbor v pracovnom priečinku Subversion zaznamená dve základné informácie v administratívnej oblasti .svn /
:
na ktorej revízii je založený váš pracovný súbor (nazýva sa to súbor pracovnej revízie ) a
časová pečiatka, kedy bola lokálna kópia naposledy aktualizovaná úložiskom.
Na základe týchto informácií môže Subversion rozhovorom s úložiskom zistiť, v ktorom z nasledujúcich štyroch stavov sa pracovný súbor nachádza:
Súbor sa v pracovnom priečinku nebol zmenený a od jeho pracovnej revízie neboli v úložisku vykonané žiadne zmeny. Odovzdanie súboru a príkaz aktualizovať súbor neurobia nič.
Súbor bol zmenený v pracovnom priečinku a žiadne zmeny súboru od jeho základnej revízie neboli odovzdané do úložiska. Existujú lokálne zmeny, ktoré neboli odovzdané do úložiska, teda odovzdanie súboru úspešne zverejní vaše zmeny a aktualizácia súboru neurobí nič.
Súbor sa nezmenil v pracovnom priečinku, ale zmenil sa v úložisku. Súbor by sa mal nakoniec aktualizovať, aby bol aktuálny s verejnou revíziou. Odovzdanie súboru neurobí nič a aktualizácia súboru zahrnie posledné zmeny do vašej pracovnej kópie.
Súbor bol zmenený v pracovnom priečinku aj v úložisku. Odovzdanie súboru zlyhá s chybou - zastaralé. Súbor by sa mal najskôr aktualizovať; príkazom aktualizovať sa pokúsi zlúčiť verejné zmeny s lokálnymi zmenami. Ak Subversion automaticky nemôže zmysluplne dokončiť zlúčenie, prenechá vyriešenie konfliktu užívateľovi.
V tejto kapitole sme sa zaoberali niekoľkými základnými konceptami Subversion:
Zaviedli sme pojmy centrálne úložisko, pracovná kópia klienta a pole stromov revízií úložiska.
Videli sme niekoľko jednoduchých príkladov toho, ako dvaja spolupracovníci môžu používať Subversion na zverejňovanie a prijímanie zmien od seba navzájom pomocou modelu „kopírovať-upraviť-zlúčiť“.
Trochu sme hovorili o tom, ako Subversion sleduje a spravuje informácie v pracovnej kópii.
Obsah
Bez ohľadu na to, aký protokol použijete na prístup do svojich úložísk, vždy musíte vytvoriť aspoň jedno úložisko. To možno vykonať pomocou klienta príkazového riadku Subversion alebo pomocou TortoiseSVN.
Ak ste ešte nevytvorili úložisko Subversion, je čas to urobiť teraz.
Vytvorte prázdny priečinok s názvom SVN (napr. D:\SVN\
), ktorý sa použije ako koreňový pre všetky vaše úložiská.
Vytvorte ďalší priečinok MyNewRepository
vnútri D:\SVN\
.
Otvorte príkazový riadok (alebo DOS-okienko), zmeňte sa na D:\SVN\
a napíšte
svnadmin create --fs-type fsfs MyNewRepository
Teraz máte nové úložisko umiestnené na D:\SVN\MyNewRepository
.
Otvorte Prieskumníka Windows
Vytvorte nový priečinok a pomenujte ho napr. SVNReposity
Kliknite pravým tlačidlom myši na novovytvorený priečinok a vyberte → .
Vo vnútri nového priečinka sa potom vytvorí úložisko. Tieto súbory sami neupravujte !!!. Ak sa vyskytnú chyby, uistite sa, či je priečinok prázdny a chránený proti zápisu.
Tiež sa vás opýta, či chcete v úložisku vytvoriť štruktúru priečinkov. Informácie o možnostiach rozvrhnutia nájdete v “Rozloženie úložiska” .
TortoiseSVN nastaví ikonu vlastného priečinka pri vytváraní úložiska, aby ste mohli ľahšie identifikovať miestne úložiská. Ak vytvárate úložisko oficiálnym klientom príkazového riadku, takáto ikona priečinka nie je priradená.
Tiež vám odporúčame, aby ste vôbec nepoužívali prístup file://
, okrem lokálnych testovacích účelov. Používanie servera je bezpečnejšie a spoľahlivejšie pre všetko okrem samostatného vývojára.
Pre prístup k lokálnemu úložisku potrebujete cestu k tomuto priečinku. Pamätajte, že Subversion očakáva všetky cesty úložiska vo forme file:///C:/SVNRepository/
. Všimnite si použitie lomiek v celom texte.
Ak chcete získať prístup k úložisku umiestnenému v zdieľanej sieti, môžete použiť mapovanie jednotiek alebo cestu UNC. Pre cesty UNC je formulár file://ServerName/path/to/repos/
. Upozorňujeme, že tu sú iba dve úvodné lomky.
Pred SVN 1.2 sa cesty UNC museli uvádzať v nejasnejšej podobe file:///\ServerName/path/to/repos
. Táto forma je stále podporovaná, ale neodporúča sa.
Aj keď teoreticky je možné umiestniť úložisko FSFS na zdieľanie v sieti a umožniť mu prístup viacerým používateľom protokolom file://
, toto je určite nie je odporúčané. V skutočnosti vás dôrazne od toho odrádzame a nepodporujeme takéto použitie z rôznych dôvodov:
Najskôr poskytujete každému používateľovi priamy prístup na zápis do úložiska, takže každý používateľ môže omylom vymazať celé úložisko alebo spôsobiť, že bude iným spôsobom nepoužiteľný.
Po druhé, nie všetky protokoly na zdieľanie súborov v sieti podporujú zamykanie, ktoré vyžaduje Subversion, takže môžete zistiť, že váš archív je poškodený. Možno sa to nestane okamžite, ale jedného dňa sa dvaja používatelia pokúsia o prístup do úložiska súčasne.
Po tretie, povolenia súboru musia byť nastavené len tak. Možno sa vám bude asi dariť s natívnym zdieľaním Windows, ale SAMBA je obzvlášť ťažká.
Ak jedna osoba nainštaluje novšiu verziu klienta, ktorá inovuje formát úložiska, všetci ostatní nebudú mať prístup do úložiska, kým tiež neaktualizuje na novú verziu klienta.
Prístup file://
je určený iba pre lokálny prístup samostatného užívateľa, najmä na testovanie a ladenie. Keď chcete skutočne zdieľať úložisko musíte nastaviť správny server a nie je to ani zďaleka také ťažké, ako si myslíte. Prečítaním “Prístup do úložiska” nájdete pokyny pre výber a nastavenie servera.
Pred importom údajov do úložiska by ste si mali najskôr premyslieť, ako chcete svoje údaje usporiadať. Ak použijete jedno z odporúčaných usporiadaní, budete to mať neskôr oveľa jednoduchšie.
Existuje niekoľko štandardných odporúčaných spôsobov usporiadania úložiska. Väčšina ľudí vytvára kmeňový
priečinok na udržiavanie “hlavná línie” vývoja, priečinok vetiev
, ktorý obsahuje kópie vetiev, priečinok príznakov
, ktorý obsahuje kópie príznakov. Ak úložisko obsahuje iba jeden projekt, ľudia si často vytvárajú tieto priečinky najvyššej úrovne:
/trunk /branches /tags
Pretože toto rozloženie je tak bežne používané, pri vytváraní nového úložiska aplikáciou TortoiseSVN ponúkne vytvorenie štruktúry priečinkov aj pre vás.
Ak úložisko obsahuje viac projektov, ľudia často indexujú svoje rozloženie podľa vetiev:
/trunk/paint /trunk/calc /branches/paint /branches/calc /tags/paint /tags/calc
...alebo podľa projektu:
/paint/trunk /paint/branches /paint/tags /calc/trunk /calc/branches /calc/tags
Indexovanie podľa projektu má zmysel, ak projekty spolu úzko nesúvisia a každý z nich sa kontroluje individuálne. Pre súvisiace projekty, kde môžete overiť všetky projekty naraz, alebo kde sú všetky projekty spojené do jedného distribučného balíka, je často lepšie indexovať podľa vetiev. Týmto spôsobom máte k dispozícii iba jeden kmeňový server na overenie a vzťahy medzi podprojektami sú ľahšie viditeľné.
Ak prijmete najvyššiu úroveň prístupu /trunk /tags /branches
, nedá sa povedať, že musíte skopírovať celý kmeň pre každú vetvu a príznak. V niektorých ohľadoch ponúka táto štruktúra väčšiu flexibilitu.
Pre nesúvisiace projekty môžete radšej použiť samostatné úložiská. Keď vykonáte zmeny, zmení sa iba číslo revízie celého úložiska, nie číslo revízie projektu. Zdieľanie úložiska s 2 nesúvisiacimi projektmi môže znamenať veľké medzery v číslach revízií. Projekty Subversion a TortoiseSVN sa objavujú na rovnakej adrese hostiteľa, ale sú to úplne samostatné úložiská, ktoré umožňujú nezávislý vývoj a nedochádza k nejasnostiam v číslach zostavenia.
Tieto bežné usporiadania môžete samozrejme ignorovať. Môžete vytvoriť akýkoľvek druh variácie, čo bude pre vás alebo váš tím najlepšie vyhovovať. Pamätajte, že čokoľvek si vyberiete, nejde o trvalý záväzok. Svoje úložisko môžete kedykoľvek usporiadať. Pretože vetvy a značky sú obyčajné priečinky, TortoiseSVN ich môže presúvať alebo premenovávať, ako chcete.
Prechod z jedného rozloženia na druhé je iba otázkou vydania série pohybov na strane servera; Ak sa vám nepáči, ako sú veci v úložisku organizované, jednoducho pohrajte sa s priečinkami.
Takže ak ste vo svojom úložisku ešte nevytvorili základnú štruktúru priečinkov, mali by ste to urobiť teraz. Existujú dva spôsoby, ako to dosiahnuť. Ak si chcete jednoducho vytvoriť štruktúru /trunk /tags /branches
môžete na vytvorenie troch priečinkov (v troch samostatných potvrdeniach) použiť prehliadač úložiska. Ak chcete vytvoriť hlbšiu hierarchiu, je jednoduchšie najskôr vytvoriť štruktúru priečinkov na disku a importovať ich v jednom potvrdení, napríklad takto:
vytvorte nový prázdny priečinok na pevnom disku
vytvorte si v tomto priečinku požadovanú štruktúru priečinkov na najvyššej úrovni - zatiaľ doň nevkladajte žiadne súbory!
importujte túto štruktúru do úložiska kliknutím pravým tlačidlom myši na priečinok, ktorý obsahuje túto štruktúru priečinkov a vyberte ponuku → . V dialógovom okne importu zadajte adresu URL do svojho úložiska a kliknite na tlačidlo OK. Týmto sa dočasný priečinok importuje do koreňového úložiska, aby sa vytvorilo základné rozloženie úložiska.
Upozorňujeme, že názov priečinka, ktorý importujete, sa v úložisku nezobrazuje, iba jeho obsah. Napríklad vytvorte nasledujúcu štruktúru priečinkov:
C:\Temp\New\trunk C:\Temp\New\branches C:\Temp\New\tags
ImportC:\Temp\New
do koreňového úložiska, ktorý potom bude vyzerať takto:
/trunk /branches /tags
Bez ohľadu na to, aký typ úložiska použijete, je životne dôležité, aby ste udržiavali pravidelné zálohy a aby ste zálohy overili. Ak server zlyhá, budete pravdepodobne mať prístup k najnovšej verzii svojich súborov, ale bez úložiska sa navždy stratí celá vaša história.
Najjednoduchším (ale neodporúčaným) spôsobom je skopírovať priečinok úložiska na záložné médium. Musíte si však byť úplne istí, že k údajom nepristupuje žiadny proces. V tejto súvislosti prístup znamená akýkoľvek prístup vôbec. Ak sa do vášho úložiska počas kopírovania vôbec dostane ((otvorený webový prehliadač, WebSVN atď.)), zálohovanie bude bezcenné.
Odporúčaná metóda je spustiť
svnadmin hotcopy path/to/repository path/to/backup
pre vytvorenie kópie svojho úložiska bezpečným spôsobom. Potom kópiu zálohujte.
Nástroj svnadmin
sa nainštaluje automaticky pri inštalácii klienta príkazového riadku Subversion. Najjednoduchší spôsob, ako to dosiahnuť, je skontrolovať možnosť zahrnúť nástroje príkazového riadku pri inštalácii TortoiseSVN, ale ak chcete, môžete si stiahnuť najnovšiu verziu nástrojov príkazového riadku priamo z web stránky Subversion.
Skript háku je program spustený nejakou udalosťou úložiska, napríklad vytvorením novej revízie alebo úpravou neoverenej vlastnosti. Každému háku je odovzdaných dostatok informácií na to, aby ste zistili, o čo ide, na aký cieľ (ciele) operuje a používateľské meno osoby, ktorá udalosť spustila. V závislosti od stavu výstupu alebo návratu háku môže program háku pokračovať v akcii, zastaviť ju alebo ju nejakým spôsobom pozastaviť. Prečítajte si kapitolu o skriptoch háku v knihe Subversion Book pre všetky podrobnosti o implementovaných hákoch.
Tieto skripty háku vykonáva server, ktorý je hostiteľom úložiska. TortoiseSVN tiež umožňuje konfigurovať skripty háku na strane klienta, ktoré sa pri určitých udalostiach vykonávajú lokálne. Pre viac informácií pozri “Skripty hákov na strane klienta”.
Ukážky skriptov háku nájdete v dokumente háky
priečinka úložiska. Tieto ukážkové skripty sú vhodné pre servery Unix/Linux, ale ak je váš server založený na systéme Windows, je potrebné ich upraviť. Hákom môže byť dávkový súbor alebo spustiteľný súbor. Nasledujúca ukážka zobrazuje dávkový súbor, ktorý by sa mohol použiť na implementáciu háku pre-revprop-change.
rem Only allow log messages to be changed. if "%4" == "svn:log" exit 0 echo Property '%4' cannot be changed >&2 exit 1
Upozorňujeme, že všetko, čo je odoslané na výstup, sa zahodí. Ak chcete, aby sa správa zobrazila v dialógovom okne Potvrdiť odmietnutie, musíte ju poslať na adresu stderr. V dávkovom súbore sa to dosiahne použitím > & 2
.
Ak skript háku odmietne vaše odovzdanie, jeho rozhodnutie je konečné. Ale môžete vytvoriť mechanizmus prepísania do samotného skriptu použitím magického slova technika. Ak chce skript odmietnuť operáciu, najskôr skontroluje správu protokolu, či neobsahuje špeciálnu prístupovú frázu, či už pevnú frázu, alebo možno názov súboru s predponou. Ak nájde magické slovo, umožní v odovzdaní pokračovať. Ak sa fráza nenájde, môže zablokovať odovzdanie správou ako “nepovedali ste magické slovo”. :-)
Ak chcete sprístupniť svoje úložisko Subversion iným, môžete svoj web zahrnúť do odkazu na tento server. Jedným zo spôsobov, ako to urobiť prístupnejším, je zahrnúť odkaz overenia pre ostatných používateľov TortoiseSVN.
Pri inštalácii TortoiseSVN zaregistruje nový tsvn:
protokol. Keď užívateľ TortoiseSVN klikne na takýto odkaz, automaticky sa otvorí dialógové okno overenia s už vyplnenou adresou URL úložiska.
Ak chcete vložiť takýto odkaz na svoju vlastnú stránku html, musíte pridať kód, ktorý vyzerá asi takto:
<a href="tsvn:http://project.domain.org/svn/trunk"> </a>
Samozrejme, vyzeralo by to ešte lepšie, keby ste vložili vhodný obrázok. Môžete použiť logo TortoiseSVN alebo môžete poskytnúť svoj vlastný obrázok.
<a href="tsvn:http://project.domain.org/svn/trunk"> <img src=TortoiseCheckout.png></a>
Môžete napríklad vytvoriť odkaz na konkrétnu revíziu
<a href="tsvn:http://project.domain.org/svn/trunk?100"> </a>
Aby ste mohli používať TortoiseSVN (alebo iného klienta Subversion), potrebujete miesto, kde sú umiestnené vaše úložiská. Svoje úložiská môžete buď uložiť lokálne a pristupovať k nim použitím protokolu file: //
, alebo ich môžete umiestniť na server a získať k nim prístup použitím protokolu http://
alebo svn://
. Obe serverové protokoly môžu byť tiež šifrované. Používajte https://
alebo svn+ssh://
, alebo môžete použiť svn://
so SASL.
Ak používate verejnú hostingovú službu ako napr. SourceForge alebo váš server už nastavil niekto iný, potom už nemusíte robiť nič iné. Prejdite vedľa k Kapitola 4, Sprievodca každodenným používaním .
Ak nemáte server a pracujete sami, alebo ak iba hodnotíte izolovane Subversion a TortoiseSVN, potom sú pravdepodobne vašou najlepšou voľbou lokálne úložiská. Stačí vytvoriť úložisko na svojom vlastnom počítači, ako je to popísané vyššie v Kapitola 3, Úložisko. Zvyšok tejto kapitoly môžete preskočiť a prejsť priamo na Kapitola 4, Sprievodca každodenným používaním ako zistiť, ako ho začať používať.
Ak ste uvažovali o nastavení úložiska pre viacerých používateľov na zdieľaní v sieti, zamyslite sa znova. Prečítajte si “Prístup k úložisku pri sieťovom zdieľaní”, aby ste zistili, prečo si myslíme, že je to zlý nápad. Nastavenie servera nie je také ťažké, ako to znie a zaistí vám lepšiu spoľahlivosť a pravdepodobne aj rýchlosť.
Podrobnejšie informácie o možnostiach servera Subversion a o tom, ako zvoliť najlepšiu architektúru pre vašu situáciu, nájdete v knihe Subversion pod Konfigurácia servera .
V počiatkoch Subversion si nastavenie servera vyžadovalo dobré pochopenie konfigurácie servera a v predchádzajúcich verziách tejto príručky sme zahrnuli podrobný popis nastavenia servera. Od tej doby sa všetko zjednodušilo, pretože v súčasnosti je k dispozícii niekoľko predom zabalených inštalátorov servera, ktoré vás prevedú procesom nastavenia a konfigurácie. Tieto odkazy sú pre niektorých inštalatérov, o ktorých vieme:
Najnovšie odkazy nájdete vždy na serveri web stránky Subversion.
Ďalšie návody nájdete v príručke na web stránke TortoiseSVN.
Obsah
Tento dokument popisuje každodenné používanie klienta TortoiseSVN. To nie je úvod do systémov správy verzií a nie je to úvod do Subversion (SVN). Je to skôr miesto, na ktoré sa môžete obrátiť, keď približne viete, čo chcete robiť, ale celkom si nepamätáte, ako sa to robí.
Ak potrebujete úvod do správy verzií pomocou Subversion, odporúčame vám prečítať si fantastickú knihu: Version Control with Subversion(Správa verzií so Subversion).
Tento dokument je stále rozpracovaný, rovnako ako TortoiseSVN a Subversion. Ak nájdete akékoľvek chyby, nahláste ich do zoznamu adries, aby sme mohli aktualizovať dokumentáciu. Niektoré snímky obrazovky v Sprievodcovi každodenným používaním (DUG) nemusia odrážať aktuálny stav softvéru. Odpustite nám, prosím, na TortoiseSVN pracujeme vo voľnom čase.
Za účelom získania z príručky denného používania čo najviac:
Mali by ste už mať nainštalovanú TortoiseSVN.
Mali by ste byť oboznámení so systémami správy verzií.
Mali by ste poznať základy Subversion.
Mali by ste mať nastavený server a/alebo mať prístup do úložiska Subversion.
Táto časť popisuje niektoré funkcie TortoiseSVN, ktoré sa týkajú takmer všetkého v manuáli. Mnohé z týchto funkcií sa zobrazia iba v pracovnej kópii Subversion.
Jedna z najviditeľnejších vlastností TortoiseSVN sú prekrytia ikon, ktoré sa objavia na súboroch vašej pracovnej kópie. Tieto vám ukazujú, ktoré súbory boli zmenené. Pozrite si “Prekrytie ikon”, aby ste mali prehľad čo rôzne prekrytia znamenajú.
Všetky príkazy TortoiseSVN sa vyvolávajú z kontextovej ponuky prieskumníka Windows. Väčšina sú priamo viditeľné, keď kliknite pravým tlačidlom myši na súbor alebo priečinok. Dostupné príkazy závisia od toho, či je súbor alebo priečinok alebo jeho nadradený priečinok pod kontrolou verzie alebo nie. Ponuku TortoiseSVN môžete vidieť aj ako súčasť ponuky súborov programu Explorer.
Niektoré príkazy, ktoré sa používajú veľmi zriedka, sú dostupné iba v rozšírenej kontextovej ponuke. Rozšírenú kontextovú ponuku vyvoláte podržaním klávesy Shift keď na ňu kliknete pravým tlačidlom myši .
V niektorých prípadoch môžete vidieť niekoľko záznamov TortoiseSVN. Toto nie je chyba!
Tento príklad je pre bezverziovú skratku vo verziovom priečinku a v nachádzajú sa v ponuke súborov Prieskumníka tri položky pre TortoiseSVN. Jedna je pre priečinok, druhá pre samotnú skratku a tretia pre objekt, na ktorý skratka ukazuje. Aby ste ich mohli lepšie rozlíšiť, majú ikony v pravom dolnom rohu indikátor, ktorý ukazuje, či je položka ponuky pre súbor, priečinok, skratku alebo pre viac vybraných položiek.
Ostatné príkazy sú k dispozícii ako manupilátory ťahania, ak ťaháte pravým súbory alebo priečinky na nové miesto vo vnútri pracovných kópií alebo keď ťaháte pravým bezverziový súbor alebo priečinok do priečinka so správou verzií.
Niektoré bežné operácie majú známe skratky systému Windows, ale nezobrazujú sa na tlačidlách ani v ponukách. Ak nemôžete prísť na to, ako urobiť niečo očividné, ako je napríklad obnovenie pohľadu, skontrolujte to tu.
Pomoc, samozrejme.
Obnoviť aktuálne zobrazenie. Toto je možno najužitočnejší príkaz jedným tlačidlom. Napríklad v Prieskumníkovi sa obnovia prekrytia ikon na vašej pracovnej kópii. V dialógovom okne odovzdania opätovne naskenuje pracovnú kópiu, aby zistil, čo môže byť potrebné odovzdať. V dialógovom okne Záznam revízie bude kontaktované úložisko pre opätovné overenie nedávnych zmien.
Vybrať všetko. Toto možno použiť, ak sa zobrazí chybová správa a chcete kopírovať a vložiť do e-mailu. Použitím kláves Ctrl-A vyberiete chybové hlásenie a potom...
Skopírujte vybraný text. V prípade, že nie je vybraný žiadny text ale napr. položka zoznamu alebo okienko správy, potom sa obsah tejto položky zoznamu alebo okienka správy skopíruje do schránky.
Ak je úložisko, do ktorého sa pokúšate dostať, chránené heslom, zobrazí sa dialógové okno autentifikácie.
Zadajte svoje užívateľské meno a heslo. Toto zaškrtávacie políčko spôsobí, že TortoiseSVN uloží prihlasovacie údaje do predvoleného priečinka Subversion: %APPDATA%\Subversion\auth
v troch podpriečinkoch:
svn.simple
obsahuje poverenia pre základné overenie (užívateľské meno/heslo). Pamätajte, že heslá sa ukladajú pomocou rozhrania WinCrypt API, nie ako obyčajný text.
svn.ssl.server
obsahuje certifikáty servera SSL.
svn.username
obsahuje poverenia na autentifikáciu iba používateľského mena (nie je potrebné heslo).
Ak chcete vyčistiť zásobník autentifikácie, môžete to urobiť zo stránky Uložené údaje dialógového okna nastavení TortoiseSVN. Tlačidlo vyčistí autentifikačné údaje zo zásobníka pre všetky úložiská. Tlačidlo zobrazí však dialógové okno, v ktorom môžete zvoliť, ktoré údaje z autentifikácie uložené v zásobníku sa majú vyčistiť. Odkazujú na “Nastavenia Uložené údaje” .
Niektorí ľudia radi odstraňujú autentifikačné údaje pri odhlásení zo systému Windows alebo pri vypnutí. Spôsob, ako to urobiť, je použiť vypínací skript na odstránenie priečinka %APPDATA%\Subversion\auth
, napr.
@echo off rmdir /s /q "%APPDATA%\Subversion\auth"
Popis spôsobu inštalácie týchto skriptov nájdete na stránke http://www.windows-help-central.com/windows-shutdown-script.html.
Viac informácií o tom, ako nastaviť váš server na autentifikáciu a riadenie prístupu, nájdete na “Prístup do úložiska”.
Mnoho dialógov TortoiseSVN obsahuje veľa informácií, ktoré je možné zobraziť, ale často je užitočné maximalizovať iba výšku alebo iba šírku, než maximalizovať vyplnenie obrazovky. Kvôli pohodliu na to existujú skratky tlačidla Maximalizovať. Použite prostredné tlačidlo myši na vertikálnu maximalizáciu a pravé tlačidlo myši pre horizontálnu maximalizáciu.
Ak importujete do existujúceho úložiska, ktoré už obsahuje niektoré projekty, bude o štruktúre úložiska už rozhodnuté. Ak importujete údaje do nového úložiska, mali by ste si urobiť čas a rozmyslieť si, ako budú usporiadané. Pre ďalšie rady si prečítajte “Rozloženie úložiska”.
Táto časť popisuje príkaz importu Subversion, ktorý bol navrhnutý na import hierarchie priečinkov do úložiska v jednej dávke. Aj keď robí svoju prácu, má niekoľko nedostatkov:
Tu niet cesty na zahrnutie výberu súborov a priečinkov, popri použitiu globálnych nastavení ignorovania.
Importovaný priečinok sa nestane funkčnou kópiou. Musíte vykonať overenie pre skopírovanie súborov späť zo servera.
Je ľahké importovať do nesprávnej úrovne priečinkov v úložisku.
Z týchto dôvodov odporúčame, aby ste príkaz import vôbec nepoužívali, ale radšej sa riadili dvojkrokovou metódou popísanou v “Import na miesto”, pokiaľ nevykonávate jednoduchý krok vytvorenia počiatočnej štruktúry /kmeň/príznaky/vetvy
vo svojom úložisku. Keďže ste tu, takto funguje základný import...
Pred importom projektu do úložiska by ste mali:
Odstráňte všetky súbory, ktoré nie sú potrebné na zostavenie projektu (dočasné súbory, súbory vygenerované kompilátorom, napr. *.obj, skompilované binárne súbory, ...)
Usporiadajte súbory do priečinkov a podpriečinkov. Aj keď je možné súbory neskôr premenovať/presunúť, dôrazne sa odporúča pred importom dostať zrovnanú štruktúru projektu!
Teraz v priečinku Prieskumník Windows vyberte priečinok najvyššej úrovne štruktúry priečinkov projektu kliknutím pravého tlačidla myši otvoríte kontextovú ponuku. Vyberte príkaz → , čo vyvolá dialógové okno:
V tomto dialógovom okne musíte zadať adresu URL umiestnenia úložiska, kam chcete importovať svoj projekt. Je veľmi dôležité si uvedomiť, že lokálny priečinok, ktorý importujete, sa sám neobjaví v úložisku, iba jeho obsah. Napríklad ak máte štruktúru:
C:\Projects\Widget\source C:\Projects\Widget\doc C:\Projects\Widget\images
a importujete C:\Projects\Widget
do http://mydomain.com/svn/trunk
potom vás možno prekvapí, že vaše podpriečinky idú priamo do trunk
skôr ako budú v podpriečinku Widget
. Musíte zadať podpriečinok ako súčasť adresy URL, http://mydomain.com/svn/trunk/Widget-X
. Upozorňujeme, že príkaz importu automaticky vytvorí podpriečinky v úložisku, ak neexistujú.
Správa o importe sa používa ako správa záznamu.
V predvolenom nastavení sú súbory a priečinky, ktoré zodpovedajú vzorom globálneho ignorovania nie sú importované. Na prepísanie tohto správania môžete použiť zaškrtávacie políčko Zahrnúť ignorované súbory. Viac informácií o nastavení vzore globálneho ignorovania nájdete v časti “Všeobecné nastavenia” .
Hneď ako stlačíte NIE je pod správou verzií! Ak chcete získať správu verzií pracovnej kópie musíte vykonať overenie práve importovanej verzie. Alebo čítajte ďalej a zistíte, ako importovať priečinok na určené miesto.
TortoiseSVN importuje celý strom priečinkov vrátane všetkých súborov do úložiska. Projekt je teraz uložený v úložisku pod správou verzií. Upozorňujeme, že importovaný priečinokZa predpokladu, že už máte úložisko a chcete doň pridať novú štruktúru priečinkov, postupujte podľa týchto krokov:
Použitím prehliadača úložiska vytvorte nový priečinok projektu priamo v úložisku. Ak používate jedno zo štandardných rozložení, budete ho chcieť vytvoriť ako podpriečinok kmeňa radšej, než v koreňovom úložisku. Prehliadač úložiska zobrazuje štruktúru úložiska rovnako ako prieskumník Windows, takže môžete vidieť, ako sú veci usporiadané.
Overte nový priečinok v hornej časti priečinka, ktorý chcete importovať. Zobrazí sa varovanie, že miestny priečinok nie je prázdny. Ignorujte varovanie. Teraz máte verziový priečinok najvyššej úrovne s bezverziovým obsahom.
Použite ponuku svn: ignore
a vykonávať ďalšie potrebné zmeny.
Odovzdajte priečinok najvyššej úrovne a máte nový verziový strom a lokálnu pracovnú kópiu, vytvorenú z vášho existujúceho priečinka.
Niekedy musíte mať pod správou verzií súbor, ktorý obsahuje špecifické údaje užívateľa. To znamená, že máte súbor, ktorý musí každý vývojár/užívateľ upraviť tak, aby vyhovoval jeho lokálnemu nastaveniu. Verziovanie takéhoto súboru je však zložité, pretože každý používateľ by zakaždým odovzdával svoje zmeny do úložiska.
V takýchto prípadoch odporúčame použiť šablónu súborov. Vytvoríte súbor, ktorý obsahuje všetky údaje, ktoré vaši vývojári budú potrebovať, pridáte tento súbor do správy verzií a necháte vývojárov tento súbor overiť. Potom musí každý vývojár urobiť kópiu tohto súboru a premenuje túto kópiu. Potom už nie je problém s úpravou kópie.
Ako príklad si môžete pozrieť skript zostavenia TortoiseSVN. Volá súbor s názvom default.build.user
ktorý v úložisku neexistuje. Iba súbor default.build.user.tmpl
. default.build.user.tmpl
je súbor šablóny, z ktorého musí každý vývojár vytvoriť kópiu a premenovať tento súbor na default.build.user
. Do tohto súboru sme pridali komentáre, aby používatelia videli, ktoré riadky musia upraviť a zmeniť podľa svojho lokálneho nastavenia, aby fungovali.
Aby sme nenarušili užívateľov, pridali sme aj súbor default.build.user
do zoznamu ignorovaných nadradených priečinkov, t. j. nastavili sme vlastnosť Subversion svn: ignore
pre zahrnutie tohto názvu súboru. Takto sa pri každom odovzdaní nezobrazí ako bezverziový.
Na získanie pracovnej kópiu, musíte urobiť overenie z úložiska.
V prehliadači Windows vyberte priečinok, kam chcete umiestniť svoju pracovnú kópiu. Kliknutím pravým tlačidlom myši rozbalíte kontextovú ponuku a vyberte príkaz → , ktoré vyvolá nasledujúce dialógové okno:
Ak zadáte názov priečinka, ktorý ešte neexistuje, vytvorí sa priečinok s týmto názvom.
V predvolenom nastavení sa položka ponuky overenia nenachádza v pod-ponuke TortoiseSVN, ale zobrazuje sa v hornej ponuke prieskumníka. Príkazy TortoiseSVN, ktoré nie sú v pod-ponuke, majú SVN
pred-pripravené:
Môžete si zvoliť hĺbku overenia, čo vám umožní určiť hĺbku rekurzie v podradených priečinkoch. Ak chcete iba niekoľko častí veľkého stromu, môžete overiť iba priečinok najvyššej úrovne a potom vybrané priečinky aktualizovať rekurzívne.
Overí celý strom vrátane všetkých podradených priečinkov a podpriečinkov.
Overí určený priečinok vrátane všetkých súborov a podradených priečinkov, ale nevyplňuje podradené priečinky.
Overí určený priečinok vrátane všetkých súborov, ale neoverí žiadne podradené priečinky.
Overí len priečinok. Nevyplňujte ho súbormi ani podradenými priečinkami.
Zachovajte hĺbku uvedenú v pracovnej kópii. Táto možnosť sa nepoužíva v dialógu overenia, ale je predvolená vo všetkých ostatných dialógových oknách, ktoré majú nastavenie hĺbky.
Používa sa na zníženie hĺbky pracovnej kópie po tom, čo sa priečinok už naplnil. Táto možnosť je k dispozícii iba v priečinku Aktualizácia na revíziu dialóg.
Pre ľahký výber iba tých položiek, ktoré chcete overiť a vynútiť si zachovanie iba tých položiek výslednej pracovnej kópie, kliknite na tlačidlo roztrúsené overenie
. Aktualizácia takejto pracovnej kópie neprinesie chýbajúce súbory a priečinky, ale iba aktualizuje to, čo už v pracovnej kópii máte.
Ak overujete roztrúsenú pracovnú kópiu (t. j. zvolíte niečo iné ako plne rekurzívne
(pre hĺbku overenia), môžete ľahko pridať alebo odstrániť podpriečinky neskôr použitím jednej z nasledujúcich metód.
Kliknite pravým tlačidlom myši na overovaný priečinok a potom použite ponuku → a vyberte . Týmto sa otvorí rovnaké dialógové okno, aké bolo k dispozícii v pôvodnom overovaní a umožní vám výber alebo zrušenie výberu položiek, ktoré sa majú zahrnúť do overenia. Táto metóda je veľmi flexibilná, ale môže byť pomalá, pretože každá položka v priečinku sa aktualizuje samostatne.
Kliknutím pravým tlačidlom myši na overovaný priečinok a použitím ponuky → otvoríte prehliadač úložiska. Nájdite podpriečinok, ktorý chcete pridať do svojej pracovnej kópie a potom použite → .
V dialógovom okne overenie zmien najprv stlačte Shift kliknite na tlačidlo . Dialógové okno zobrazí všetky súbory a priečinky, ktoré sú v úložisku, ale ktoré ste neoverili ako vzdialene pridané
. Kliknite pravým tlačidlom myši na priečinky, ktoré chcete pridať do svojej pracovnej kópie, potom použite → .
Táto funkcia je veľmi užitočná, ak chcete overiť iba časti veľkého stromu, ale chcete pohodlne aktualizovať jednu pracovnú kópiu. Predpokladajme, že máte veľký strom, ktorý má podpriečinky Projekt01
až Project99
a chcete iba overiť Projekt03
, Projekt25
a Projekt76/SubProj
. Použite tieto kroky:
Overenie nadradeného priečinka s hĺbkou “Iba táto položka”. Teraz máte prázdny priečinok najvyššej úrovne.
Vyberte nový priečinok a použite
→ na zobrazenie obsahu úložiska.Kliknite pravým tlačidlom myši na Projekt03
a → . Ponechajte predvolené nastavenia a kliknite na . Teraz máte tento priečinok úplne naplnený.
Rovnaký postup opakujte pre Projekt25
.
Prejdite na Projekt76/SubProj
a urobte to isté. Tentokrát si všimnite, že priečinok Projekt76
nemá žiadny obsah okrem priečinka SubProj
, ktorý je sám o sebe plne naplnený. Subversion pre vás vytvoril dočasné priečinky bez ich naplnenia.
Keď si overíte pracovnú kópiu do určitej hĺbky, môžete túto hĺbku neskôr zmeniť a získať tak viac alebo menej obsahu použitím Vytvoriť lepkavú hĺbku.
→ . V tomto dialógovom okne nezabudnite skontrolovať zaškrtávacie políčkoServery pred verziou 1.5 nerozumejú požiadavkám na hĺbku pracovnej kópie, takže nemôžu vždy efektívne vybavovať požiadavky. Príkaz bude stále fungovať, ale starší server môže odoslať všetky údaje a ponechať klienta na odfiltrovanie toho, čo sa nevyžaduje, čo môže znamenať množstvo sieťovej prevádzky. Pokiaľ je to možné, mali by ste upgradovať server na verziu najmenej 1.5.
Ak projekt obsahuje odkazy na externé projekty, ktoré robíte bez možnosti súčasného overenia, použite zaškrtávacie políčko Vynechať externé.
Ak je zaškrtnuté políčko Vynechať externé, alebo ak chcete zvýšiť hodnotu hĺbky, budete musieť vykonať aktualizáciu svojej pracovnej kópie použitím → namiesto → . Štandardná aktualizácia bude obsahovať všetky externé zdroje a zachová existujúcu hĺbku.
Odporúča sa skontrolovať iba časť kmeňa
stromu priečinkov alebo nižšiu. Ak v URL zadáte nadradenú cestu k stromu priečinkov, môžete skončiť s zaplnením pevného disku, pretože získate kópiu celého stromu úložiska vrátane každej vetvy a príznaku vášho projektu!
Niekedy možno budete chcieť vytvoriť lokálnu kópiu bez toho, aby ste použili niektorý z .svn
priečinkov, napr. aby ste vytvorili komprimovaný tarball vášho zdroja. Ako na to si prečítajte “Export pracovnej kópie Subversion”.
Odosielanie zmien, ktoré ste vykonali vo svojej pracovnej kópii, je známe ako odovzdávanie zmien. Pred odovzdaním sa ale musíte sa ubezpečiť, či je vaša pracovná kópia aktuálna. Môžete použiť priamo ponuku
→ , alebo môžete najprv použiť ponuku → , na prezretie lokálne zmenených súborov alebo na zmenených súborov na serveri.Ak je vaša pracovná kópia aktuálna a nedochádza k žiadnym konfliktom, ste pripravení odovzdať svoje zmeny. Potom vyberte ľubovoľný súbor alebo priečinok, ktorý chcete odovzdať, potom vyberte ponuku
→ .Dialógové okno odovzdania vám ukáže všetky zmenené súbory vrátane pridaných, odstránených a bezverziových súborov. Ak nechcete, aby bol zmenený súbor odovzdaný, zrušte jeho zaškrtnutie. Ak chcete zahrnúť bezverziový súbor, zaškrtnite tento súbor a pridajte ho do odovzdania.
Ak chcete rýchlo zaškrtnúť alebo zrušiť zaškrtnutie typov súborov, ako sú všetky verziové súbory alebo všetky upravené súbory, kliknite na riadok položky tesne nad zoznamom zobrazených položiek.
Informácie o vyfarbení a prekrytí položiek podľa ich stavu nájdete v časti “Lokálny a vzdialený stav” .
Položky, ktoré boli prepnuté na inú cestu úložiska, sú označené aj použitím príznaku (s)
. Možno ste niečo zmenili pri práci na vetve a zabudli ste prepnúť späť na kmeň stromu. Toto je váš varovný signál!
Pri odovzdaní súborov sa v dialógovom okne odovzdania zobrazia iba súbory, ktoré ste vybrali. Keď odovzdávate priečinok, dialógové okno odovzdania automaticky vyberie zmenené súbory. Ak zabudnete na nový súbor, ktorý ste vytvorili, odovzdaním priečinka ho aj tak nájdete. Odovzdávanie priečinka neznamená, že každý súbor bude označený ako zmenený; iba vám uľahčí život tým, že urobí viac práce za vás.
Ak si myslíte, že dialógové okno odovzdania zobrazuje príliš veľa bezverziových súborov (napr. vygenerovaných kompilátorom alebo editorom zálohy), existuje niekoľko spôsobov, ako to vyriešiť. Môžete:
pridať súbor (alebo príponu so zástupnými znakmi) do zoznamu súborov, ktoré chcete vylúčiť na stránke nastavení. Toto ovplyvní každú vašu pracovnú kópiu.
pridať súbor do zoznamu svn: ignore
použitím ponuky → . Toto ovplyvní iba priečinok, v ktorom ste nastavili vlastnosť svn: ignore
. Použitím dialógového okna vlastností SVN môžete zmeniť vlastnosť svn: ignore
pre priečinok.
pridať súbor do zoznamu svn: global-ignores
použitím ponuky → . To ovplyvní priečinok, v ktorom ste nastavili vlastnosť svn: global-ignores
a vrátane všetkých podpriečinkov.
Pre viac informácií si prečítajte “Ignorovanie súborov a adresárov”.
Dvojitým kliknutím na akýkoľvek upravený súbor v dialógovom okne odovzdania sa spustí nástroj externých odlišností pre zobrazenie vašich zmien. Kontextová ponuka vám poskytne viac možností, ako je znázornené na snímke obrazovky. Súbory odtiaľto môžete tiež pretiahnuť do inej aplikácie, napríklad do textového editora alebo IDE.
Položky môžete vybrať alebo zrušiť ich výber kliknutím na zaškrtávacie políčko naľavo od položky. Pre priečinky, ktoré môžete použiť Shift- vybrať pre vytvorenie rekurzívnej akcie.
Stĺpce zobrazené na spodnom paneli sú prispôsobiteľné. Ak kliknite pravým tlačidlom myši na ktorúkoľvek hlavičku stĺpca uvidíte kontextovú ponuku, ktorá vám umožní si zvoliť, ktoré stĺpce sa majú zobraziť. Šírku stĺpca môžete tiež zmeniť ťahaním manipulátora, ktorý sa zobrazí, keď presuniete myš nad okraje stĺpca. Tieto prispôsobenia sú zachované, takže nabudúce uvidíte rovnaké hlavičky.
Keď odovzdáte zmeny, predvolene všetky zámky držané na súboroch, sú po úspešnom odovzdaní automaticky vypustené. Ak chcete tieto zámky zachovať, uistite sa, že je zaškrtnuté políčko Zachovať zámky. Predvolený stav tohto zaškrtávacieho políčka je prevzatý z no_unlock
v konfiguračnom súbore Subversion. Prečítajte si “Všeobecné nastavenia” pre informáciu o tom, ako upraviť konfiguračný súbor Subversion.
Odovzdávanie sa zvyčajne robí pre kmeň alebo vetvu, ale nie pre príznaky. Koniec koncov, príznak sa považuje za pevný a nemal by sa meniť.
Ak sa pokúsite o odovzdania adresy URL príznaku, TortoiseSVN najskôr zobrazí potvrdzovacie dialógové okno, aby ste sa uistili, či je to skutočne to, čo je zamýšľate. Pretože k takémuto odovzdaniu väčšinou dôjde náhodou.
Táto kontrola však funguje, iba ak je rozloženie úložiska jedno z odporúčaných, čo znamená, že používa názvy trunk
, branches
a tags
na označenie troch hlavných oblastí. V prípade, že sa nastavenie líši, zistenie čo je príznak/vetva/kmeň (tiež známe ako klasifikačné vzory
), je možné nakonfigurovať v dialógovom okne nastavení: “Nastavenia grafu revizií”
Súbory môžete pretiahnuť do dialógového okna odovzdania odkiaľkoľvek, pokiaľ sú pracovné kópie overené z rovnakého úložiska. Napríklad môžete mať obrovskú pracovnú kópiu s niekoľkými otvorenými oknami prieskumníka, aby ste si pozreli hierarchiu vzdialených priečinkov. Ak sa chcete vyhnúť vytváraniu z priečinka najvyššej úrovne (s rozsiahlym prehľadávaním priečinkov, aby ste skontrolovali zmeny), môžete otvoriť dialógové okno odovzdania pre jeden priečinok a presunúť položky z ostatných okien tak, aby boli zahrnuté do rovnakého čiastkového odovzdania.
Bezverziové súbory nachádzajúce sa v pracovnej kópii, môžete pretiahnuť do dialógového okna odovzdania a automaticky sa pridajú do SVN.
Pretiahnutím súborov zo zoznamu v dolnej časti dialógového okna odovzdania do editačného poľa správy záznamu budú vložené cesty ako obyčajný text do tohto editačného poľa. To je užitočné, ak chcete písať správy záznamu odovzdania, ktoré obsahujú cesty ovplyvnené odovzdaním.
Súbory sa niekedy premenujú mimo Subversion a v zozname súborov sa zobrazia ako chýbajúci súbor a bezverziový súbor. Aby ste predišli strate histórie, musíte o pripojení informovať Subversion. Jednoducho vyberte starý názov (chýbajúci) a nový názov (bezverziový) a použitie
→ spárujete tieto dva súbory ako premenované.Ak ste vytvorili kópiu súboru, ale zabudli ste na to použiť príkaz Subversion, môžete túto kópiu opraviť, aby nový súbor nestratil svoju históriu. Stačí zvoliť starý názov (normálny alebo upravený) a nový názov (bezverziový) a použitím
→ spárovať tieto dva súbory ako kópiu.Dialóg odovzdania podporuje funkciu zoznamu zmien Subversion, ktorá pomáha pri zoskupovaní súvisiacich súborov. O tejto funkcii sa dozviete viac v časti “Zoznamy zmien” .
Niekedy chcete vykonať zmeny v súbore iba čiastočne. Takáto situácia sa zvyčajne stáva, keď na niečom pracujete, ale potom je potrebné vykonať neodkladnú opravu, ktorá sa stane v rovnakom súbore, na ktorom pracujete.
Kliknite pravým tlačidlom myši na súbor a použite → . Takto sa vytvorí kópia súboru, aký je. Potom môžete súbor upraviť, napr. v textovom editore a vrátiť späť všetky zmeny, ktoré nechcete vykonať. Po uložení týchto zmien môžete súbor potvrdiť.
Ak na úpravu súboru použijete TortoiseMerge, môžete upraviť zmeny buď tak, ako ste zvyknutí, alebo označiť všetky zmeny, ktoré chcete zahrnúť. Kliknite pravým tlačidlom myši na upravovaný blok a použitím → zahrniete túto zmenu. Nakoniec kliknutím pravým tlačidlom myši a použitím → sa zmení správne zobrazenie tak, aby zahŕňalo iba zmeny, ktoré ste predtým označili a vráti späť zmeny, ktoré ste neoznačili.
Po dokončení odovzdania sa kópia súboru automaticky obnoví a vy máte súbor so všetkými zmenami, ktoré neboli vrátené späť.
Niekedy máte verziové súbory, ktoré sa často menia, ale ktoré naozaj nechcete odovzdať. Niekedy to naznačuje chybu v procese zostavovania - prečo sú tieto súbory označené verziou? mali by ste používať súbory šablón? Ale občas je to nevyhnutné. Klasickým dôvodom je, že vaše IDE zmení časovú pečiatku v súbore projektu zakaždým, keď ho vytvoríte. Súbor projektu musí byť verziový, pretože obsahuje všetky nastavenia zostavenia, ale nemusí byť potvrdený iba preto, že sa zmenila časová značka.
Aby sme pomohli v nepríjemných prípadoch, ako je tento, vyhradili sme si zoznam zmien nazývaný ignore-on-commit
. Akýkoľvek súbor pridaný do tohto zoznamu zmien nebude automaticky zrušený v dialógovom okne odovzdania. Stále môžete potvrdiť zmeny, ale musíte ich zvoliť manuálne v dialógovom okne odovzdania.
Nezabudnite vložiť správu záznamu, ktorá popisuje vykonané zmeny. To vám pomôže zistiť, čo sa stalo a kedy, keď budete neskôr prechádzať správy záznamu projektu. Správa môže byť ľubovoľná; veľa projektov obsahuje pokyny pre to, čo by malo byť zahrnuté, jazyk, ktorý sa má používať a niekedy dokonca prísny formát.
Na svoje správy záznamu môžete použiť jednoduché formátovanie použití konvencie podobnej konvencii používanej v e-mailoch. Pre použitie štýlov textu
, použite *text*
pre tučné písmo, _text_
pre podčiarknuté a ^text^
pre kurzívu.
TortoiseSVN obsahuje kontrolu pravopisu, ktorá vám pomôže spravovať správy záznamu. To zvýrazní všetky nesprávne napísané slová. Použitím kontextovej ponuky získate prístup k navrhovaným opravám. Samozrejme, že to nevie každý odborný výraz, ktorý robíte, takže správne napísané slová sa niekedy ukážu ako chyby. Ale nebojte sa. Môžete ich jednoducho pridať do svojho osobného slovníka použitím kontextovej ponuky.
Okno správy záznamu obsahuje tiež názov a funkciu automatického dokončovania funkcií. Toto používa regulárne výrazy na extrahovanie názvov tried a funkcií z (textových) súborov, ktoré odovzdávate, ako aj samotných názvov súborov. Ak slovo, ktoré píšete, sa zhoduje s čímkoľvek v zozname (po napísaní minimálne 3 znakov alebo stlačení Ctrl+medzerník) sa zobrazí rozvinovacia ponuka, ktorá vám umožní vybrať si celý názov. Regulárne výrazy dodávané s TortoiseSVN sa nachádzajú v priečinku bin
pri inštalácii TortoiseSVN. Môžete tiež definovať svoje vlastné regulárne výrazy a uložiť ich do %APPDATA%\TortoiseSVN\autolist.txt
. Váš súkromný automatický zoznam samozrejme nebude prepísaný pri aktualizácii svojej inštalácie TortoiseSVN. Ak vám regulárne výrazy nie sú známe, pozrite sa na úvod na https://en.wikipedia.org/wiki/Regular_expression a online dokumentáciu a manuál na stránke http://www.regular-expressions.info/.
Správny výsledok regulárneho výrazu môže byť zložitý, takže aby ste si mohli zoradiť vhodný výraz, existuje testovacie dialógové okno, ktoré vám umožňuje zadať výraz a potom ho vložiť zadaním názvov súborov. Spustíte ho z príkazového riadku príkazom TortoiseProc.exe /command:autotexttest
.
Okno správy záznamu obsahuje tiež možnosti úryvkov správy odovzdania. Tieto úryvky sa zobrazia v rozvinovacej ponuke automatického dopĺňania po zadaní skratky úryvku. Po výbere úryvku v rozvinovacej ponuke automatického dopĺňania sa vloží celý text úryvku. Úryvky dodané s TortoiseSVN sú ukladané v priečinku bin
pri inštalácii TortoiseSVN. Môžete tiež definovať svoje vlastné úryvky a uložiť ich do %APPDATA%\TortoiseSVN\snippet.txt
. #
je znak komentára. Nové riadky je možné vkladať tak, že ich ukončíte takto: \n
a \r
. Ak chcete vložiť spätnú lomku, vyviaznite z toho takto: \\
.
Môžete znovu používať predtým zadané správy záznamu. Stačí kliknúť na
pre zobrazenie zoznamu posledných správ, ktoré ste zadali pre túto pracovnú kópiu. Počet uložených správ je možné upraviť v dialógovom okne nastavení TortoiseSVN.Všetky uložené správy o potvrdení môžete vymazať z priečinka Uložené dáta stránka s nastaveniami TortoiseSVN, alebo môžete jednotlivé správy vymazať zvnútra Posledné správy dialógové okno pomocou Odstrániť kľúč.
Ak chcete zahrnúť zaškrtnuté cesty do svojej správy záznamu, môžete v ovládacom prvku úprav použiť príkaz
→ .Ďalším spôsobom, ako vložiť cesty do správy záznamu, je jednoduché pretiahnutie súborov zo zoznamu súborov do ovládacieho prvku úpravy.
Existuje niekoľko špeciálnych vlastností priečinkov, ktoré vám môžu pomôcť získať lepšiu kontrolu nad formátovaním správ záznamu odovzdania a jazykom používaným modulom kontroly pravopisu. Pre ďalšie informácie si prečítajte “Nastavenia Projektu”.
Ak ste aktivovali systém sledovania chýb, môžete nastaviť jeden alebo viac problémov v textovom poli ID chyby / číslo problému:. Väčší počet čísel by mal byť oddelený čiarkou. Prípadne, ak používate podporu sledovania chýb založenú na regulárnom výraze, jednoducho pridajte svoje odkazy na problémy ako súčasť správy záznamu. Viac informácií sa dozviete v časti “Integrácia so systémami sledovania chýb/sledovačmi problémov” .
Po stlačení
sa zobrazí dialógové okno s priebehom odovzdania.Dialógové okno priebehu používa farebné značenie zvýraznenie rôznych akcií odovzdania
Odovzdávanie zmien.
Odovzdávanie nového prídavku.
Odovzdanie odstránenia alebo nahradenia.
Všetky ostatné položky.
Toto je predvolená farebná schéma, ale tieto farby môžete prispôsobiť použitím dialógového okna nastavenia. Pre viac informácií si prečítajte “Nastavenia farieb TortoiseSVN”.
Pravidelne by ste sa mali ubezpečiť, že zmeny vykonané ostatnými budú začlenené do vašej miestnej pracovnej kópie. Proces získavania zmien zo servera do lokálnej kópie je známy ako aktualizácia. Aktualizáciu je možné vykonať na samostatných súboroch, na sústave vybraných súborov alebo rekurzívne po celých hierarchiách priečinkov. Ak chcete aktualizovať, vyberte požadované súbory alebo priečinky, kliknite pravým tlačidlom myši a vyberte → v kontextovej ponuke prieskumníka. Zobrazí sa okno s priebehom aktualizácie. Zmeny vykonané inými sa zlúčia do vašich súborov, pričom všetky zmeny, ktoré ste mohli urobiť, sa zachovajú. Úložisko nie je ovplyvnené aktualizáciou.
Dialógové okno priebehu používa farebné značenie na zvýraznenie rôznych akcií aktualizácie
Nová položka pridaná do vašej pracovnej kópie.
Nadbytočná položka odstránená z vašej pracovnej kópie alebo chýbajúca položka nahradená z vašej pracovnej kópie.
Zmeny z úložiska sa úspešne zlúčili s lokálnymi zmenami.
Zmeny z úložiska sa zlúčili s miestnymi zmenami, čo viedlo ku konfliktom, ktoré musíte vyriešiť.
Nezmenená položka vo vašej pracovnej kópii aktualizovaná o novšiu verziu z úložiska.
Toto je predvolená farebná schéma, ale tieto farby môžete prispôsobiť použitím dialógového okna nastavenia. Pre viac informácií si prečítajte “Nastavenia farieb TortoiseSVN”.
Ak počas aktualizácie dôjde k nejakým konfliktom (toto sa môže stať, ak ostatní zmenili rovnaké riadky v rovnakom súbore ako vy a tieto zmeny sa nezhodujú), potom dialógové okno zobrazí tieto konflikty červenou farbou. Môžete dvojitým kliknutím na tieto riadky spustiť nástroj externého zlúčenia na riešenie konfliktov.
Po dokončení aktualizácie sa v dialógovom okne priebehu pod zoznamom súborov zobrazí súhrn počtu aktualizovaných, pridaných, odstránených, konfliktných položiek. Tieto súhrnné informácie možno kopírovať do schránky použitím Ctrl+C.
Štandardný príkaz Aktualizácia nemá žiadne možnosti a iba aktualizuje vašu pracovnú kópiu na HEAD revíziu úložiska, čo je najbežnejší prípad použitia. Ak chcete mať väčšiu kontrolu nad procesom aktualizácie, mali by ste namiesto toho použiť
→ . Toto vám umožní aktualizovať pracovnú kópiu na konkrétnu revíziu, nielen na najnovšiu. Predpokladajme, že vaša pracovná kópia je v revízii 100, ale chcete, aby odrážala stav, ktorý mala v revízii 50 - potom jednoducho aktualizujte na revíziu 50.Pri aktualizácii aktuálneho priečinka v tom istom dialógovom okne si môžete tiež zvoliť hĺbku. Použité pojmy sú opísané v časti “Hĺbka overenia” . Predvolená hĺbka je pracovná kópia, čím sa zachová existujúce nastavenie hĺbky. Môžete tiež nastaviť hĺbku na lepkavá
čo znamená, že nasledujúce aktualizácie použijú túto novú hĺbku, t. j. táto hĺbka sa potom použije ako predvolená hĺbka.
Pre uľahčenie zahrnutia alebo vylúčenia konkrétnych položiek z overenia kliknite na tlačidlo
. Otvorí sa nové dialógové okno, kde môžete zaškrtnúť všetky požadované položky v pracovnej kópii a zrušiť zaškrtnutie všetkých položiek, ktoré nechcete.Môžete si tiež zvoliť, či chcete v aktualizácii ignorovať akékoľvek externé projekty (t. j. projekty odkazované pomocou svn:externals
).
Ak aktualizujete súbor alebo priečinok na konkrétnu revíziu, nemali by ste v nich robiť zmeny. Pri pokuse o ich odovzdanie dostanete chybové správy - “zastaralé”! Ak chcete vrátiť späť zmeny v súbore a začať odznova od staršej revízie, v dialógovom okne protokolu revízií môžete sa vrátiť k predošlej revízii. Pre ďalšie pokyny a alternatívne metódy si pozrite “Vrátiť vzad (späť) revízie v úložisku”.
môže byť občas užitočné vidieť, ako váš projekt vyzeral v nejakom skoršom bode svojej histórie. Všeobecne však aktualizácia jednotlivých súborov na staršiu verziu nie je dobrý nápad, pretože vaša pracovná kópia je v nekonzistentnom stave. Ak názov súboru, ktorý aktualizujete, zmenil názov, môžete dokonca zistiť, že súbor z pracovnej kópie jednoducho zmizol, pretože v predchádzajúcej revízii neexistoval žiadny súbor tohto názvu. Mali by ste tiež poznamenať, že položka bude mať normálne zelené prekrytie, takže je na nerozoznanie od súborov, ktoré sú aktuálne.
Ak chcete iba lokálnu kópiu starej verzie súboru, je lepšie použiť príkaz
→ z dialógového okna záznamu pre tento súbor.Ak v prehľadávači vyberiete viacero súborov a priečinkov a potom vyberiete
, všetky tieto súbory/priečinky sa aktualizujú jeden po druhom. TortoiseSVN zaisťuje, aby všetky súbory/priečinky, ktoré sú z rovnakého úložiska, boli aktualizované na úplne rovnakú verziu! Aj keď medzi týmito aktualizáciami došlo k ďalšiemu odovzdaniu.Raz za čas dôjde ku konfliktu pri aktualizácii/zlúčení súborov z úložiska alebo pri zmene pracovnej kópie na inú adresu URL. Existujú dva druhy konfliktov:
Konflikt súboru nastane, ak dvaja (alebo viacerí) vývojári zmenili niekoľko tých istých riadkov súboru.
Konflikt stromu nastane, keď vývojár presunul/premenoval/odstránil súbor alebo priečinok, ktorý iný vývojár tiež presunul/premenoval/odstrínil alebo práve upravil.
Konflikt súboru nastane, keď dvaja alebo viacerí vývojári zmenili rovnakých pár riadkov súboru. Pretože Subversion o vašom projekte nič nevie, riešenie konfliktov prenecháva vývojárom. Konfliktná oblasť v textovom súbore je označená takto:
<<<<<<< názov súboru vaše zmeny ======= kód zlúčený z úložiska >>>>>>> revízia
Taktiež pre každý konfliktný súbor Subversion umiestni do vášho adresára ďalšie tri súbory:
Toto je váš súbor, aký existoval vo vašej pracovnej kópii predtým, ako ste pracovnú kópiu aktualizovali - teda bez príznakov konfliktov. Tento súbor obsahuje vaše posledné zmeny a nič iné.
Toto je súbor, ktorý bol základnou (BASE) revíziou predtým, ako ste aktualizovali svoju pracovnú kópiu. Teda súbor, ktorý ste si overili pred vykonaním posledných úprav.
Toto je súbor, ktorý váš klient Subversion práve dostal zo servera, keď ste aktualizovali svoju pracovnú kópiu. Tento súbor zodpovedá HEAD revízii úložiska.
Môžete spustiť externý nástroj na zlučovanie alebo editor konfliktov pomocou <<<<<<<
.
Potom vykonajte príkaz filename.ext.mine
a filename.ext.r*
, ktoré vám umožnia vykonať zmeny.
Ak máte konflikty s binárnymi súbormi, Subversion sa nepokúsi zlúčiť samotné súbory. Miestny súbor zostane nezmenený (presne tak, ako ste ho naposledy zmenili) a máte súbory filename.ext.r*
. Ak chcete svoje zmeny zahodiť a uchovať si verziu úložiska, stačí použiť príkaz Vrátiť. Ak si chcete uchovať svoju verziu a prepísať verziu úložiska, použite príkaz Vyriešené a potom odovzdajte svoju verziu.
Príkaz Vyriešené môžete použiť pre viac súborov, ak kliknete pravým tlačidlom myši na nadradený priečinok a vyberiete
→ Zobrazí sa dialógové okno so zoznamom všetkých konfliktných súborov v danom priečinku a môžete si vybrať, ktoré z nich chcete označiť ako vyriešené.Ku konfliktu vlastností dôjde, keď dvaja alebo viacerí vývojári zmenili to isté vlastníctvo. Rovnako ako v prípade obsahu súborov, konflikt môžu vyriešiť iba vývojári.
Ak musí jedna zo zmien prepísať druhú, vyberte možnosť Vyriešiť použitím miestneho vlastníctva alebo Vyriešiť použitím vzdialeného vlastníctva. Ak je potrebné zmeny zlúčiť, vyberte možnosťRučne upraviť vlastníctvo, vytrieďte, aká by mala byť hodnota vlastnosti a označte ju ako vyriešenú.
Konflikt stromu nastane, keď vývojár presunul/premenoval/odstránil súbor alebo priečinok, ktorý iný vývojár tiež presunul/premenoval/odstránil alebo práve upravil. Existuje mnoho rôznych situácií, ktoré môžu vyústiť do konfliktu stromov a všetky si vyžadujú rôzne kroky na vyriešenie konfliktu.
Keď sa súbor lokálne odstráni v Subversion, vymaže sa aj z lokálneho súborového systému, takže aj keď je súčasťou konfliktu stromov, nemôže zobraziť konfliktné prekrytie a na jeho vyriešenie nemôžete kliknúť pravým tlačidlom myši. Namiesto použitia dialógu Skontrolujte úpravy pristúpte k možnosti Upraviť konflikty.
TortoiseSVN vám môže pomôcť nájsť správne miesto na zlúčenie zmien, ale na vyriešenie konfliktov môže byť potrebná ďalšia práca. Pamätajte, že po aktualizácii bude funkčný ZÁKLAD (BASE) vždy obsahovať revíziu každej položky tak, ako bola v úložisku v čase aktualizácie. Ak po aktualizácii vrátite zmenu, vráti sa späť do stavu úložiska, nie do stavu, v akom to bolo, keď ste začali robiť vlastné miestne zmeny.
Vývojár A upraví Foo.c
a odovzdá ho do úložiska.
Vývojár B sa súčasne presunul Foo.c
do Bar.c
v jeho pracovnej kópii alebo jednoducho odstránil Foo.c
alebo jeho nadradený priečinok.
Aktualizácia pracovnej kópie vývojára B vyústi do konfliktu stromov:
Foo.c
bol odstránený z pracovnej kópie, ale je označený konfliktom stromov.
Ak konflikt vyplýva skôr z premenovania než z odstránenia Bar.c
je označený ako pridaný, ale neobsahuje úpravy vývojára A.
Vývojár B sa teraz musí rozhodnúť, či zachová zmeny vývojára A. V prípade premenovania súboru môže zmeny zlúčiť do Foo.c
do premenovaného súboru Bar.c
. V prípade jednoduchého odstránenia súborov alebo priečinkov sa môže rozhodnúť ponechať položku so zmenami vývojára A a odstránenie zrušiť. Alebo tým, že označí konflikt za vyriešený bez toho, aby urobil čokoľvek, účinne zahodí zmeny vývojára A.
Dialógové okno na úpravu konfliktu ponúka zlúčenie zmien, ak dokáže nájsť pôvodný súbor premenovaného Bar.c
. Ak existuje viac súborov, ktorým je možné presunúť zdroje, potom sa pre každý z týchto súborov zobrazí tlačidlo, ktoré vám umožní zvoliť správny súbor.
Vývojár A presunie Foo.c
do Bar.c
a odovzdá zmeny v úložisku.
Vývojár B upraví Foo.c
v svojej pracovnej kópii.
Alebo v prípade premiestnenia priečinka...
Vývojár A presunie nadradený priečinok FooFolder
do BarFolder
a odovzdá ho do úložiska.
Vývojár B upraví Foo.c
v svojej pracovnej kópii.
Aktualizácia pracovnej kópie vývojára B vyústi do konfliktu stromov. Pre jednoduchý konflikt súborov:
Bar.c
je pridaný do pracovnej kópie ako normálny súbor.
Foo.c
je označený ako pridaný (s históriou) a má konflikt stromov.
Pre konflikt priečinkov:
Priečinok BarFolder
sa pridá do pracovnej kópie ako normálny priečinok.
Priečinok FooFolder
je označený ako pridaný (s históriou) a má konflikt stromov.
Súbor Foo.c
je označený ako upravený.
Developer B sa teraz musí rozhodnúť, či pôjde s reorganizáciou vývojára A a zlúči jeho zmeny do zodpovedajúceho súboru v novej štruktúre, alebo jednoducho vráti zmeny A a ponechá si lokálny súbor.
Ak chce zlúčiť svoje miestne zmeny preskupením, musí vývojár B najskôr zistiť, na aký názov súboru bol Foo.c
v úložisku premenovaný/presunutý. To je možné vykonať pomocou dialógového okna protokolu. Potom použite tlačidlo, ktoré zobrazuje správny zdrojový súbor, na vyriešenie konfliktu.
Ak sa vývojár B rozhodne, že zmeny A boli nesprávne, musí zvoliť Označiť ako vyriešené v dialógovom okne editora konfliktov. Toto označí konfliktný súbor alebo priečinok ako vyriešený, ale zmeny vývojára A je potrebné odstrániť ručne. Dialógové okno záznamu opäť pomáha sledovať, čo sa presunulo.
Vývojár A presunie Foo.c
do Bar.c
a odovzdá zmeny v úložisku.
Vývojár B presunie Foo.c
do Bix.c
.
Aktualizácia pracovnej kópie vývojára B vyústi do konfliktu stromov:
Súbor Bix.c
je označený ako pridaný s históriou.
Súbor Bar.c
sa pridá do pracovnej kópie so stavom „normálny“.
Súbor Foo.c
je označený ako odstránený a má konflikt stromov.
Na vyriešenie tohto konfliktu musí vývojár B zistiť, na aký názov súboru bol konfliktný súbor Foo.c
v úložisku premenovaný/presunutý. To je možné vykonať použitím dialógového okna protokolu.
Potom sa musí vývojár B rozhodnúť, ktorý názov nového súboru Foo.c
ponechať - ten, čo urobil vývojár A, alebo premenovaný, čo urobil sám.
Keď vývojár B konflikt ručne vyrieši, musí byť konflikt stromu označený ako vyriešený použitím tlačidla v dialógovom okne editora konfliktov.
Vývojár A pracujúci na kmeni upraví Foo.c
a odovzdá ho do úložiska
Vývojár B pracujúci na vetve presunie Foo.c
do Bar.c
a odovzdá ho do úložiska
Zlúčenie kmeňa vývojára A do vetvy pracovnej kópie vývojára B vedie ku konfliktu stromov:
Súbor Bar.c
je už v pracovnej kópii so stavom „normálny“.
Súbor Foo.c
je označený ako chýbajúci s konfliktom stromov.
Na vyriešenie tohto konfliktu musí vývojár B označiť súbor ako vyriešený v dialógovom okne editora konfliktov, ktoré ho odstráni zo zoznamu konfliktov. Potom sa musí rozhodnúť, či skopíruje chýbajúci súbor Foo.c
z úložiska do pracovnej kópie, či sa majú zlúčiť zmeny vývojára A do súboru Foo.c
v premenovanom súbore Bar.c
alebo či ignorovať zmeny označením konfliktu ako vyriešeného a neurobiť nič iné.
Upozorňujeme, že ak skopírujete chýbajúci súbor z úložiska a potom ho označíte ako vyriešený, vaša kópia sa znova odstráni. Najprv musíte vyriešiť konflikt.
Vývojár A pracujúci na kmeni presunie súborFoo.c
do Bar.c
a odovzdá ho do úložiska.
Vývojár B pracujúci na vetve upraví súbor Foo.c
a odovzdá ho do úložiska.
Vývojár pracujúci na kmeni presunie nadradený priečinok FooFolder
do BarFolder
a odovzdá ho do úložiska.
Vývojár B pracujúci na vetve upraví súbor Foo.c
vo svojej pracovnej kópii.
Zlúčenie kmeňa vývojára A do vetvy pracovnej kópie vývojára B vedie ku konfliktu stromov:
Súbor Bar.c
je označený ako pridaný.
Súbor Foo.c
je označený ako upravený konfliktom stromov.
Developer B sa teraz musí rozhodnúť, či pôjde s reorganizáciou vývojára A a zlúči jeho zmeny do zodpovedajúceho súboru v novej štruktúre, alebo jednoducho vráti zmeny A a ponechá si lokálny súbor.
Ak chce zlúčiť svoje lokálne zmeny preskupením, musí vývojár B najskôr zistiť, na aký názov bol konfliktný súbor Foo.c
v úložisku premenovaný/presunutý. To je môže vykonať použitím dialógového okna záznamu pre zlúčenie zdroja. Editor konfliktov zobrazuje iba záznam pracovnej kópie, pretože nevie, ktorá cesta v zlúčení bola použitá, takže to bude musieť nájsť sám. Zmeny musí potom zlúčiť ručne, pretože v súčasnosti neexistuje spôsob, ako tento proces automatizovať alebo dokonca zjednodušiť. Po prenesení zmien je konfliktná cesta nadbytočná a dá sa odstrániť.
Ak vývojár B rozhodne, že zmeny vývojára A boli nesprávne, musí zvoliť Označiť ako vyriešené v dialógovom okne editora konfliktov. Toto označí konfliktný súbor alebo priečinok ako vyriešený, ale zmeny vývojára A je potrebné odstrániť ručne. Dialógové okno záznamu pre zlúčenie zdroja opäť pomáha sledovať, čo sa presunulo.
Vývojár A pracujúci na kmeni presunie súborFoo.c
do Bar.c
a odovzdá ho do úložiska.
Vývojár B pracujúci na pobočke presunie súbor Foo.c
do Bix.c
a odovzdá ho do úložiska.
Zlúčenie kmeňa vývojára A do vetvy pracovnej kópie vývojára B vedie ku konfliktu stromov:
Súbor Bix.c
je označený normálnym stavom (bez úpravy).
Súbor Bar.c
je označený ako pridaný s históriou.
Súbor Foo.c
je označený ako chýbajúci a má konflikt stromov.
Na vyriešenie tohto konfliktu musí vývojár B zistiť, na aký názov bol konfliktný súbor Foo.c
v úložisku premenovaný/presunutý. To je možné vykonať použitím dialógového okna záznamu pre zlúčenie zdroja.
Potom sa musí vývojár B rozhodnúť, ktorý názov nového súboru Foo.c
ponechať - ten, čo urobil vývojár A, alebo premenovaný, čo urobil sám.
Keď vývojár B konflikt ručne vyrieši, musí byť konflikt stromu označený ako vyriešený použitím tlačidla v dialógovom okne editora konfliktov.
Existujú aj iné prípady, ktoré sú označené ako konflikty stromov jednoducho preto, lebo konflikt sa týka skôr priečinka ako súboru. Napríklad ak do kmeňa a vetvy pridáte priečinok s rovnakým názvom a potom sa pokúsite zlúčiť, dôjde ku konfliktu stromov. Ak chcete, aby priečinok nebol v cieľovej oblasti zlúčenia, stačí konflikt označiť ako vyriešený. Ak chcete použiť ten v zdroji zlúčenia, potrebujete najskôr ten cieľový SVN odstrániť a znova spustiť zlúčenie. Ak potrebujete niečo komplikovanejšie, musíte to vyriešiť manuálne.
Pri práci na svojej pracovnej kópii často potrebujete vedieť, ktoré súbory ste zmenili/pridali/odstránili alebo premenovali, alebo dokonca ktoré súbory zmenili a potvrdili iní.
Teraz, keď máte overenú pracovnú kópiu z úložiska Subversion, môžete svoje súbory vidieť v prieskumníkovi Windows so zmenenými ikonami. To je jeden z dôvodov, prečo je TortoiseSVN taký populárny. TortoiseSVN pridáva ku každej ikone súboru takzvanú ikonu prekrytia, ktorá prekrýva ikonu pôvodného súboru. Ikona prekrytia sa líši v závislosti od stavu Subversion súboru.
Čerstvo overená pracovná kópia má ako prekrytie zelenú značku zaškrtnutia. To znamená, že stav Subversion je normálny .
Hneď ako začnete upravovať súbor, stav sa zmení na upravený a prekrytie ikony sa potom zmení na červený výkričník. Takto môžete ľahko zistiť, ktoré súbory sa zmenili od poslednej aktualizácie pracovnej kópie a je potrebné ich odovzdať.
Ak počas aktualizácie nastane konflikt potom sa ikona zmení na žltý výkričník.
Ak ste nastavili vlastnosť súbor na svn:needs-lock, Subversion nastaví súbor iba na čítanie, kým nezískate zámok pre daný súbor. Súbory iba na čítanie majú toto prekrytie, aby ste vedeli, že pred ich úpravou potrebujete získať zámok.
Ak ponecháte zámok na súbore a stav Subversion je normálny, toto prekrytie ikonou vám pripomenie, že ak zámok nepoužívate, mali by ste ho uvoľniť, aby ostatní mohli vykonávať zmeny súboru.
Táto ikona zobrazuje, že niektoré súbory alebo priečinky v aktuálnom priečinku boli naplánované na odstránenie zo správy verzie alebo v priečinku chýba súbor pod správou verzie.
Znamienko plus informuje o tom, že súbor alebo priečinok bol naplánovaný na pridaný do správy verzie.
Znak čiary informuje o tom, že sa jedná o ignorovaný súbor alebo priečinok pre účely správy verzií. Toto prekrytie je voliteľné.
Táto ikona zobrazuje súbory a priečinky, ktoré nepodliehajú správe verzií, ale neboli ignorované. Toto prekrytie je voliteľné.
V skutočnosti môžete zistiť, že nie všetky tieto ikony sa vo vašom systéme používajú. Je to preto, že počet prekrytí povolených systémom Windows je veľmi obmedzený a ak používate aj starú verziu TortoiseCVS, nie je k dispozícii dostatok slotov na prekrytie. TortoiseSVN sa snaží byť “Dobrým občanom (TM)” a obmedzuje použitie prekrytí, aby mali šancu aj iné aplikácie.
Teraz, keď je v okolí viac klientov Tortoise (TortoiseCVS, TortoiseHg, ...), sa limit ikon stáva skutočným problémom. Aby sme to obišli, projekt TortoiseSVN zaviedol spoločnú zdieľanú sadu ikon načítanú ako DLL, ktorú môžu používať všetci klienti Tortoise. Overte si u svojho poskytovateľa klienta, či už bol integrovaný :-)
Pre popis toho, ako prekrytia ikon zodpovedajú stavu Subversion a ďalšie technické podrobnosti si prečítajte “Prekrytie ikon”.
Niekedy chcete mať o súbore/priečinku podrobnejšie informácie, ako len prekrytie ikon. Všetky informácie, ktoré Subversion poskytuje, môžete získať v dialógovom okne vlastností prieskumníka. Stačí zvoliť súbor alebo priečinok a zvoliť → v kontextovej ponuke (poznámka: toto je položka ponuky bežných vlastností, ktorú poskytuje prieskumník, nie tá v pod-ponuke TortoiseSVN!). V dialógovom okne vlastností TortoiseSVN pridala novú stránku vlastností pre súbory/priečinky pod správou Subversion, kde vidíte všetky relevantné informácie o vybranom súbore/priečinku.
Často je veľmi užitočné vedieť, ktoré súbory ste zmenili a tiež ktoré súbory zmenili a potvrdili iní. To je miesto, kde príkaz → príde vhod. V tomto dialógovom okne sa zobrazia všetky súbory, ktoré sa vo vašej pracovnej kópii akýmkoľvek spôsobom zmenili, ako aj všetky bezverziové súbory, ktoré môžete mať.
Ak kliknete na ikonu Shift pri kliknutí na tlačidlo .
potom môžete tiež si prezrieť zmeny v úložisku. Týmto spôsobom si môžete pred aktualizáciou skontrolovať, či existuje možný konflikt. Môžete taktiež aktualizovať vybrané súbory z úložiska bez aktualizácie celého priečinka. Predvolene tlačidlo vyvolá iba vzdialený stav s hĺbkou overenia pracovnej kópie. Ak chcete vidieť všetky súbory a priečinky v úložisku, aj tie, ktoré ste neoverili, musíte pridržaťDialógové okno používa na zvýraznenie stavu farebné kódovanie.
Lokálne upravené položky.
ak sa nezmenené súbory nachádzajú v priečinku, ktorý bol presunutý, bude stav zobrazený znakom +
vpísaného do stĺpca stav a bude tiež sfarbený do modra.
Pridané položky. Položky, ktoré boli pridané počas histórioe, majú znak +
v stĺpci Stav textu a popis zobrazuje, odkiaľ bola položka skopírovaná.
Odstránené alebo chýbajúce položky.
Položky upravené lokálne a v úložisku. Zmeny sa pri aktualizácii zlúčia. Tieto môžu vytvárať konflikty pri aktualizácii.
Položky upravené lokálne a odstránené v úložisku alebo upravené v úložisku a odstránené lokálne. Tieto budú vytvárať konflikty pri aktualizácii.
Nezmenené a bezverziové položky.
Toto je predvolená farebná schéma, ale tieto farby môžete prispôsobiť použitím dialógového okna nastavenia. Pre viac informácií si prečítajte “Nastavenia farieb TortoiseSVN”.
Ikony prekrytia sa používajú aj na označenie ďalších stavov. Snímka obrazovky nižšie zobrazuje všetky možné prekrytia, ktoré sa v prípade potreby zobrazia.
Prekrytia sa zobrazujú pre nasledujúce stavy:
Hĺbka overenia empty
(prázdny), znamená iba samotnú položku.
Hĺbka overenia files
(súbory), znamená iba samotnú položku a všetky podradené súbory bez podradených priečinkov.
Hĺbka overenia immediates
(okamžité), znamená iba samotnú položku a všetky podradené položky súborov a priečinkov, ale bez potomkov podradených priečinkov.
Vnorené položky, t. j. pracovné kópie vnútri pracovnej kópie.
Externé položky, t. j. všetky položky, ktoré sú pridané vlastnosťou svn:externals
.
Položky, ktoré sa obnovia po potvrdení. Pre detaily si pozri “Odovzdať iba časti súborov”.
Položky, ktoré majú úpravy vlastností, ale iba vo vlastnosti svn:mergeinfo
. Ak dôjde k zmene akejkoľvek inej vlastnosti, prekrytie sa nepoužije.
Položky, ktoré boli prepnuté na odlišnú cestu úložiska, sú tiež označené značkou (s)
. Možno ste niečo zmenili pri práci na vetve a zabudli ste prepnúť späť na kmeň stromu. Toto pre vás varovný signál! Kontextová ponuka vám ich umožní znova prepnúť späť na normálnu cestu.
V kontextovej ponuke dialógového okna môžete zobraziť rozdiel medzi zmenami. Skontrolujte lokálne zmeny vyrobené vami pomocou → . Overte zmeny úložiska vykonané inými používateľmi použitím → .
Môžete tiež vrátiť zmeny v jednotlivých súboroch. Ak ste súbor omylom odstránili, zobrazí sa ako chýbajúci a môžete použiť Navrátiť pre jeho opätovné navrátenie.
Bezverziové a ignorované súbory odtiaľto môžete poslať do koša použitím Shift pri kliknutí na Odstrániť.
→ . Ak chcete súbory natrvalo odstrániť (obísť odpadkový kôš), pridržte klávesuAk chcete súbor podrobne preskúmať, môžete ho odtiaľ presunúť do inej aplikácie, napríklad do textového editora alebo IDE, alebo môžete kópiu uložiť jednoduchým presunutím do priečinka v Prieskumníku.
Stĺpce sú prispôsobiteľné. Ak kliknite pravým tlačidlom myši v ktorejkoľvek hlavičke stĺpca uvidíte kontextovú ponuku, ktorá vám umožní si vybrať, ktoré stĺpce sa majú zobraziť. Šírku stĺpca môžete tiež zmeniť ťahaním manipulátora, ktorý sa zobrazí, keď presuniete myš nad okraje stĺpca. Tieto prispôsobenia sú zachované, takže nabudúce uvidíte rovnaké hlavičky.
Ak pracujete na niekoľkých nesúvisiacich úlohách naraz, môžete tiež zoskupiť súbory do zoznamov zmien. Pre viac informácií si prečítajte “Zoznamy zmien”.
V dolnej časti dialógového okna vidíte súhrn rozsahu revízií úložiska, ktoré sa používajú vo vašej pracovnej kópii. Toto sú odovzdané, nie aktualizované revízie; predstavujú rozsah revízií naposledy odovzdaných súborov, nie revízie ich aktualizácie. Upozorňujeme, že zobrazený rozsah revízií sa vzťahuje iba na zobrazené položky, nie na celú pracovnú kópiu. Ak chcete vidieť tieto informácie pre celú pracovnú kópiu, musíte skontrolovať Zobraziť neupravené súbory začiarkavacie políčko.
Ak chcete mať plošný prehľad o svojej pracovnej kópii, t. j zobrazovať všetky súbory a priečinky na všetkých úrovniach hierarchie priečinkov, potom dialóg Skontrolovať úpravy je najjednoduchší spôsob, ako to dosiahnuť. Stačí zaškrtnúť políčko Zobraziť neupravené súbory na zobrazenie všetkých súborov vašej pracovnej kópie.
Súbory sa niekedy premenujú mimo Subversion a v zozname súborov sa zobrazia ako chýbajúci súbor a bezverziový súbor. Aby ste predišli strate histórie, musíte o pripojení informovať Subversion. Jednoducho vyberte starý názov (chýbajúci) a nový názov (bezverziový) a použitie
→ spárujete tieto dva súbory ako premenované.Ak ste vytvorili kópiu súboru, ale zabudli ste na to použiť príkaz Subversion, môžete túto kópiu opraviť, aby nový súbor nestratil svoju históriu. Stačí zvoliť starý názov (normálny alebo upravený) a nový názov (bezverziový) a použitím
→ spárovať tieto dva súbory ako kópiu.Často sa chcete nahliadnuť do svojich súborov, aby ste sa pozreli, čo ste zmenili. Môžete to dosiahnuť výberom súboru, ktorý sa zmenil, a výberom položky BASE
) bázovou revíziou, ktorá bola uložená po poslednej overení alebo aktualizácii.
Aj keď nie ste v pracovnej kópii alebo ak máte rozmiestnených viac verzií súboru, stále môžete zobraziť rozdiely:
V prehliadači vyberte dva súbory, ktoré chcete porovnať (napr. použitím Ctrl a myši) a vyberte z kontextovej ponuky TortoiseSVN. Súbor, na ktorý ste klikli naposledy (ten, ktorý je zvýraznený, t. j. bodkovaným obdĺžnikom), sa bude považovať za neskorší.
V ideálnom svete pracujete vždy iba na jednej veci naraz a vaša pracovná kópia obsahuje iba jednu skupinu logických zmien. Dobre, späť do reality. Často sa stáva, že musíte pracovať na niekoľkých nesúvisiacich úlohách naraz a keď sa pozriete do dialógového okna odovzdania, všetky zmeny sú zmiešané dohromady. Funkcia zoznam zmien vám pomôže zoskupiť súbory a uľahčiť vám prehľad o tom, čo robíte. To samozrejme môže fungovať, iba ak sa zmeny neprekrývajú. Ak dve rôzne úlohy ovplyvnia ten istý súbor, neexistuje žiadny spôsob, ako oddeliť zmeny.
Zoznam zmien môžete vidieť na niekoľkých miestach, ale najdôležitejšie sú dialógové okno odovzdania a dialógové okno kontroly zmien. Začneme v dialógovom okne kontroly zmien po dokončení viacerých funkcií a mnohých súborov . Pri prvom otvorení dialógového okna sa zobrazia všetky zmenené súbory. Predpokladajme, že teraz chcete usporiadať veci a zoskupiť tieto súbory podľa funkcie.
Vyberte jeden alebo viac súborov a použite
→ pre pridanie položky do zoznamu zmien. Spočiatku nebudú žiadne zoznamy zmien, takže keď to urobíte prvýkrát, vytvoríte nový zoznam zmien. Priraďte názov, ktorý popisuje, na čo ho používate a kliknite na ikonu . Dialógové okno sa teraz zmení tak, aby zobrazovalo skupiny položiek.Len čo vytvoríte zoznam zmien, môžete do neho presúvať položky z iného zoznamu zmien alebo z Prieskumníka Windows. Presunutie z Prieskumníka môže byť užitočné, pretože vám umožňuje pridať položky do zoznamu zmien pred úpravou súboru. Môžete to urobiť z dialógového okna kontroly zmien, ale iba zobrazením všetkých neupravených súborov.
V dialógovom okne odovzdania môžete vidieť tie isté súbory zoskupené podľa zoznamu zmien. Okrem okamžitej vizuálnej indikácie zoskupenia môžete tiež použitím hlavičiek skupín zvoliť, ktoré súbory sa majú odovzdať.
TortoiseSVN si vyhradzuje pre vlastnú potrebu jeden názov zoznamu zmien, menovite ignore-on-commit
(ignorovať pri odovzdaní). Používa sa na označenie verziových súborov, ktoré takmer nikdy nechcete odovzdať, aj keď majú lokálne zmeny. Táto vlastnosť je popísaná v “Vylúčenie položiek zo zoznamu odovzdania” .
Keď odovzdáte súbory patriace do zoznamu zmien, potom by ste normálne očakávali, že už nebude potrebné začlenenie do zoznamu zmien. Takže predvolene sa súbory zo zoznamov zmien automaticky odstraňujú pri odovzdaní. Ak chcete súbor ponechať v zozname zmien, použite zaškrtávacie políčko Zachovať zoznam zmien v dolnej časti dialógového okna na odovzdanie.
Zoznamy zmien sú čisto lokálnou funkciou klienta. Vytváranie a odstraňovanie zoznamov zmien nebude mať vplyv na úložisko ani na pracovnú kópiu nikoho iného. Je to jednoduchý pohodlný spôsob organizácie súborov.
Upozorňujeme, že ak použijete zoznamy zmien, externé súbory sa už nebudú zobrazovať vo svojich vlastných skupinách. Ak už raz existujú zoznamy zmien, súbory a priečinky sú zoskupené podľa zoznamu zmien, už nie podľa externých zoznamov.
Častejšie, než chceme, je potrebné prestať s tým, na čom ste pracovali a pracovať na niečom inom. Napríklad je potrebné okamžite vyriešiť vážny problém a musíte prestať pracovať na novej funkcii. Pokiaľ je to možné, mali by ste odovzdať zmeny, ktoré ste doteraz vykonali a potom začať pracovať na urgentnom probléme, ale tieto zmeny by často narušili zostavu alebo ešte nie sú pripravené na odovzdanie.
Takže ak ešte nemôžete odovzdať miestne zmeny, musíte ich pri práci na urgentnom probléme odložiť bokom. Funkcia odložiť na policu vám pomôže urobiť presne toto: miestne zmeny môžete odložiť na policu, znova dostať svoju pracovnú kópiu do čistého stavu a pracovať na vydaní. Keď skončíte s urgentným problémom a odovzdáte tieto zmeny, môžete svoju odloženú prácu vybrať z police a znova pokračovať v práci na svojej predošlej úlohe.
Na tento účel sú implementované dva nové príkazy. Jeden pre odloženie na policu a druhý pre výber z police.
Ak chcete uložiť svoje miestne zmeny, vyberte svoju pracovnú kópiu a použite
→ Nasledujúce dialógové okno vám umožní výber súborov na odloženie na policu a ich pomenovanie, pod ktorým ich chcete odložiť.
Ak vyberiete existujúcu policu, vytvorí sa pre ňu nová verzia. Ak zadáte nový názov, pre vybrané súbory sa vytvorí nová polica.
Ak kliknete na tlačiclo
, polica sa vytvorí a súbory pracovnej kópie sa resetujú do čistého stavu. Ak kliknete na tlačidlo , polica sa vytvorí, ale vaše miestne úpravy sa zachovajú.Ak chcete svoje zmeny vybrať z police, použite
→ pre získanie dialógu. Toto dialógové okno zobrazuje zoznam všetkých položiek odložených na policu. Vyberte požadovanú policu a verziu, ktorú chcete použiť späť do svojej pracovnej kópie a kliknite na .Police sú čisto miestnou funkciou klienta. Vytvorenie a odstránenie políc nebude mať vplyv na úložisko ani na pracovnú kópiu nikoho iného.
Funkcia Odložiť na policu je stále označená ako experimentálna
.
To znamená, že aj keď police fungujú tak, ako sú predstavené, stále sú v štádiu, keď sa výrazne pracuje na ich vylepšení. To tiež znamená, že neexistuje žiadna záruka, že police, ktoré vytvoríte, sú kompatibilné smerom nahor a budúce verzie ich možno nebudú vedieť použiť. A samozrejme sa užívateľské rozhranie môže zmeniť aj v budúcich verziách, aby vyhovovalo novým funkciám a správaniu.
Pri každej zmene, ktorú vykonáte a vykonáte, by ste mali uviesť správu záznamu pre túto zmenu. Takto môžete neskôr zistiť, aké zmeny ste vykonali a prečo a máte k dispozícii podrobný záznam svojho vývojového procesu.
Dialógové okno Záznam revízií načíta všetky tieto správy záznamu a zobrazí vám ich. Zobrazenie je rozdelený do 3 panelov.
Horný panel zobrazuje zoznam revízií, v ktorých boli odovzdané zmeny v súbore/priečinku. Tento súhrn obsahuje dátum a čas, osobu, ktorá vykonala revíziu a začiatok správy záznamu.
Riadky zobrazené modrou farbou naznačujú, že niečo bolo skopírované do tejto vývojovej línie (možno z vetvy).
Stredný panel zobrazuje úplnú správu záznamu pre vybranú revíziu.
Spodný panel zobrazuje zoznam všetkých súborov a priečinkov, ktoré boli zmenené ako súčasť vybranej revízie.
Ale robí toho oveľa viac - poskytuje príkazy kontextovej ponuky, ktorými môžete získať ešte viac informácií o histórii projektu.
Existuje niekoľko miest, z ktorých môžete zobraziť dialógové okno Záznamu:
Z kontextovej ponuky TortoiseSVN
Zo stránky vlastností
Z dialógového okna Priebehu po dokončení aktualizácie. Potom sa v dialógovom okne Záznam zobrazia iba tie revízie, ktoré boli zmenené od poslednej aktualizácie
Z prehliadača úložiska
Ak úložisko nie je k dispozícii, zobrazí sa dialógové okno Chcete prejsť do režimu offline? opísané v časti “Režim offline (bez pripojenia)” .
Horný panel má stĺpec Akcie obsahujúci ikony sumarizujúce, čo sa urobilo v danej revízii. Existujú štyri rôzne ikony, z ktorých každá je zobrazená v samostatnom stĺpci.
Ak revízia upravila súbor alebo priečinok, ikona upravenésa zobrazuje v prvom stĺpci.
Ak revízia pridala súbor, alebo priečinok, v druhom stĺpci je zobrazená ikona pridané
.
Ak revízia odstránila súbor alebo priečinok, ikona odstránené je zobrazená v treťom stĺpci.
Ak revízia nahradila súbor alebo priečinok, ikona nahradené je zobrazená vo štvrtom stĺpci.
Ak revízia presunula alebo premenovala súbor alebo priečinok, ikona presunuté je zobrazená vo štvrtom stĺpci.
Ak revízia nahradila súbor alebo priečinok jeho presunutím/premenovaním, ikona nahradené presunuté je zobrazená vo štvrtom stĺpci.
Ak revízia zlúčila súbor alebo priečinok, zlúčené je zobrazená vo štvrtom stĺpci.
Ak revízia opätovne zlúčila súbor alebo priečinok,opätovne zlúčené je zobrazená vo štvrtom stĺpci.
Horný panel dialógového okna Záznamu má kontextovú ponuku, ktoré umožňuje prístup k viacerým informáciám. Niektoré z týchto položiek ponuky sa zobrazia iba vtedy, keď sa zobrazí záznam pre súbor a niektoré iba vtedy, keď sa zobrazí záznam pre priečinok.
Porovná vybranú verziu s pracovnou kópiou. Predvolený nástroj porovnania odlišností je TortoiseMerge, ktorý sa dodáva s TortoiseSVN. Ak sa dialógové okno záznamu týka priečinka, zobrazí sa vám zoznam zmenených súborov a umožní vám skontrolovať zmeny vykonané v každom súbore osobitne.
Vyvodí zodpovednosť vybranej revízie a súboru vo svojej pracovnej báze a porovná správy o zodpovednosti nástrojom vizuálneho porovnania odlišností. Pre viac detailov si prečítajte “Odlišnosti vyvodenia zodpovednosti”. (iba súbory)
Zobrazí zmeny vykonané vo vybranej revízii ako zjednotený diff súbor (formát opravy GNU). Ten ukazuje iba rozdiely v niekoľkých riadkoch kontextu. Je to horšie čitateľné ako pri vizuálnom porovnaní súborov, ale všetky zmeny súborov sa zobrazia spoločne v kompaktnom formáte.
Ak pridržíte Shift po kliknutí na položku ponuky sa najskôr zobrazí dialógové okno, kde môžete nastaviť možnosti pre zjednotené odlišnosti. Medzi tieto možnosti patrí schopnosť ignorovať zmeny v koncoch riadkov a bielych znakoch.
Porovná vybranú revíziu s predošlou revíziou. Funguje to podobným spôsobom ako pri porovnaní s vašou pracovnou kópiou. Pri priečinkoch táto možnosť najskôr zobrazí dialógové okno zmenených súborov, ktoré umožňuje výber súborov na porovnanie.
Zobrazí dialógové okno zmenených súborov, ktoré umožňuje výber súborov. Vyvodí zodpovednosť vybranej a predošlej revízie a porovná výsledky nástrojom vizuálneho porovnania odlišností. (iba priečinky)
Uloží vybranú revíziu do súboru, aby ste mali staršiu verziu tohto súboru. (iba súbory)
Otvorí vybraný súbor buď predvoleným prehliadačom pre daný typ súboru, alebo programom podľa vášho výberu. (iba súbory)
Vyvodí zodpovednosť za súbor až po vybranú revíziu. (iba súbory)
Otvorí prehliadač úložiska a preskúma vybraný súbor alebo priečinok v úložisku tak, ako to bolo pri vybranej revízii.
Vytvorí vetvu alebo príznak z vybranej revízie. To je užitočné napr. ak ste zabudli vytvoriť príznak a už ste vykonali nejaké zmeny, ktoré sa do tohto vydania nemali dostať.
Aktualizuje vašu pracovnú kópiu od vybranej revízie. Užitočné, ak chcete, aby vaša pracovná kópia odzrkadľovala čas v minulosti, alebo ak došlo k ďalším odovzdaniam do úložiska a chcete svoju pracovnú kópiu aktualizovať jednu po druhej. Najlepšie je aktualizovať celý priečinok vo svojej pracovnej kópii, nielen jeden súbor, inak by vaša pracovná kópia mohla byť nekonzistentná.
Ak chcete natrvalo vrátiť staršiu zmenu, namiesto toho použite Vrátiť sa k tejto revízii.
Vráti sa k predošlej revízii. Ak ste vykonali niekoľko zmien a potom sa rozhodnete, že sa chcete skutočne vrátiť k stavu v revízii N, je to príkaz, ktorý potrebujete. Zmeny sú vo vašej pracovnej kópii vrátené, takže táto operácia neovplyvní úložisko, kým zmeny nepotvrdíte. To vráti späť všetky zmeny vykonané po vybranej revízii, ktoré nahradia súbor/priečinok staršou verziou.
Ak je vaša pracovná kópia v nezmenenom stave, po vykonaní tejto akcie sa vaša pracovná kópia zobrazí ako zmenená. Ak už máte lokálne zmeny, tento príkaz zlúči späť zmeny do vašej pracovnej kópie.
Interne sa udeje to, že Subversion vykoná spätné zlúčenie všetkých zmien vykonaných po vybranej revízii, čím zruší účinok týchto predošlých odovzdaní.
Ak sa po vykonaní tejto akcie rozhodnete, že chcete späť vrátené a dostať svoju pracovnú kópiu späť do predošlého neupraveného stavu, mali by ste použiť → z prieskumníka Windows, ktorý zahodí lokálne úpravy vykonané touto akciou spätného zlúčenia.
Ak chcete jednoducho vidieť, ako vyzeral súbor alebo priečinok pri predošlej revízii, namiesto toho použite Aktualizácia od revízie alebo Uložiť revíziu ako....
Vráti späť zmeny, ktoré boli urobené vo vybranej revízii. Zmeny sú vo vašej pracovnej kópii vrátené, takže táto operácia vôbec neovplyvní úložisko! Toto vráti späť zmeny vykonané iba v tejto revízii; pri predošlej revízii nenahradí vašu pracovnú kópiu celým súborom. Je to veľmi užitočné pre navrátenie zmien skoršej zmeny, keď sa odvtedy vykonali ďalšie nesúvisiace zmeny.
Ak je vaša pracovná kópia v nezmenenom stave, po vykonaní tejto akcie sa vaša pracovná kópia zobrazí ako zmenená. Ak už máte lokálne zmeny, tento príkaz zlúči späť zmeny do vašej pracovnej kópie.
Interne sa udeje to, že Subversion vykoná spätné zlúčenie jednej revízie a zruší jej účinok z predošlého odovzdania.
Môžete späť navrátiť ako je opísané vyššie v Vrátiť sa k tejto revízii .
Zlúči vybrané revízie do inej pracovnej kópie. Dialógové okno výberu priečinka vám umožňuje zvoliť pracovnú kópiu, do ktorej sa má zlúčiť, ale potom už nebude dialógové okno odovzdania ani možnosť vyskúšať testovacie zlúčenie. Je dobré zlúčiť sa do neupravenej pracovnej kópie, aby ste mohli zmeny vrátiť, ak to nevyjde! Toto je užitočná funkcia, ak chcete zlúčiť vybrané revízie z jednej vetvy do druhej.
Vo vybranej revízii urobí nové overenie vybraného priečinka. Zobrazí sa dialógové okno, kde môžete potvrdiť adresu URL a revíziu a zvoliť miesto platby.
Exportuje vybratý súbor/priečinok vo vybranej revízii. Zobrazí sa dialógové okno odovzdania pre potvrdenie URL a revízie a vyber umiestnenia na export.
Upraví správu záznamu alebo autora pripojeného k predošlému odovzdaniu. Ako to funguje si prečítajte v časti “Zmena záznamu a autora”.
Prezrie a upraví všetky vlastnosti revízií, nielen správu záznamu a autora. Odkaz na časť “Zmena záznamu a autora” .
Skopíruje podrobnosti záznamu vybraných revízií do schránky. Týmto sa skopíruje číslo revízie, autor, dátum, správa záznamu a zoznam zmenených položiek každej revízie.
Vyhľadá v správach text, ktorý zadáte. Toto prehľadá správy, ktoré ste zadali a tiež súhrny akcií vytvorené klientom Subversion (zobrazené v dolnom paneli). Pri vyhľadávaní sa nerozlišujú veľké a malé písmená.
Táto ponuka sa zobrazí, iba ak je nainštalovaný nástroj na spoluprácu kódov SmartBear. Pri prvom vyvolaní sa zobrazí dialógové okno vyzývajúce užívateľa k zadaniu užívateľských poverení pre spolupracovníka kódu aj pre SVN. Po uložení nastavení sa pri vyvolaní ponuky už dialógové okno s nastaveniami nezobrazí, pokiaľ to užívateľ nepridrží Ctrl počas vykonávania položky ponuky. Konfigurácia a vybrané revízie sa používajú na vyvolanie klienta grafického používateľského rozhrania spolupracovníka kódu, ktorý vytvorí novú recenziu s vybranými revíziami.
Ak vyberiete dve revízie naraz (použitím zvyčajného modifikátora Ctrl), kontextová ponuka sa zmení a poskytne vám menej možností:
Porovná dve vybrané revízie nástrojom na vizuálne porovnanie odlišností. Predvolený nástroj porovnanie odlišností je TortoiseMerge, ktorý sa dodáva s TortoiseSVN.
Ak vyberiete túto možnosť pre priečinok, objaví sa ďalšie dialógové okno so zoznamom zmenených súborov a ponúknutím ďalších možností rozdielov. Prečítajte si viac o dialógovom okne Porovnať revízie v časti “Porovnávanie priečinkov” .
Vyvodí zodpovednosť za dve revízie a porovná správy o zodpovednosti nástroja vizuálneho porovnania odlišností. Pre viac detailov si prečítajte “Odlišnosti vyvodenia zodpovednosti”.
Zobrazí rozdiely medzi dvoma vybranými revíziami ako súbor zjednotených odlišností. Toto funguje pre súbory a priečinky.
Skopírujte správy protokolu do schránky, ako je popísané vyššie.
Vyhľadá správy záznamu, ako je popísané vyššie.
Ak vyberiete dve alebo viac revízií (obvyklými modifikátormi Ctrl alebo Shift), kontextová ponuka bude obsahovať položku Vrátiť všetky zmeny, ktoré boli vykonané vo vybraných revíziách. Toto je najjednoduchší spôsob, ako vrátiť skupinu revízií naraz.
Môžete sa tiež rozhodnúť zlúčiť vybrané revízie do inej pracovnej kópie, ako je opísané vyššie.
Ak majú všetky vybrané revízie rovnakého autora, môžete súčasne upraviť autora všetkých týchto revízií.
Spodný panel dialógového okna Záznamu má tiež kontextovú ponuku, ktorá vám to povolí
Zobrazí zmeny vykonané vo vybranej revízii pre vybraný súbor.
Vyvodí zodpovednosť za vybranú revíziu a predošlú revíziu pre vybraný súbor a porovná správy o zodpovednosti nástroja vizuálneho porovnania odlišností. Pre viac detailov si prečítajte “Odlišnosti vyvodenia zodpovednosti”.
Zobrazí zmeny súborov vo formáte zjednotených odlišností. Táto kontextová ponuka je k dispozícii iba pre súbory zobrazené ako upravené .
Otvorí vybraný súbor buď predvoleným prehliadačom pre daný typ súboru, alebo programom podľa vášho výberu. (iba súbory)
Otvorí dialógové okno Vyvodiť zodpovednosť, ktoré vám umožní vyvodiť zodpovednosť až z vybranej revízie.
Vráti zmeny vykonané vo vybranom súbore od tejto revízie.
Zobrazí vlastnosti Subversion pre vybranú položku.
Zobrazí záznam revízií pre vybraný jeden súbor.
Zobrazí záznam revízií pre vybraný jeden súbor vrátane zlúčených zmien. Viac sa dozviete v časti “Funkcie sledovania zlúčenia” .
Uloží vybranú revíziu do súboru, aby ste mali staršiu verziu tohto súboru.
Exportuje vybrané položky v tejto revízii do priečinka, pričom zachová hierarchiu súborov.
Keď je v dolnom paneli dialógového okna Záznamu vybraných viac súborov, kontextová ponuka sa zmení na nasledovné:
Obrázok 4.23. Dolný panel dialógového okna Záznamu s kontextovou ponukou, keď je vybraných viac súborov.
Uloží vybranú revíziu do súboru, aby ste mali staršiu verziu tohto súboru.
Zobrazí zmeny vykonané vo vybranej revízii pre vybrané súbory. Upozorňujeme, že funkcia prehliadania zmien je vyvolaná viackrát, čo môže viesť k vzniku viacerých kópií vybraného nástroja porovnania odlišností, alebo iba pridá novú kartu porovnania do nástroja porovnania odlišností. Ak ste vybrali viac ako 15 súborov, zobrazí sa výzva na potvrdenie akcie.
Môžete si všimnúť, že niekedy hovoríme o zmenách a inokedy o odlišnostiach. Aký je v tom rozdiel?
Subversion používa čísla revízií, čo znamená 2 rôzne veci. Revízia všeobecne predstavuje stav úložiska v určitom okamihu, ale je možné ju použiť aj na vyjadrenie sústavy zmien, ktorá danú revíziu vytvorila, napr. “hotovo v r1234” znamená to, že zmeny odovzdané v r1234 implementujú funkciu X. Pre objasnenie významu použitia, používame dva rôzne termíny.
Ak vyberiete dve revízie N a M, v kontextovej ponuke sa zobrazí ikona odlišnosti medzi týmito dvoma revíziami. V terminológii Subversion to je diff -r M: N
.
Ak vyberiete jednu revíziu N, v kontextovej ponuke sa zobrazí zmeny v tejto revízii. V terminológii Subversion to je diff -r N-1:N
alebo diff -c N
.
Spodný panel zobrazuje súbory zmenené vo všetkých vybraných revíziách, takže kontextová ponuka vždy ponúka zobrazenie zmeny .
Dialógové okno Záznam nemusí vždy obsahovať všetky zmeny, ktoré boli vykonané z viacerých dôvodov:
Pri veľkom úložisku môžu byť stovky alebo dokonca tisíce zmien a načítanie všetkých môže trvať dlho. Za normálnych okolností vás zaujímajú iba novšie zmeny. Predvolene je počet načítaných správ protokolu obmedzený na 100, ale túto hodnotu môžete zmeniť v ponuke “Nastavenia TortoiseSVN Dialógové okno 1”),
→ (Keď je zaškrtnuté políčko Zastaviť kopírovanie/premenovanie, položka Zobraziť denník sa zastaví v okamihu, keď bol vybraný súbor alebo priečinok skopírovaný odkiaľkoľvek inde v úložisku. To môže byť užitočné pri pohľade na vetvy (alebo príznaky), ktoré sa zastavia pri koreni tejto vetvy a poskytnú rýchlu indikáciu zmien vykonaných iba v tejto vetve.
Za normálnych okolností budete chcieť nechať túto možnosť nezaškrtnutú. TortoiseSVN si pamätá stav zaškrtávacieho políčka, takže bude rešpektovať vaše predvoľby.
Keď je dialógové okno Zobraziť záznam vyvolané z dialógového okna Zlúčiť, políčko je predvolene vždy zaškrtnuté. Je to tak preto, lebo pri zlučovaní sa najčastejšie pozerá na zmeny vo vetvách a návrat späť za koreň pobočky nemá v takom prípade zmysel.
Upozorňujeme, že Subversion v súčasnosti implementuje premenovanie na dvojicu kopírovať/odstrániť, takže premenovanie súboru alebo priečinka tiež spôsobí zastavenie zobrazenia záznamu, ak je táto možnosť zaškrtnutá.
Ak chcete vidieť viac správ záznamu, kliknite na ikonu
pre načítanie ďalších 100 správ záznamu. Môžete to opakovať toľkokrát, koľkokrát je potrebné.Vedľa tohto tlačidla je multifunkčné tlačidlo, ktoré si pamätá poslednú možnosť, ktorú ste použili. Kliknutím na šípku zobrazíte ďalšie ponúkané možnosti.
Použite
ak si chcete prezrieť konkrétny rozsah revízií. Dialógové okno vás potom vyzve na zadanie začiatočnej a konečnej revízie.Použite všetky správy záznamu HEAD hneď späť od revízie 1.
ak chcete vidieťAk chcete aktualizovať najnovšiu verziu pre prípad, že by v otvorenom dialógovom okne záznamu boli nejaké ďalšie odovzdania, stlačte klávesu F5.
Ak chcete obnoviť zásobník záznamu, stlačte klávesy Ctrl-F5.
Pretože dialógové okno protokolu zobrazuje protokol z HEAD, nie z aktuálnej revízie pracovnej kópie, často sa stáva, že sa zobrazia správy záznamu pre obsah, ktorý ešte nebol vo vašej pracovnej kópii aktualizovaný. Aby sme to sprehľadnili, správa o odovzdaní, ktorá zodpovedá revízii, ktorú máte v pracovnej kópii, je zobrazená tučným písmom.
Keď zobrazíte záznam pre priečinok, zvýraznená revízia je najvyššou revíziou, ktorá sa kdekoľvek v danom priečinku nachádza, čo si vyžaduje prehľadanie pracovnej kópie. Indexové prehľadávanie prebieha v samostatnom vlákne, aby sa oneskorilo zobrazovanie protokolu, ale výsledné zvýraznenie priečinkov sa nemusí zobraziť okamžite.
Subversion 1.5 a novší vedie záznamy o zlúčení použitím vlastností. To nám umožňuje získať podrobnejšiu históriu zlúčených zmien. Napríklad ak vyvíjate novú funkciu na pobočke a potom zlúčite túto vetvu späť do kmeňa, vývoj funkcie sa zobrazí v protokole kmeňa ako jediné odovzdanie pre zlúčenie, aj keď počas vývoja vetvy mohlo byť 1 000 odovzdaní .
Ak chcete vidieť podrobnosti o tom, ktoré revízie boli zlúčené ako súčasť tohto odovzdania, použite zaškrtávacie políčko Zahrnúť zlúčené revízie. Týmto sa správy záznamu znova načítajú, ale tiež sa budú prekladať správy záznamu z revízií, ktoré boli zlúčené. Zlúčené revízie sú zobrazené sivou farbou, pretože predstavujú zmeny vykonané v inej časti stromu.
Zlučovanie samozrejme nikdy nie je jednoduché! Počas vývoja funkcií na vetve pravdepodobne dôjde k občasnému zlúčeniu späť z kmeňa, aby sa pobočka udržala synchronizovaná s kódom hlavnej línie. História zlúčenia vetvy teda bude obsahovať aj ďalšiu vrstvu histórie zlúčenia. Tieto rôzne vrstvy sa zobrazujú v dialógovom okne záznamu použitím úrovní odsadenia.
Vlastnosti revízií sú úplne odlišné od vlastností Subversion každej položky. Revprops sú popisné položky, ktoré sú spojené s jedným konkrétnym číslom revízie v úložisku, ako napríklad správa záznamu, dátum odovzdania a meno odovzdávajúceho (autor).
Niekedy možno budete chcieť zmeniť správu, ktorú ste už raz zadali, možno preto, že sa v nej nachádza pravopisná chyba, alebo chcete správu vylepšiť alebo zmeniť z iných dôvodov. Alebo chcete zmeniť autora potvrdenia, pretože ste zabudli nastaviť autentifikáciu alebo...
Subversion vám umožňuje kedykoľvek zmeniť vlastnosti revízie. Ale keďže také zmeny nie je možné vrátiť späť (tieto zmeny nemajú verziu), táto funkcia je v predvolenom nastavení zakázaná. Aby to fungovalo, musíte nastaviť pre-revprop-change hák. Prečítajte si kapitolu Skripty háku v knihe Subversion Book, kde nájdete podrobnosti o tom, ako to urobiť. Prečítajte si “Skripty háku na strane servera” pre nájdenie ďalších poznámok k implementácii hákov na počítači so systémom Windows.
Po nastavení servera požadovanými háčikmi môžete zmeniť autora a správu protokolu (alebo akúkoľvek inú revprop) akejkoľvek revízie pomocou kontextovej ponuky na hornom paneli dialógového okna Protokol. Protokolovú správu môžete tiež upraviť pomocou kontextovej ponuky na strednom paneli.
Pretože vlastnosti revízie Subversion nie sú upravené verziou, je potrebné vykonať úpravy tejto vlastnosti (napríklad svn:log
vlastnosť správy odovzdania) prepíše predchádzajúcu navždy hodnotu tejto vlastnosti.
Pretože TortoiseSVN uchováva zásobník všetkých informácií záznamu, úpravy vykonané pre správy autora a správy záznamu sa zobrazia iba vo vašej miestnej inštalácii. Ostatní používatelia používajúci TortoiseSVN uvidia (starých) autorov v archíve a správy záznamu, kým neobnovia zásobník záznamu. Vzťahuje sa k “Obnova pohľadu”
Ak chcete obmedziť zobrazovanie správ záznamu iba na tie, ktoré vás zaujímajú a neprechádzať stovkami zoznamov, môžete použiť riadiace filtre v hornej časti dialógového okna Záznam. Riadenie dátumu začatia a ukončenia umožňujú obmedziť výstup na známy rozsah dátumov. Vyhľadávacie pole umožňuje zobraziť iba správy, ktoré obsahujú konkrétnu frázu.
Kliknutím na ikonu vyhľadávania vyberte, v ktorých informáciách chcete hľadať a vyberte režim regulárneho výrazu. Spravidla budete potrebovať iba jednoduché hľadanie čiastkových reťazcov, ale ak potrebujete flexibilnejšie vyhľadávať výrazy, môžete použiť regulárne výrazy. Ak umiestnite kurzor myši nad rámček, popis nástroja poskytne tipy, ako používať funkcie regulárneho výrazu alebo funkcie podreťazca. Filter funguje tak, že kontroluje, či sa váš reťazec filtra zhoduje s položkami záznamu a potom iba s tými, ktoré sa zhodujú so zobrazeným reťazcom filtra.
Jednoduché vyhľadávanie čiastkových reťazcov funguje podobným spôsobom ako mechanizmus vyhľadávania. Reťazce, ktoré chcete vyhľadať, sú oddelené medzerami a všetky reťazce sa musia zhodovať. Môžete použiť vpredu znak -
na určenie, že konkrétny podreťazec nebol nájdený (invertovať zhodu pre tento výraz) a môžete použiť znak !
na začiatku výrazu pre invertovanie zhody celého výrazu. Môžete použiť vpredu znak +
pre určenie zahrnutia čiastkového reťazca, aj keď bol predtým vylúčený znakom -
. Upozorňujeme, že poradie zahrnutia/vylúčenia je tu významné. Môžete použiť úvodzovky na obklopenie reťazca, ktorý musí obsahovať medzery a ak chcete vyhľadať doslovné úvodzovky, môžete použiť ako úvodzovku dve úvodzovky. Všimnite si, že znak spätnej lomky nie je používaný ako únikový znak a nemá žiadny zvláštny význam pri jednoduchom vyhľadávaní čiastkových reťazcov. Príklady na objasnenie:
Alica Bob -Eva
vyhľadá reťazce obsahujúce Alica aj Bob, ale nie Eva
Alica -Bob +Eva
vyhľadá reťazce, ktoré obsahujú Alica, ale nie Bob, alebo reťazce, ktoré obsahujú Eva.
-Case +SpecialCase
vyhľadá reťazce, ktoré neobsahujú veľké a malé písmená, ale stále obsahujú reťazce, ktoré obsahujú špeciálne písmená.
! Alica Bob
vyhľadá reťazce, ktoré neobsahujú Alica ani Bob
! -Alica -Bob
pamätáš si De Morganovu vetu? NOT (NOT Alice AND NOT Bob) sa redukuje na (Alice OR Bob).
„Alica a Bob“
hľadá doslovný výraz“Alica a Bob”
""
hľadá kdekoľvek v texte dvojité úvodzovky
"Alica hovorí Bobovi ""ahoj"
hľadá doslovný výraz“Alica hovorí Bobovi "ahoj"” .
Opis použitia vyhľadávania použitím regulárneho výrazu je nad rámec tejto príručky, ale online dokumentáciu a návod nájdete na stránke http://www.regular-expressions.info/.
Upozorňujeme, že tieto filtre pôsobia na už načítané správy. Nekontrolujú sťahovanie správ z úložiska.
Môžete tiež filtrovať názvy ciest v dolnom paneli použitím zaškrtávacieho políčka Zobraziť iba ovplyvnené cesty. Budú ovplyvnené tie cesty, ktoré obsahujú cestu použitú na zobrazenie záznamu. Ak načítate záznam pre priečinok, znamená to čokoľvek v tomto priečinku alebo v ňom. Pre súbor to znamená iba jeden súbor. Zoznam ciest zvyčajne zobrazuje všetky ďalšie cesty, ktoré sú ovplyvnené rovnakým odovzdaním, ale sivou farbou. Ak je políčko zaškrtnuté, tieto cesty sú skryté.
Niekedy vaše pracovné postupy budú vyžadovať, aby sa správy záznamu riadili konkrétnym formátom, čo znamená, že text popisujúci zmeny nie je viditeľný v skrátenom súhrne zobrazenom na hornom paneli. Vlastnosť tsvn: logsummary
možno použiť na extrakciu časti správy záznamu, ktorá sa má zobraziť v hornom paneli. Ako zistiť túto vlastnosť si prečítajte v časti “Vlastnosti projektu TortoiseSVN”.
Pretože formátovanie závisí od prístupu k vlastnostiam Subversion, výsledky sa zobrazia iba pri použití overenej pracovnej kópie. Načítanie vlastností na diaľku je pomalá operácia, takže túto funkciu v akcii prehliadača úložiska neuvidíte.
Tlačidlo
zobrazí okno so zaujímavými informáciami o revíziách zobrazených v dialógovom okne Záznam. To ukazuje, koľko autorov na tom pracovalo, koľko odovzdaní urobili, priebeh za týždeň a oveľa viac. Teraz môžete na prvý pohľad vidieť, kto pracoval najtvrdšie a kto sa flákal ;-)Na tejto stránke nájdete všetky čísla, na ktoré si spomeniete, najmä periódu a počet zahrnutých revízií a niektoré minimálne/maximálne/priemerné hodnoty.
Tento graf ukazuje, ktorí autori boli na projekte aktívni, ako jednoduchý histogram, skladaný histogram alebo koláčový graf.
Ak je niekoľko významných autorov a mnoho menších prispievateľov, počet drobných segmentov môže sťažiť čítanie grafu. Posuvník v dolnej časti umožňuje nastaviť hranicu (aké percento z celkových odovzdaní), pod ktorou je akákoľvek aktivita zoskupená do kategórie Ostatné.
Táto stránka poskytuje grafické znázornenie projektovej činnosti z hľadiska počtu odovzdaní a autora. Toto poskytuje určitú predstavu o tom, odkedy sa na projekte pracuje a kto kedy pracoval.
Ak je niekoľko autorov, v grafe sa zobrazí veľa riadkov. Tu sú k dispozícii dva zobrazenia: normálne, kde aktivita každého autora je relatívna k základnej línii, a stohované, kde aktivita každého autora je relatívna k línii pod ním. Druhá možnosť zabráni prekríženiu riadkov, čo môže uľahčiť čítanie grafu, ale menej dobre vidieť výstup jedného autora.
V predvolenom nastavení sa v analýze rozlišujú veľké a malé písmená, takže sa jedná o používateľov PeterEgan
a PeteRegan
sú považovaní za rôznych autorov. V mnohých prípadoch však používateľské mená nerozlišujú veľké a malé písmená a niekedy sa zadávajú nekonzistentne, takže možno budete chcieť autorom DavidMorgan
a davidmorgan
zaobchádzať ako s rovnakou osobou. Použite zaškrtávacie políčko Nerozlišovať veľké a malé písmená autorov na riadenie, ako sa s nimi zaobchádza.
Štatistiky sa týkajú rovnakého obdobia ako dialógové okno Záznam. Ak sa zobrazuje iba jedna revízia, štatistika vám toho veľa nepovie.
Ak server nie je dosiahnuteľný a máte povolené ukladanie do záznamu, môžete použiť dialógové okno a graf revízií v režime offline. Využíva sa na pre údaje zo zásobníka, ktoré vám umožňujú pokračovať v práci, aj keď informácie nemusia byť aktuálne alebo dokonca úplné.
Tu máte tri možnosti:
Vykoná aktuálnu operáciu v režime bez pripojenia, ale skúsi to s úložiskom znova nabudúce, keď budú požadované údaje záznamu.
Zostáva v režime bez pripojenia, kým nie je výslovne požadovaná kontrola úložiska. Pozrite si časť “Obnova pohľadu”.
Ak nechcete pokračovať v operácii s možnými zastaralými údajmi, jednoducho ich zrušte.
Zaškrtnutím políčka Nastaviť ako predvolené zabránite opätovnému zobrazeniu tohto dialógového okna a vždy vyberie ďalšiu možnosť vami vyberanú. Stále môžete predvolené nastavenie zmeniť (alebo odstrániť) aj keď to urobíte z ponuky → .
Ak chcete znova overiť, či server neobsahuje novšie správy záznamu, môžete zobrazenie jednoducho obnoviť použitím klávesy F5. Ak používate zásobník záznamu (predvolene povolené), skontrolujú sa tým v úložisku novšie správy a načítajú sa iba nové správy. Ak bol zásobník záznamu v režime bez pripojenia, pokúsi sa tiež vrátiť späť po pripojení.
Ak používate zásobník záznamu a myslíte si, že sa obsah správy alebo autor mohli zmeniť, môžete použiť klávesy Shift-F5 alebo Ctrl-F5 pre opätovné načítanie zobrazených správ zo servera a aktualizovať zásobník záznamov. Upozorňujeme, že to ovplyvní iba aktuálne zobrazené správy a nevyvolá to neplatnosť celého zásobníka daného úložiska.
Jednou z najbežnejších požiadaviek pri vývoji projektu je zistiť, čo sa zmenilo. Možno budete chcieť pozrieť sa na odlišnosti medzi dvoma revíziami toho istého súboru alebo na odlišnosti medzi dvoma samostatnými súbormi. TortoiseSVN poskytuje zabudovaný nástroj s názvom TortoiseMerge na prezeranie odlišností textových súborov. Pre prehliadanie odlišností v obrazových súboroch má TortoiseSVN aj pomenovaný nástroj TortoiseIDiff. Ak chcete, môžete samozrejme použiť svoj vlastný obľúbený program porovnania odlišností.
Ak chcete vidieť, čo ste zmenili vy vo svojej pracovnej kópii, stačí použiť kontextovú ponuku prieskumníka a zvoliť → .
Ak chcete vidieť, čo sa zmenilo na kmeni (ak pracujete na vetve) alebo na konkrétnej vetve (ak pracujete na kmeni), môžete použiť kontextovú ponuku prieskumníka. Stačí pridržať Shift pri kliknutí pravým tlačidlom myši na súbor. Potom vyberte → . V nasledujúcom dialógovom okne zadajte adresu URL v úložisku, s ktorou chcete porovnať lokálny súbor.
Môžete tiež použiť prehľadávač úložiska a vybrať dva stromy na porovnanie odlišností, prípadne dva príznaky, alebo vetvu/príznak a kmeň stromu. Kontextová ponuka vám umožňuje ich porovnanie použitím “Porovnávanie priečinkov” .
. Prečítajte si viac v častiAk chcete vidieť rozdiel medzi konkrétnou revíziou a pracovnou kópiou, použite dialógové okno Záznam revízií, vyberte požadovanú revíziu a potom vyberte z kontextovej ponuky
.Ak chcete vidieť rozdiel medzi poslednou odovzdanou revíziou a vašou pracovnou kópiou, za predpokladu, že pracovná kópia nebola upravená, stačí kliknúť pravým tlačidlom myši na súbor. Potom vyberte ponuku
→ . Toto porovná odlišnosti medzi revíziou pred dátumom posledného odovzdania (ako je zaznamenané vo vašej pracovnej kópii) a pracovnou bázou (BASE). Zobrazuje sa posledná zmena vykonaná v danom súbore, ktorá ho uvedie do stavu, v akom sa teraz zobrazuje vo vašej pracovnej kópii. Nezobrazia sa zmeny novšie ako vaša pracovná kópia.Ak chcete vidieť rozdiel medzi dvoma revíziami, ktoré sú už odovzdané, použite dialógové okno Záznam revízií a vyberte dve revízie, ktoré chcete porovnať (použitím obvyklého modifikátora - Ctrl). Potom vyberte z kontextovej ponuky .
Ak ste to urobili z protokolu revízií pre priečinok, zobrazí sa dialógové okno Porovnať revízie so zoznamom zmenených súborov v danom priečinku. Prečítajte si viac v časti “Porovnávanie priečinkov”.
Ak chcete vidieť zmeny vykonané vo všetkých súboroch v konkrétnej revízii v jednom zobrazení, môžete použiť výstup Zjednotené odlišnosti (formát opravnej záplaty GNU). To ukazuje iba rozdiely v niekoľkých riadkoch kontextu. Je ťažšie čitateľný ako vizuálne porovnanie súboru, ale všetky zmeny sa zobrazia spolu. V dialógovom okne Protokol revízií vyberte požadovanú revíziu a vyberte z kontextovej ponuky
.Ak chcete vidieť odlišnosti medzi dvoma rôznymi súbormi, môžete to urobiť priamo v prehliadači výberom oboch súborov (obvyklým spôsobom) modifikátorom - Ctrl). Potom z kontextovej ponuky prieskumníka vyberte → .
Ak sa porovnávané súbory nenachádzajú v rovnakom priečinku, použite príkaz Ctrl pri kliknutí na neho.
→ označte prvý súbor na porovnanie, potom vyhľadajte druhý súbor a použite → . Označený súbor odstránite opätovným použitím príkazu → , ale s pridržaným tlačidlom modifikátora -Ak chcete vidieť rozdiely medzi súborom v pracovnej kópii a súborom v ľubovoľnom úložisku Subversion, môžete to urobiť priamo v prieskumníkovi výberom súboru a následným pridržaním Shift pri kliknutí pravým tlačidlom na získanie kontextovej ponuky. Vyberte ponuku → . To isté môžete urobiť pre priečinok s funkčnou kópiou. TortoiseMerge zobrazuje tieto rozdiely rovnakým spôsobom, ako zobrazuje súbor opravy - zoznam zmenených súborov, ktoré môžete zobraziť jeden po druhom.
Ak chcete vidieť nielen rozdiely, ale aj autora, revíziu a dátum vykonania zmien, môžete kombinovať správy o rozdieloch a vyvodení zodpovednosti z dialógového okna záznamu revízií. Pre viac detailov si prečítajte časť “Odlišnosti vyvodenia zodpovednosti”.
Vstavané nástroje dodávané s TortoiseSVN nepodporujú zobrazovanie rozdielov medzi hierarchiami priečinkov. Ale ak máte externý nástroj, ktorý túto funkciu podporuje, môžete ho namiesto toho použiť. V časti “Externé nástroje na porovnanie odlišností/zlúčenie” vám povieme o niektorých nástrojoch, ktoré sme použili.
Ak ste nakonfigurovali rozdielny nástroj tretej strany, môžete použiť Shift pri výbere príkazu Porovnať odlišnosti pre použitie alternatívneho nástroja. O konfigurácii ďalších nástrojov na porovnanie odlišností sa dozviete viac prečítaním časti “Nastavenie Externé programy”.
Niekedy v počas práce na projekte môžete zmeniť zakončenie riadku CRLF
na LF
, alebo môžete zmeniť odsadenie časti. Toto však bohužiaľ označí veľký počet riadkov ako zmenené, aj keď sa význam kódu nezmení. Tieto možnosti pomôžu zvládnuť tieto zmeny, pokiaľ ide o porovnanie a použitie odlišností. Tieto nastavenia uvidíte v priečinku v dialógových oknách Zlúčiť a Vyvodiť zodpovednosť, ako aj v nastaveniach pre TortoiseMerge.
Ignorovať konce riadkov vylúči zmeny, ktoré sú spôsobené iba odlišnosťou v štýle konca riadku.
Porovnať biele znaky zahrnie všetky zmeny v odsadení a vložených medzerách ako pridané/odstránené riadky.
Ignorovať zmeny bielych znakov vylúči zmeny, ktoré sú spôsobené výhradne zmenou množstva alebo typu bielych znakov, napríklad zmenou odsadenia alebo zmenou tabelátorov na medzery. Pridanie bieleho znaku tam, kde predtým nebol, alebo úplné odstránenie bieleho znaku sa stále zobrazuje ako zmena.
Ignorovať všetky biele znaky vylúči všetky zmeny týkajúce sa iba bielych znakov.
Prirodzene, každý riadok so zmeneným obsahom je vždy zahrnutý do odlišnosti.
Keď v prehliadači úložiska vyberiete dva stromy alebo keď v dialógovom okne záznamu vyberiete dve revízie priečinka, môžete použiť → .
Toto dialógové okno zobrazuje zoznam všetkých súborov, ktoré sa zmenili a umožňuje vám ich porovnávať alebo vyvodiť zodpovednosť jednotlivo použitím kontextovej ponuky.
Môžete exportovať zmeny stromu, čo je užitočné, ak potrebujete niekomu inému poslať svoju stromovú štruktúru projektu, ktorá obsahuje iba zmenené súbory. Táto operácia funguje iba s vybranými súbormi, takže musíte vybrať súbory, ktoré vás zaujímajú - zvyčajne to znamená všetky - a potom → . Zobrazí sa výzva na zadanie umiestnenia na uloženie zmien stromu.
Môžete tiež exportovať zoznam zmenených súborov na textový súbor použitím → .
Ak chcete exportovať zoznam súborov a akcie (upravené, pridané, odstránené) tiež, môžete to urobiť použitím → .
Tlačidlo v hornej časti vám umožňuje zmeniť smer porovnávania. Môžete si zobraziť, aké zmeny je potrebné dostať z bodu A do bodu B, alebo ak chcete, z bodu B do bodu A.
Tlačidlá so zapnutými číslami revízií je možné použiť na zmenu iného rozsahu revízií. Keď zmeníte rozsah, automaticky sa aktualizuje zoznam položiek, ktoré sa medzi týmito dvoma revíziami líšia.
Ak je zoznam názvov súborov veľmi dlhý, môžete použitím vyhľadávacieho poľa zmenšiť zoznam na názvy súborov, ktoré obsahujú konkrétny text. Upozorňujeme, že sa používa jednoduché textové vyhľadávanie, takže ak chcete obmedziť zoznam na zdrojové súbory C, mali by ste ich zadať .c
radšej než * .c
.
Existuje mnoho dostupných nástrojov na porovnanie odlišností textových súborov, vrátane nášho vlastného TortoiseMerge, ale často zisťujeme, že chceme vidieť, ako sa zmenil aj obrazový súbor. Preto sme vytvorili TortoiseIDiff.
→ pre ktorýkoľvek z bežných formátov súborov obrázkov začne TortoiseIDiff zobrazovať odlišnosti v obrázku. V predvolenom nastavení sa obrázky zobrazujú vedľa seba, ale použitím ponuky Zobraziť alebo na paneli nástrojov môžete namiesto toho prepnúť na zobrazenie zhora nadol. Ak chcete, môžete obrázky prekryť a predstierať, že používate svetelnú skrinku.
Prirodzene môžete obrázok aj priblížiť, oddialiť a posúvať okolo. Obrázok môžete tiež jednoducho posúvať ťahaním doľava. Ak vyberiete možnosť Vzájomne prepojiť obrázky, potom sú prepojené ovládacie prvky posuvu (posuvníky, koliesko myši) na oboch obrázkoch.
Informačné pole s obrázkom zobrazuje podrobnosti o obrázkovom súbore, napríklad veľkosť v pixeloch, rozlíšenie a farebnú hĺbku. Ak vám toto políčko prekáža, použite
→ pre jeho skrytie. Rovnaké informácie môžete získať v popise nástroja, ak umiestnite kurzor myši na záhlavie obrázka.Keď sú obrázky prekryté, relatívna intenzita obrázkov (alfa zmiešavanie) sa ovláda posuvníkom na ľavej strane. Kliknutím kdekoľvek v posuvníku nastavíte zmiešavanie priamo, alebo môžete pretiahnutím posuvníkom interaktívne zmeniť zmiešavanie. Ctrl+Shift-koliesko zmení zmiešavanie.
Tlačidlo nad posuvníkom prepína medzi 0 % a 100% zmiešaním. Ak na tlačidlo kliknete dvakrát, zmiešavanie sa prepne automaticky každú sekundu, kým na tlačidlo znova nekliknete. To môže byť užitočné pri hľadaní viacerých malých zmien.
Niekedy chcete vidieť skôr odlišnosť ako zmiešanie. Možno máte obrazové súbory pre dve verzie dosky s plošnými spojmi a chcete zistiť, ktoré stopy sa zmenili. Ak deaktivujete režim miešania alfa kanálov, rozdiel sa zobrazí ako XOR hodnôt farieb pixelov. Nezmenené oblasti budú obyčajne biele a zmeny budú sfarbené.
Ak chcete porovnať odlišnosti netextových dokumentov, musíte zvyčajne použiť softvér použitý na vytvorenie dokumentu, ktorý rozumie formátu súboru. Pre bežne používané sústavy Microsoft Office a Open Office existuje určitá podpora odlišností v prezeraní a TortoiseSVN obsahuje skripty, ktoré ich pri správnom nastavení vyvolávajú pri správnych nastaveniach, keď porovnávate odlišnosti súborov so známymi príponami. Na stránke môžete skontrolovať, ktoré prípony súborov sú podporované a pridať svoje vlastné Externé programy.
→ a kliknutím na v sekciiAk ste nainštalovali Klikni a spusti verzie balíka Office 2010 a pri pokuse o porovnanie odlišností dokumentov sa môžete zobraziť chybové hlásenie od hostiteľa Windows Script Host, napríklad takéto: “Komponent ActiveX nemôže vytvoriť objekt: word.Application”. Zdá sa, že na získanie funkcie rozdielu musíte použiť verziu balíka Office založenú na MSI.
Ak nástroje, ktoré poskytujeme, nerobia to, čo potrebujete, vyskúšajte ďalší z mnohých dostupných s otvoreným zdrojom alebo komerčných programov. Každý má svojich favoritov a tento zoznam nie je v žiadnom prípade úplný, ale tu je niekoľko, nad ktorými by ste mohli uzvažovať:
WinMerge je vynikajúci nástroj na porovnávanie s otvoreným zdrojom, ktorý zvláda aj priečinky.
Perforce je komerčný RCS, ale môžete si zadarmo stiahnuť nástroj porovnanie odlišností/zlúčenie. Získajte viac informácií zo stránky Perforce .
KDiff3 je bezplatný nástroj na porovnávanie, ktorý dokáže spracovať aj priečinky. Môžete si ho stiahnuť tu .
SourceGear Vault je komerčný RCS, ale môžete si zadarmo stiahnuť nástroj na porovnanie odlišností/zlúčenie. Získajte viac informácií na stránke SourceGear .
ExamDiff Standard je freeware. Dokáže spracovať súbory, ale nie priečinky. ExamDiff Pro je shareware a pridáva množstvo vylepšení vrátane porovnania odlišností priečinkov a schopnosti úprav. V oboch činnostiach verzia 3.2 a vyššia zvládne kódovanie Unicode. Môžete si ich stiahnuť zo stránky PrestoSoft .
Podobne ako ExamDiff Pro, je to vynikajúci shareware nástroj na porovnanie odlišností, ktorý dokáže spracovať odlišnosti priečinkov a Unicode. Stiahnite si ho zo stránky Scooter Software .
Araxis Merge je užitočný komerčný nástroj na porovnanie odlišností a zlúčenie súborov aj priečinkov. Vykonáva trojcestné porovnanie pri zlúčení a má synchronizačné odkazy, ktoré sa dajú použiť, ak ste zmenili poradie funkcií. Stiahnite si ho zo stránky Araxis .
Informácie o tom, ako nastaviť TortoiseSVN na používanie týchto nástrojov si prečítajte v časti “Nastavenie Externé programy”.
Ak ste počas procesu vývoja vytvorili nové súbory alebo priečinky, musíte ich tiež pridať do správy zdrojov. Vyberte súbor(y) a/alebo priečinok a použite → .
Po pridaní súborov/priečinkov do správy zdroja sa súbor zobrazí s ikonou prekrytia pridané
, čo znamená, že najskôr musíte odovzdať svoju pracovnú kópiu, aby ste tieto súbory/priečinky sprístupnili ďalším vývojárom. Pridanie súboru/priečinka neovplyvní úložisko!
Príkaz Pridať môžete použiť aj na verziové priečinky. V takom prípade sa v dialógovom okne pridania zobrazia všetky bezverziové súbory v danom verziovom priečinku. To pomáha, ak máte veľa nových súborov a potrebujete ich pridať naraz.
Ak chcete pridať súbory mimo svojej pracovnej kópie, môžete použiť manipulátor ťahaj a pusť:
vyberte súbory, ktoré chcete pridať
ťahajte so stlačeným pravým tlačidlom na nové miesto vo vnútri pracovnej kópie
uvoľnite pravé tlačidlo myši
vyberte
→ . Súbory sa potom skopírujú do pracovnej kópie a pridajú sa do správy verzií.Súbory môžete tiež pridať do pracovnej kópie jednoduchým pretiahnutím dolu do dialógového okna odovzdania.
Ak omylom pridáte súbor alebo priečinok, môžete ich vrátiť späť pred použitím
→ .Často sa stáva, že už máte v úložisku súbory, ktoré potrebujete v inom projekte a jednoducho ich chcete skopírovať. Súbory môžete jednoducho skopírovať a pridať, ale aby vám to neprinieslo žiadnu históriu. A ak následne opravíte chybu v pôvodných súboroch, môžete opravu automaticky zlúčiť, iba ak nová kópia súvisí s originálom v Subversion.
Najjednoduchší spôsob kopírovania súborov a priečinkov z pracovnej kópie je použitie ponuky pri ťahaní so stlačeným pravým tlačidlom myši. Keď ťaháte so stlačeným pravým tlačidlom myši súbor alebo priečinok z jednej pracovnej kópie do druhej alebo dokonca v rovnakom priečinku, po uvoľnení myši sa zobrazí kontextová ponuka.
Teraz môžete skopírovať existujúci verziový obsah na nové miesto a prípadne ho súčasne premenovať.
Verziové súbory môžete tiež kopírovať alebo presúvať v rámci pracovnej kópie alebo medzi dvoma pracovnými kópiami známou metódou vystrihnúť a prilepiť. Používajte štandardný príkaz Windows Kopírovať alebo Vystrihnúť pre skopírovanie jednej alebo viacerých verziových položiek do schránky. Ak schránka obsahuje také verziové položky, môžete použiť → (poznámka: nejde o štandardný príkaz Windows Prilepiť), aby ste tieto položky skopírovali alebo presunuli na nové miesto pracovnej kópie.
Súbory a priečinky môžete z pracovnej kópie kopírovať do iného umiestnenia v úložisku použitím “Vytvorenie vetvy / príznaku”.
→ . Viac nájdete v častiV dialógovom okne záznamu môžete vyhľadať staršiu verziu súboru alebo priečinka a skopírovať ju na nové miesto v úložisku priamo z dialógového okna protokolu použitím “Získanie prídavných informácií”.
→ . Viac nájdete v častiMôžete tiež použiť prehľadávač úložiska na vyhľadanie požadovaného obsahu a skopírovať ho do svojej pracovnej kópie priamo z úložiska alebo skopírovať medzi dvoma umiestneniami v úložisku. Viac nájdete v časti “Prehliadač úložiska”.
Zatiaľ čo môžete kopírovať alebo presúvať súbory a priečinky v rámci úložiska, nemôžete kopírovať alebo presúvať z jedného úložiska do druhého pri zachovaní histórie pomocou TortoiseSVN. Ani v prípade, že úložiská žijú na rovnakom serveri. Všetko, čo môžete urobiť, je skopírovať obsah jeho aktuálneho stavu a pridať ho ako nový obsah do druhého úložiska.
Ak si nie ste istí, či dve adresy URL na rovnakom serveri odkazujú na rovnaké alebo odlišné úložiská, použitím prehliadača úložiska otvorte jednu adresu URL a zistite, kde je koreň úložiska. Ak vidíte obe umiestnenia v jednom okne prehliadača úložiska, sú v rovnakom úložisku.
Vo väčšine projektov budete mať súbory a priečinky, ktoré by nemali podliehať správe verzií. Môžu to byť súbory vytvorené kompilátorom, *.obj, *.lst
, možno výstupný priečinok používaný na uloženie spustiteľného súboru. Kedykoľvek vykonáte zmeny, TortoiseSVN zobrazí vaše bezverziové súbory, ktoré vyplnia zoznam súborov v dialógovom okne odovzdania. Toto zobrazenie môžete samozrejme vypnúť, ale potom môžete zabudnúť pridať nový zdrojový súbor.
Najlepším spôsobom, ako sa vyhnúť týmto problémom, je pridať odvodené súbory do zoznamu ignorovaných projektov. Takto sa nikdy nezobrazia v dialógovom okne odovzdania, ale skutočné zdrojové bezverziové súbory budú stále označené.
Ak kliknete pravým tlačidlom myši na jeden z bezverziových súborov a vyberiete príkaz z kontextovej ponuky → zobrazí sa podponuka, ktorá vám umožní vybrať iba tento súbor alebo všetky súbory s rovnakou príponou. Obidve podponuky majú tiež ekvivalent (rekurzívne)
. Ak vyberiete viac súborov, neexistuje žiadna podponuka a môžete pridať iba tieto konkrétne súbory/priečinky.
Ak sa rozhodnete (rekurzívnu)
verziu kontextovej ponuky ignorovať, bude položka ignorovaná nielen pre vybraný priečinok, ale aj pre všetky podpriečinky. Toto si však vyžaduje klientov SVN verzie 1.8 alebo vyššej.
Ak chcete odstrániť jednu alebo viac položiek zo zoznamu ignorovaných, kliknite pravým tlačidlom myši na tieto položky a vyberte → Môžete tiež získať prístup k vlastnosti priečinka svn:ignore
priamo. To vám umožní určiť všeobecnejšie vzory použitím zovšeobecnením súborov, ktoré je popísané v nasledujúcej časti. Pre viac informácií o priamom nastavovaní vlastností si prečítajte časť “Nastavenia Projektu”. Upozorňujeme, že každý vzor ignorovania musí byť umiestnený na samostatnom riadku. Ich oddelenie medzerami nefunguje.
Ďalším spôsobom, ako ignorovať súbory, je pridať ich do priečinka globálny zoznam ignorovaných. Veľký rozdiel je v tom, že globálny zoznam ignorovaných údajov je vlastnosťou klienta. Vzťahuje sa na všetky projekty Subversion, ale iba na klientskom počítači. Pokiaľ je to možné je všeobecne lepšie použiť vlastnosť svn:ignore
, pretože sa dá použiť na konkrétne oblasti projektu a funguje to pre všetkých, ktorí si projekt overia. Pre viac informácií si prečítajte “Všeobecné nastavenia”.
Verziové súbory a priečinky nemožno nikdy ignorovať - to je vlastnosť programu Subversion. Ak ste verziu súboru vytvorili omylom, prečítajte si pokyny “Ignorovať súbory, ktoré sú už verziové”, ako ich vytvoriť “bezverziové”.
Vzory ignorovania Subversion využívajú zovšeobecnenie súborov, techniku, ktorá sa pôvodne v Unixe používala na špecifikáciu súborov s použitím meta-znakov ako zástupných znakov. Nasledujúce znaky majú osobitný význam:
Zhodnosť s ľubovoľným reťazcom znakov vrátane prázdneho reťazca (bez znakov).
Zhodnosť s ľubovoľným jedným znakom.
Zhodnosť s ktorýmkoľvek zo znakov uvedených v hranatých zátvorkách. V zátvorkách je dvojica znakov oddelených znakom “-” znamená zhodnosť akéhokoľvek lexikálneho znaku medzi týmito dvoma znakmi. Napríklad [AGm-p]
sa zhoduje s ktorýmkoľvek z A
, G
, m
, n
, o
alebo p
.
Pri porovnávaní vzorov sa rozlišujú veľké a malé písmená, čo môže vo Windows spôsobiť problémy. Necitlivosť na malé a veľké písmená môžete vynútiť spárovaním znakov, napríklad ignorovaním *.tmp
bez ohľadu na prípad, môžete použiť vzor ako *.[Tt] [Mm] [Pp]
.
Ak chcete oficiálnu definíciu zovšeobecnenia, nájdete ju v špecifikáciách IEEE pre prostredie príkazového jazyka Poznámka zodpovedajúceho vzoru .
Vo svojom vzore by ste nemali zahrnúť informácie o ceste. Zhodnosť vzorov je určená na použitie proti obyčajným názvom súborov a názvov priečinkov. Ak chcete ignorovať všetky CVS
priečinky, stačí pridať CVS
do zoznamu ignorovaných. Nie je potrebné špecifikovať CVS */CVS
ako v predchádzajúcich verziách. Ak chcete ignorovať všetky tmp
priečinky, ak existujú vnútri prog
priečinka, ale nie vnútri doc
priečinka, mali by ste namiesto tejto vlastnosti použiť svn:ignore
. Neexistuje spoľahlivý spôsob, ako to dosiahnuť použitím globálnych vzorov ignorovania.
Subversion umožňuje premenovanie a presun súborov a priečinkov. V podponuke TortoiseSVN teda existujú položky ponuky na odstránenie a premenovanie.
Použite
→ na odstránenie súborov, alebo priečinkov zo Subversion.Keď použijete “upravené”. Až do vykonania zmeny môžete súbor získať späť použitím ponuky → v nadradenom priečinku.
→ na súbor alebo priečinok, okamžite sa odstráni z pracovnej kópie a pri ďalšom odovzdaní sa označí na odstránenie v úložisku. Nadradený priečinok položky zobrazí ikonu prekrytiaAk chcete vymazať položku z úložiska, ale ponechať ju lokálne ako bezverziový súbor/priečinok, použite Shift pri kliknutí pravým tlačidlom myši na položku na paneli zoznamu prieskumníka (pravý panel), aby ste to videli v rozšírenej kontextovej ponuke.
→ . Musíte pridržaťAk je položka vymazaná prieskumníkom namiesto použitia kontextovej ponuky TortoiseSVN, dialógové okno odovzdania zobrazí tieto položky ako chýbajúce a umožní vám ich pred odovzdaním tiež odstrániť zo správy verzie. Ak však aktualizujete svoju pracovnú kópiu, Subversion zistí chýbajúcu položku a nahradí ju najnovšou verziou z úložiska. Ak potrebujete vymazať súbor pod správou verzie, použite vždy ponuku
→ , aby Subversion nemusel hádať, čo vlastne chcete robiť.Ak ste vymazali súbor alebo priečinok a už ste odovzdali túto operáciu vymazania do úložiska, je normálne, že ponuka
→ to už nemôže vrátiť späť. Ale súbor alebo priečinok sa vôbec nestratí. Ak poznáte revíziu, ktorá bola z priečinka alebo súboru vymazaná (ak nie, použite dialógové okno záznamu), otvorte prehliadač úložiska a nastavte danú revíziu. Potom vyberte súbor alebo priečinok, ktorý ste vymazali, kliknite naňho pravým tlačidlom myši a vyberte → Ako cieľ tejto operácie kopírovania vyberte cestu k svojej pracovnej kópii.Ak chcete jednoducho premenovať súbor alebo priečinok na mieste, použite
→ Zadajte nový názov položky a máte hotovo.Ak chcete presunúť súbory vnútri vašej pracovnej kópie, napríklad do iného podpriečinka, použite ťahaj a pusť pri stlačí pravého tlačidla myši:
vyberte súbory alebo priečinky, ktoré chcete presunúť
ťahajte so stlačeným pravým tlačidlom na nové miesto vo vnútri pracovnej kópie
uvoľnite pravé tlačidlo myši
vo vyskakovacej ponuke zvoľte
→Pretože sa premenovania a presuny vykonávajú ako vymazanie, po ktorom nasleduje pridanie, musíte odovzdať nadradený priečinok premenovaného/presunutého súboru, aby sa odstránená časť premenovania/presunu zobrazila v dialógovom okne odovzdania. Ak neodovzdáte odstránenú časť premenovania/presunu, zostane v úložisku a po aktualizácii vašich spolupracovníkov sa starý súbor neodstráni. t. j. budete mať oboje staré a nové kópie.
Musíte pred zmenou niektorého zo súborov v priečinku odovzdať premenovanie priečinka, inak by sa mohla vaša pracovná kópia skutočne pokaziť.
Ďalším spôsobom presunutia alebo kopírovania súborov je použitie príkazov Windows Kopírovať/Prilepiť. Vyberte súbory, ktoré chcete kopírovať, kliknite na nich pravým tlačidlom myši a vyberte
→ z kontextovej ponuky prieskumníka. Potom prejdite do cieľového priečinka, kliknite naňho pravým tlačidlom myši a vyberte ponuku → . Pre presun súborov vyberte → namiesto → .Na presun položiek môžete tiež použiť prehľadávač úložiska. Pre získanie ďalších informácií si prečítajte časť “Prehliadač úložiska”.
Nemali by ste používať príkazy TortoiseSVN Presunúť alebo Premenovať pre priečinok, ktorý bol vytvorený použitím svn:externals
. Táto akcia by spôsobila odstránenie externej položky z nadradeného úložiska, čo by pravdepodobne rozladilo mnoho ďalších ľudí. Ak potrebujete presunúť externý priečinok, mali by ste použiť bežný presun príkazom prostredia, potom upravte vlastnosti svn:externals
zdrojového a cieľového nadradeného priečinka.
Ak archív už obsahuje dva súbory s rovnakým názvom, ktoré sa však líšia iba v prípade (napr. TEST.TXT
a test.txt
), nebudete môcť aktualizovať ani overiť rodičovský priečinok klientom Windows. Zatiaľ čo Subversion podporuje názvy súborov, pri ktorých sa rozlišujú veľké a malé písmená, Windows nie.
To sa niekedy stane, keď dvaja ľudia odovzdajú zo samostatných pracovných kópií súbory, ktoré majú rovnaký názov, ale s rozdielnou veľkosťou písma. Môže sa to stať aj vtedy, keď sa súbory odovzdávajú zo systému so súborovým systémom, v ktorom sa rozlišujú veľké a malé písmená, napríklad Linux.
V takom prípade sa musíte rozhodnúť, ktorý z nich si chcete ponechať a vymazať (alebo premenovať) ten druhý z úložiska.
K dispozícii je skript háku servera na adrese: https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/, ktorý preventívne overí následok konfliktov veľkosti písma.
Vaše priateľské IDE niekedy za vás premenuje súbory v rámci úkonu refaktoringu a samozrejme to Subversion nepovie. Ak sa pokúsite odovzdať zmeny, Subversion vidí starý názov súboru ako chýbajúci a nový ako bezverziový súbor. Môžete jednoducho skontrolovať nový názov súboru, aby ste ho mohli pridať, ale stratili by ste sledovanie histórie, pretože Subversion nevie, že súbory súvisia.
Lepším spôsobom je upozorniť Subversion, že táto zmena je vlastne premenovaním a môžete to urobiť v rámci dialógov Odovzdať a Skontrolovať úpravy. Jednoducho vyberte starý názov (chýbajúci) aj nový názov (bezverziový) a použite → spárujete tieto dva súbory ako premenované.
Zvyčajne nastavíte svoj zoznam ignorovaných položiek tak, aby boli všetky vygenerované súbory v Subversion ignorované. Čo však v prípade, že chcete vyčistiť všetky tieto ignorované položky, aby ste dosiahli čisté zostavu? Spravidla by ste to nastavili vo svojom makefile, ale ak ladíte makefile alebo meníte systém zostavenia, je užitočné mať k dispozícii spôsob vyčistenia paluby.
TortoiseSVN poskytuje práve takúto možnosť Shift pri kliknutí pravým tlačidlom myši na priečinok v paneli zoznamu prieskumníka (pravý panel), aby ste to videli v rozšírenej kontextovej ponuke. Vytvorí sa dialógové okno so zoznamom všetkých bezverziových súborov kdekoľvek v pracovnej kópii. Potom môžete vybrať alebo zrušiť výber položiek, ktoré sa majú odstrániť.
→ . Musíte pridržaťNa odstránenie týchto položiek sa použije kôš, takže ak tu urobíte chybu a odstránite súbor, ktorý by mal byť verziový, môžete ho stále obnoviť.
Ak chcete vrátiť späť všetky zmeny, ktoré ste v súbore vykonali od poslednej aktualizácie, musíte súbor vybrať, kliknite pravým tlačidlom myši pre rozvinutie kontextovej ponuky a potom vyberte príkaz → . Zobrazí sa dialógové okno s informáciami o súboroch, ktoré ste zmenili a ktoré môžete vrátiť. Vyberte tie, ktoré chcete vrátiť a kliknite na .
Ak chcete vymazať aj všetky zoznamy zmien, ktoré sú nastavené, zaškrtnite políčko v dolnej časti dialógového okna.
Ak chcete vrátiť späť odstránenie alebo premenovanie, musíte v pôvodnom priečinku použiť Vrátiť, pretože odstránená položka neexistuje, aby ste na ňu klikli pravým tlačidlom myši.
Ak chcete vrátiť späť pridanie položky, zobrazí sa v kontextovej ponuke ako
→ brať. Toto je tiež skutočne návrat, ale názov bol zmenený, aby to bolo zjavnejšie.Stĺpce v tomto dialógovom okne je možné prispôsobiť rovnakým spôsobom ako stĺpce v dialógu Skontrolovať zmeny. Pre ďalšie podrobnosti si prečítajte časť “Lokálny a vzdialený stav”.
Pretože sa na vyčistenie pracovnej kópie niekedy používa vrátenie, je k dispozícii ďalšie tlačidlo, ktoré umožňuje odstrániť aj bezverziové položky. Po kliknutí na toto tlačidlo sa zobrazí ďalšie dialógové okno so zoznamom všetkých bezverziových položiek, ktoré potom môžete vybrať na odstránenie.
Príkaz Nevráti to späť všetky zmeny, ktoré už boli odovzdané. Ak chcete vrátiť späť všetky zmeny, ktoré boli odovzdané v konkrétnej revízii, prečítajte si časť “Dialógové okno záznamu revízií” pre ďalšie informácie.
vráti iba lokálne zmeny.Keď vrátite zmeny späť, môžete zistiť, že operácia trvá oveľa dlhšie, ako čakáte. Je to tak preto, lebo upravená verzia súboru sa odošle do koša, takže v prípade, že sa niečo vrátite omylom, môžete svoje zmeny načítať. Ak je však kôš plný, systému Windows dlho trvá, kým nájde miesto na uloženie súboru. Riešenie je jednoduché: buď vyprázdnite kôš alebo deaktivujte políčko Pri vrátení použiť kôš v nastaveniach TortoiseSVN.
Ak príkaz Subversion nie je možné úspešne dokončiť, napríklad z dôvodu problémov so serverom, vaša pracovná kópia môže zostať v nekonzistentnom stave. V takom prípade musíte použiť na priečinok príkaz
→ . Je dobré to urobiť na najvyššej úrovni pracovnej kópie.V dialógovom okne Vyčistiť sú aj ďalšie užitočné možnosti, ako dostať pracovnú kópiu do stavu čisté
.
Ako už bolo uvedené vyššie, táto možnosť sa pokúša dostať nekonzistentnú pracovnú kópiu do funkčného a použiteľného stavu. Toto neovplyvní žiadne údaje, ktoré máte, ale iba interné stavy databázy pracovných kópií. Toto je aktuálny príkaz Vyčistiť
, ktorý poznáte zo starších klientov TortoiseSVN alebo iných klientov SVN.
Ak je zaškrtnuté, všetky zámky zápisu sa odstránia z databázy pracovných kópií. Vo väčšine situácií je to potrebné, aby čistenie fungovalo!
Zrušte zaškrtnutie tejto možnosti, iba ak v tomto čase pracovnú kópiu používajú iní užívatelia/klienti. Ale ak čistenie potom zlyhá, musíte zaškrtnúť túto možnosť, aby bolo čistenie úspešné.
Upravuje zaznamenané časové pečiatky všetkých súborov a urýchľuje budúce kontroly stavu. To môže urýchliť všetky dialógové okná, ktoré zobrazujú zoznamy súborov s pracovnými kópiami, napríklad dialógové okno Odovzdanie.
Odstráni nepoužívané pôvodné kópie a skomprimuje všetky zostávajúce pôvodné kópie súborov pracovnej kópie.
Niekedy prekrytia prostredia, najmä v stromovom zobrazení na ľavej strane prieskumníka, nezobrazujú aktuálny stav alebo zásobník stavu nedokázal rozpoznať zmeny. V tejto situácii môžete použitím tohto príkazu vynútiť obnovenie.
Ak je toto zaškrtnuté, akcie sa vykonajú aj pre všetky súbory a priečinky zahrnuté vo vlastnosti svn:externals
.
Toto je rýchly a ľahký spôsob odstránenia všetkých vygenerovaných súborov z pracovnej kópie. Všetky bezverziové súbory a priečinky, sa presunú do koša.
Poznámka: To isté môžete urobiť aj z dialógu
→ . Tam tiež získate zoznam všetkých bezverziových súborov a priečinkov pre výber na odstránenie.Tento príkaz vráti všetky lokálne úpravy, ktoré ešte nie sú odovzdané.
Poznámka: je lepšie použiť príkaz
→ , pretože tam môžete najskôr vidieť a vybrať súbory na vrátenie.
Vlastnosti Subversion môžete čítať a nastavovať z dialógového okna Vlastnosti systému Windows, ale aj z okna → a v zoznamoch stavu TortoiseSVN z → .
V Subversion môžete pridať svoje vlastné vlastnosti alebo niektoré vlastnosti so zvláštnym významom. Tieto začínajú svn:
. svn:externals
je takou vlastnosťou; pozrite si ako zaobchádzať s externými v časti “Externé položky” .
Subversion podporuje rozšírenie kľúčových slov podobné CVS, ktoré je možné použiť na vloženie názvu súboru a informácií o revízii do samotného súboru. Momentálne podporované kľúčové slová sú:
Dátum posledného známeho odovzdania. Toto je založené na informáciách získaných pri aktualizácii pracovnej kópie. To nie je kontrola úložiska pre nájdenie nedávnych zmien.
Revízia posledného známeho odovzdania.
Autor, ktorý urobil posledné známe odovzdanie.
Úplná adresa URL tohto súboru v úložisku.
Komprimovaná kombinácia predchádzajúcich štyroch kľúčových slov.
Ak chcete zistiť, ako používať tieto kľúčové slová, pozrite si sekciu svn:keywords v knihe Subversion, ktorá poskytuje úplný popis týchto kľúčových slov a informácií o tom, ako ich povoliť a používať.
Viac informácií o vlastnostiach v Subversion nájdete na Špeciálne vlastnosti.
Ak chcete pridať novú vlastnosť, najskôr kliknite na Nová.... V ponuke vyberte požadovaný názov vlastnosti a potom vyplňte požadované informácie v dialógovom okne konkrétnej vlastnosti. Tieto konkrétne dialógové okná vlastností sú podrobnejšie opísané v časti “Editory vlastností” .
Ak chcete pridať vlastnosť, ktorá nemá vlastné dialógové okno, zvoľteNová.... Potom buď vyberte existujúcu vlastnosť v rozvinovacom poli alebo zadajte názov vlastnej vlastnosti.
z ponukyAk chcete použiť vlastnosť na viac položiek naraz, vyberte v prehľadávači súbory alebo priečinky a potom vyberte
→ .Ak chcete použiť vlastnosť na každý súbor a priečinok v hierarchii pod aktuálnym priečinkom, zaškrtnite políčko Rekurzívne.
Ak chcete upraviť existujúcu vlastnosť, vyberte ju zo zoznamu existujúcich vlastností a potom kliknite na
.Ak chcete odstrániť existujúcu vlastnosť, vyberte ju zo zoznamu existujúcich vlastností a potom kliknite na
.Vlastnosť svn:externals
sa dá použiť na načítanie ďalších projektov z rovnakého úložiska alebo úplne iného úložiska. Viac informácií nájdete v časti “Externé položky” .
Pretože vlastnosti sú verziové, nemôžete upravovať vlastnosti predošlých revízií. Ak sa pozriete na vlastnosti z dialógového okna záznamu alebo z revízie inej ako HEAD v prehľadávači úložiska, zobrazí sa zoznam vlastností a hodnôt, ale bez ovládacích prvkov úprav.
Často sa stretnete napríklad s tým, že si viackrát aplikujete rovnakú sadu vlastností bugtraq:logregex
. Na zjednodušenie procesu kopírovania vlastností z jedného projektu do druhého môžete použiť funkciu Export/Import.
Zo súboru alebo priečinka, kde sú vlastnosti už nastavené, použite
→ , vyberte vlastnosti, ktoré chcete exportovať a kliknite na . Zobrazí sa výzva na zadanie názvu súboru, do ktorého sa uložia názvy a hodnoty vlastností.V priečinkoch, kde chcete použiť tieto vlastnosti, použite
→ a kliknite na . Zobrazí sa výzva na zadanie názvu súboru, z ktorého chcete importovať. Prejdite na miesto, kde ste predtým uložili súbor na export a vyberte ho. Vlastnosti budú do priečinkov pridané nerekurzívne.Ak chcete pridať vlastnosti do stromu rekurzívne, postupujte podľa vyššie uvedených pokynov a potom v dialógovom okne vlastností postupne vyberte jednotlivé vlastnosti. Kliknite na Použiť vlastnosť rekurzívne a kliknite na .
, zaškrtnite políčkoFormát súboru importu je binárny a vlastný pre TortoiseSVN. Jeho jediným účelom je prenos vlastností použitím importu a exportu, takže nie je potrebné tieto súbory upravovať.
TortoiseSVN dokáže spracovať hodnoty binárnych vlastností použitím súborov. Ak chcete načítať hodnotu binárnej vlastnosti, kliknite na
pre uloženie do súboru. Ak chcete nastaviť binárnu hodnotu, použitím hexadecimálneho editora alebo iného vhodného nástroja vytvorte súbor s požadovaným obsahom a kliknite na pre načítanie z toho súboru.Aj keď sa binárne vlastnosti často nepoužívajú, v niektorých aplikáciách môžu byť užitočné. Napríklad ak ukladáte obrovské grafické súbory alebo ak je aplikácia použitá na načítanie súboru obrovská, možno budete chcieť uložiť miniatúru ako vlastnosť, aby ste mohli rýchlo získať náhľad.
Môžete nakonfigurovať Subversion a TortoiseSVN tak, aby automaticky nastavovali vlastnosti súborov a priečinkov po ich pridaní do úložiska. Existujú dva spôsoby, ako to urobiť.
Upravením konfiguračného súboru Subversion môžete povoliť túto funkciu vo svojom klientovi. Stránka Všeobecné dialógového okna nastavení aplikácie TortoiseSVN má tlačidlo na úpravu, ktoré vás nasmeruje priamo tam. Konfiguračný súbor je jednoduchý textový súbor, ktorý ovláda niektoré činnosti Subversion. Musíte zmeniť dve veci: najprv v časti hlavičky Rôzne
okomentujte riadok enable-auto-props = yes
. Po druhé, musíte upraviť sekciu nižšie pre definovanie vlastnosti do akých typov súborov ju pridávate. Táto metóda je štandardnou funkciou Subversion a funguje s akýmkoľvek klientom Subversion. Musí však byť definovaná pre každého klienta individuálne - neexistuje žiadny spôsob, ako šíriť tieto nastavenia z úložiska.
Alternatívnou metódou je nastavenie vlastnosti tsvn:autoprops
priečinkov, ako je popísané v nasledujúcej časti. Táto metóda funguje iba pre klientov TortoiseSVN, ale pri aktualizácii sa rozšíri do všetkých pracovných kópií.
Od Subversion 1.8 môžete tiež nastaviť vlastnosť svn:auto-props
v koreňovom priečinku. Hodnota vlastnosti je automaticky zdedená všetkými podradenými položkami.
Bez ohľadu na to, aký spôsob zvolíte, mali by ste si uvedomiť, že automatické vlastnosti použijú iba na súbory v čase, keď sú pridané do pracovnej kópie. Automatické vlastnosti nikdy nezmenia vlastnosti už verziových súborov.
Ak si chcete byť úplne istí, že nové súbory majú použité správne vlastnosti, mali by ste nastaviť hák predbežného odovzdania úložiska na odmietnutie odovzdaní, kde nie sú nastavené požadované vlastnosti.
Vlastnosti Subversion sú verziové. Po zmene alebo pridaní vlastnosti musíte zmeny odovzdať.
Ak dôjde ku konfliktu pri odovzdávaní zmien, pretože iný užívateľ zmenil rovnakú vlastnosť, Subversion vygeneruje súbor .prej
. Po vyriešení konfliktu tento súbor odstráni.
TortoiseSVN má niekoľko vlastných zvláštnych vlastností, ktoré začínajú na tsvn:
.
tsvn:logminsize
nastavuje minimálnu dĺžku správy záznamu odovzdania. Ak zadáte kratšiu správu, ako je tu uvedené, odovzdanie je zakázané. Táto funkcia je veľmi užitočná na pripomenutie, aby ste pre každé odovzdania poskytli poriadnu popisnú správu. Ak táto vlastnosť nie je nastavená alebo je hodnota nula, sú povolené prázdne správy záznamu.
tsvn:lockmsgminsize
nastavuje minimálnu dĺžku uzamknutej správy. Ak zadáte kratšiu správu, ako je tu uvedené, zámok sa deaktivuje. Táto funkcia je veľmi užitočná na pripomenutie, aby ste pre každý zámok, ktorý dostanete, poskytli riadnu popisnú správu. Ak táto vlastnosť nie je nastavená alebo je hodnota nula, sú povolené správy s prázdnym zámkom.
tsvn:logwidthmarker
sa používa v prípade projektov, ktoré vyžadujú naformátovanie správ záznamu s určitou maximálnou šírkou (zvyčajne 80 znakov) pred zalomením riadku. Nastavením tejto vlastnosti na nenulovú urobíte v dialógovom okne pre zadanie správy do protokolu dve veci: umiestni značku označujúcu maximálnu šírku a vypne zalamovanie na displeji, aby ste videli, či je zadaný text príliš dlhý. Poznámka: táto funkcia bude fungovať správne, iba ak máte pre správy záznamu vybrané písmo s pevnou šírkou.
tsvn:logtemplate
sa používa pri projektoch, ktoré majú pravidlá týkajúce sa formátovania správ záznamov. Vlastnosť obsahuje viacriadkový textový reťazec, ktorý sa vloží do poľa správy odovzdania pri spustení odovzdania. Potom ho môžete upraviť tak, aby obsahoval požadované informácie. Poznámka: ak tiež používate tsvn:logminsize
, nezabudnite nastaviť dĺžku dlhšiu ako šablóna, inak stratíte ochranný mechanizmus.
K dispozícii sú tiež šablóny špecifické pre jednotlivé akcie, ktoré môžete použiť namiesto tsvn:logtemplate
. Šablóny špecifické pre akciu sa použijú, ak sú nastavené, ale tsvn:logtemplate
sa použije, ak nie je nastavená šablóna pre konkrétnu akciu.
Šablóny špecifické pre akciu sú:
tsvn:logtemplatecommit
sa používa na všetky odovzdania z pracovnej kópie.
tsvn:logtemplatebranch
sa používa pri vytváraní vetvy/príznaku alebo pri kopírovaní súborov alebo priečinkov priamo v prehliadači úložiska.
tsvn:logtemplateimport
sa používa na import.
tsvn:logtemplatedelete
sa používa pri mazaní položiek priamo v prehliadači úložiska.
tsvn:logtemplatemove
sa používa pri premenovávaní alebo presúvaní položiek v prehľadávači úložiska.
tsvn:logtemplatemkdir
sa používa pri vytváraní priečinkov v prehľadávači úložiska.
tsvn:logtemplatepropset
sa používa pri úprave vlastností v prehliadači úložiska.
tsvn:logtemplatelock
sa používa pri získavaní zámku.
Subversion umožňuje nastavenie “automatické vlastnosti”, ktoré sa použijú pre novo pridané alebo importované súbory na základe prípony súboru. Závisí to od každého klienta, ktorý má v konfiguračnom súbore Subversion. Vlastnosť tsvn:autoprops
je možné nastaviť na priečinky, ktoré sa pri importovaní alebo pridávaní súborov zlúčia s miestnymi automatickými vlastnosťami užívateľa. Formát je rovnaký ako pre automatické vlastnosti Subversion, napr. *.sh = svn:eol-style=native;svn:executable
nastaví dve vlastnosti súborov s príponou .sh
.
Ak dôjde ku konfliktu medzi miestnymi automatickými vlastnosťami a tsvn:autoprops
, nastavenie projektu má prednosť, pretože je určené pre daný projekt.
Od verzie 1.8 by ste mali používať túto vlastnosť svn:auto-props
namiesto tsvn:autoprops
pretože má rovnakú funkcionalitu, ale funguje so všetkými svn klientmi a nie je špecifická pre TortoiseSVN.
V dialógovom okne Odovzdanie máte možnosť vložiť do zoznamu zmenených súborov vrátane stavu každého súboru (pridaného, upraveného atď.). tsvn:logfilelistenglish
definuje, či je stav súboru vložený v angličtine alebo v lokalizovanom jazyku. Ak vlastnosť nie je nastavená, predvolená hodnota je true
.
TortoiseSVN môže používať kontrolu pravopisu. Vo Windows 10 sa používa kontrola pravopisu OS. V starších verziách systému Windows môže používať moduly kontroly pravopisu, ktoré používajú aj OpenOffice a Mozilla. Ak ich máte nainštalovaných, táto vlastnosť určí, ktorá kontrola pravopisu sa má použiť, t. j. v akom jazyku by mali byť správy záznamu pre váš projekt napísané. tsvn:projectlanguage
nastavuje jazykový modul, ktorý má mechanizmus na kontrolu pravopisu používať pri zadávaní správy záznamu. Hodnoty pre váš jazyk nájdete na tejto stránke: MSDN:Identifikátory jazykov.
Túto hodnotu môžete zadať v desiatkovej sústave alebo v šestnástkovej sústave, ak má predponu 0x
. Napríklad angličtinu (USA) je možné zadať ako 0x0409
alebo
1033
.
Vlastnosť tsvn:logsummary
sa používa na extrakciu časti správy záznamu, ktorá sa potom zobrazí v dialógovom okne záznamu ako súhrn správ záznamu.
Hodnota vlastnosti tsvn:logsummary
musí byť nastavená na reťazec regulárneho výrazu s jedným riadkom, ktorý obsahuje jednu skupinu regulárneho výrazu. Čokoľvek sa zhoduje s touto skupinou, použije sa ako súhrn.
Príklad: \[SUMMARY\]:\s+(.*)
Zachytí všetko po “[SUMMARY]” v správe záznamu a použije ju ako súhrn.
Vlastnosť tsvn:logrevregex
definuje regulárny výraz, ktorý zodpovedá referenciám na revízie v správe záznamu. Používa sa v dialógovom okne záznamu na premenu takýchto referencií na odkazy, ktoré po kliknutí buď prejdú na danú revíziu (ak sa revízia už zobrazuje v dialógovom okne záznamu alebo ak je k dispozícii zo zásobníka záznamu), alebo otvorí nové dialógové okno protokolu, v ktorom sa zobrazí tú revíziu.
Regulárny výraz sa musí zhodovať s celou referenciou, nielen s číslom revízie. Číslo revízie sa automaticky extrahuje z priradeného referenčného reťazca.
Ak táto vlastnosť nie je nastavená, použije sa na prepojenie referencií na revízie predvolený regulárny výraz.
Existuje niekoľko vlastností na konfiguráciu skriptov háku na strane klienta. Každá vlastnosť je pre jeden konkrétny typ skript háku.
Dostupné vlastnosti/skripty háku sú
Parametre sú rovnaké, ako keby ste konfigurovali skripty háku v dialógovom okne Nastavenia. Pre podrobnosti si pozrite “Skripty hákov na strane klienta”.
Pretože nie každý používateľ má svoju pracovnú kópiu odhlásenú na rovnakom mieste s rovnakým menom, môžete nakonfigurovať skript/nástroj na vykonanie, ktorý sa nachádza vo vašej pracovnej kópii, zadaním adresy URL v úložisku použitím %REPOROOT%
ako súčasť adresy URL ku koreňu úložiska. Napríklad, ak je váš skript háku v pracovnej kópii pod contrib/hook-scripts/client-side/checkyear.js
, určíte cestu k skriptu ako %REPOROOT%/trunk/contrib/hook-scripts/client-side/checkyear.js
. Týmto spôsobom, aj keď presuniete svoje úložisko na iný server, nemusíte upravovať vlastnosti skriptu háku.
Namiesto %REPOROOT%
môžete tiež určiť %REPOROOT+%
. Znak +
sa používa na vloženie ľubovoľného počtu ciest k priečinkom potrebných na nájdenie skriptu. Je to užitočné, ak chcete určiť svoj skript, aby ste pri vytváraní vetvy skript stále našli, aj keď je adresa URL pracovnej kópie iná. Použitím vyššie uvedeného príkladu by ste určili cestu k skriptu ako %REPOROOT+%/contrib/hook-scripts/client-side/checkyear.js
.
Nasledujúca snímka obrazovky ukazuje, ako je nakonfigurovaný skript na kontrolu aktuálnych rokov ochrany autorských práv v hlavičkách zdrojových súborov pre TortoiseSVN.
Ak chcete pridať novú vlastnosť, môžete ju vybrať zo zoznamu v rozvinovacom poli alebo môžete zadať ľubovoľný názov vlastnosti, ktorý sa vám páči. Ak váš projekt používa niektoré vlastné vlastnosti a chcete, aby sa tieto vlastnosti zobrazili v zozname rozvinovacieho poľa (aby ste sa vyhli preklepom pri zadávaní názvu vlastnosti), môžete vytvoriť zoznam svojich vlastných vlastností použitím tsvn:userfileproperties
a tsvn:userdirproperties
. Použite tieto vlastnosti na priečinok. Keď idete upraviť vlastnosti ľubovoľnej podradenej položky, vaše vlastné vlastnosti sa zobrazia v zozname preddefinovaných názvov vlastností.
Môžete tiež určiť, či sa má na pridanie alebo úpravu vašej vlastnosti použiť vlastné dialógové okno. TortoiseSVN ponúka štyri rôzne dialógové okná, v závislosti od typu vašej vlastnosti.
Ak môže mať vaša vlastnosť iba dva stavy, napríklad PRAVDA a NEPRAVDA, môžete ju nakonfigurovať ako typ literal>boolean. Booleovsk Urpropertyname=bool;labeltext(YESVALUE;NOVALUE;Checkboxtext)labeltext (text menovky) je text zobrazenstateAk va, potom mstavuDial ako je tpropertyname=state;labeltext(DEFVAL;VAL1;TEXT1;VAL2;TEXT2;VAL3;TEXT3;...)Parametre sbooleovsk vlastnosDEFVAL je predvolenou hodnotou, ktorAsinglelinePre vlastnosti, ktorsingleline: Dialpropertyname=singleline;labeltext(regex)regex urmultilinePre vlastnosti, ktormultiline: Dialpropertyname=multiline;labeltext(regex) regex ur Vytsvn:userdirproperties: my:boolprop = bool; Toto je vlastnos
TortoiseSVN sa dá integrovať s niektorými nástrojmi na sledovanie chýb. Toto používa vlastnosti projektu, ktoré začínajú na bugtraq:
. Pre ďalšie informácie si prečítajte “Integrácia so systémami sledovania chýb/sledovačmi problémov”.
Môže sa tiež integrovať s niektorými webovými prehľadávačmi archívov a používať vlastnosti projektu, ktoré začínajú webviewer:
. Pre ďalšie informácie si prečítajte “Integrácia s prehliadačmi úložiska založených na webe”.
Aby systém fungoval tieto špeciálne vlastnosti projektu musia byť nastavené priečinkoch. Keď použijete príkaz TortoiseSVN, ktorý používa tieto vlastnosti, vlastnosti sa načítajú z priečinka, na ktorý ste klikli. Ak tam nenájdete vlastnosti, TortoiseSVN bude prehľadávať strom priečinkov smerom nahor, až kým nenájde bezverziový priečinok, alebo je nájdený koreň stromu (napr. C:\
). Ak si môžete byť istí, že každý užívateľ odhlási iba napr. trunk/
a nie nejaký podpriečinok, potom stačí nastaviť vlastnosti trunk/
. Ak si nie ste istí, mali by ste vlastnosti nastaviť rekurzívne pre každý podpriečinok. Ak nastavíte tú istú vlastnosť, ale v hierarchii projektu použijete rôzne hodnoty v rôznych hĺbkach, získate rôzne výsledky podľa toho, kam kliknete v štruktúre priečinkov.
Iba pre vlastnosti projektu, t. j. tsvn:
, bugtraq:
a webviewer:
môžete použiť zaškrtávacie políčko Rekurzívne na nastavenie vlastnosti na všetky podpriečinky v hierarchii bez nastavenia všetkých súborov.
Keď do pracovnej kópie pridáte nové podpriečinky pouziťím TortoiseSVN, všetky vlastnosti projektu prítomné v nadradenom priečinku sa automaticky pridajú aj do nového podradeného priečinka.
Načítanie vlastností na diaľku je pomalá operácia, takže niektoré z vyššie popísaných funkcií nebudú v prehliadači úložiska fungovať rovnako ako v pracovnej kópii.
Keď pridáte vlastnosť pomocou prehliadača úložiska, sú v preddefinovanom zozname ponúkané iba štandardné vlastnosti svn:
. Akýkoľvek iný názov vlastnosti musí byť zadaný ručne.
Vlastnosti sa nedajú nastavovať ani mazať rekurzívne pomocou prehliadača úložiska.
Vlastnosti projektu nebudú automaticky rozšírené, keď sa pomocou prehliadača úložiska pridá podradený priečinok.
Vlastnosť tsvn:autoprops
nenastaví vlastnosti súborov, ktoré sa pridávajú pomocou prehliadača úložiska.
Aj keď sú vlastnosti projektu TortoiseSVN mimoriadne užitočné, fungujú iba s TortoiseSVN a niektoré budú fungovať iba v novších verziách TortoiseSVN. Ak ľudia pracujúci na vašom projekte používajú rôznych klientov Subversion alebo majú starú verziu TortoiseSVN, možno budete chcieť na vynútenie projektových politík použiť háky úložiska. vlastnosti projektu môžu iba pomáhať pri implementácii politiky, nemôžu ju vynútiť.
Niektoré vlastnosti musia používať konkrétne hodnoty alebo musia byť naformátované konkrétnym spôsobom, aby sa mohli použiť na automatizáciu. S cieľom pomôcť so správnym formátovaním ponúka TortoiseSVN dialógové okná úprav pre niektoré konkrétne vlastnosti, ktoré zobrazujú možné hodnoty alebo rozdeľujú vlastnosť na jednotlivé komponenty.
Vlastnosť svn:externals
je možné použiť na načítanie iných projektov z rovnakého úložiska alebo úplne iného úložiska, ako je opísané v časti “Externé položky”.
Musíte definovať názov podpriečinka, v ktorom je externý priečinok rezervovaný a URL Subversion externej položky. Môžete si skontrolovať externé zariadenie pri jeho revízii HEAD, takže keď sa externá položka zmení v úložisku, vaša pracovná kópia dostane tieto zmeny pri aktualizácii. Ak však chcete, aby externý odkazoval na konkrétny stabilný bod, môžete určiť konkrétnu revíziu, ktorá sa má použiť. V takom prípade možno budete chcieť zadať rovnakú revíziu ako naviazanú revíziu. Ak bude externá položka v budúcnosti niekedy premenovaná, Subversion nebude môcť aktualizovať túto položku vo vašej pracovnej kópii. Zadaním revízie kolíka poviete Subversion, aby hľadala položku, ktorá mala tento názov pri naviazanej revízii a nie pri HEAD.
Tlačidlo
načíta HEAD revíziu každej externej adresy URL a zobrazí túto HEAD revíziu v stĺpci úplne vpravo. Keď je známa revízia HEAD, jednoduché kliknutie pravým tlačidlom myši na externé zariadenie vám dá príkaz na naviazanie vybraných externých používateľov s ich explicitnou revíziou HEAD. V prípade, že revízia HEAD ešte nie je známa, príkaz pravým tlačidlom myši najskôr načíta revíziu HEAD.
Vyberte kľúčové slová, ktoré chcete rozšíriť do svojho súboru.
Vyberte štýl konca riadku, ktorý chcete použiť a TortoiseSVN použije správnu hodnotu vlastnosti.
Tieto 3 vlastnosti riadia formátovanie správ záznamu. Prvé 2 deaktivujú v dialógových oknách na potvrdenie alebo uzamknutie, kým správa nedosiahne minimálnu dĺžku. Pozícia okraja zobrazuje značku v danej šírke stĺpca ako pomôcku pre projekty, ktoré majú vo svojich protokolových správach obmedzenú šírku. Nastavením hodnoty na nulu sa vlastnosť odstráni.
V dialógovom okne odovzdania vyberte jazyk, ktorý sa má použiť na kontrolou pravopisu správy záznamu. Súbor rozvinovacieho poľa nadobudne účinnosť po kliknutí pravým tlačidlom myši na paneli správ záznamu a výbere Prilepiť zoznam súborov. Stav Subversion sa predvolene zobrazuje vo vašom miestnom jazyku. Keď je toto políčko zaškrtnuté, stav je vždy uvedený v angličtine, pre projekty, ktoré vyžadujú správy záznamu iba v angličtine.
Táto vlastnosť jednoducho riadi, či bude súbor zaškrtnutý iba na čítanie, ak pre neho nie je v pracovnej kópii uzamknutý žiadny zámok.
Táto vlastnosť riadi, či bude súboru po spustení v systéme Unix/Linux zaškrtnutý stav spustiteľného súboru. Nemá to žiadny vplyv na zaškrtnutie v systéme Windows.
Kedykoľvek sú revízie zlúčené do pracovnej kópie, TortoiseSVN vygeneruje správu záznamu zo všetkých zlúčených revízií. Tie sú potom k dispozícii na webe
v dialógovom okne odovzdania.Vygenerovanú správu môžete prispôsobiť použitím nasledujúcich vlastností:
Táto vlastnosť určuje prvú časť vygenerovanej správy záznamu. Môžu byť použité nasledujúce kľúčové slová:
Zoznam zlúčených revízií oddelený čiarkami, napr. 3, 5, 6, 7
Ako {revisions}
, ale pri každej revízii predchádza znak r
, napr. r3, r5, r6, r7
Zoznam zlúčených revízií oddelený čiarkami, podľa možnosti zoskupený do rozsahov, napr. 3, 5-7
Zdrojová adresa URL zlúčenia, t. j. odkiaľ sú revízie zlúčené.
Predvolená hodnota pre tento reťazec je Zlúčené revízie {revrange} z {mergeurl}:
s novým riadkom na konci.
Táto vlastnosť určuje, ako by mal vyzerať text pre každú zlúčenú revíziu. Môžu byť použité nasledujúce kľúčové slová:
Správa záznamu zlúčenej revízie tak, ako bola zadaná.
Ako {msg}
, ale všetky nové riadky sú nahradené medzerou pre zobrazenie celej správy záznamu v jednom riadku.
Autor zlúčenej revízie.
Samotná zlúčená revízia.
ID chyby zlúčenej revízie, ak existuje.
Táto vlastnosť určuje pozíciu reťazca názvu zadaného výrazom tsvn:mergelogtemplatetitle
alebo tsvn:mergelogtemplatereversetitle
. Ak je vlastnosť nastavená na Áno
alebo PRAVDA
, potom reťazec názvu je pripojený dole a nie hore.
Toto funguje, iba ak sú zlúčené revízie už v zásobníku záznamov. Ak ste deaktivovali zásobník záznamov alebo ste ho pred zlúčením nezobrazili ako prvý, vygenerovaná správa nebude obsahovať žiadne informácie o zlúčených revíziách.
Niekedy je užitočné zostaviť pracovnú kópiu, ktorá je vytvorená z množstva rôznych overení. Môžete napríklad chcieť, aby rôzne súbory alebo podpriečinky pochádzali z rôznych umiestnení v úložisku alebo spolu z rôznych úložísk. Ak chcete, aby mal každý užívateľ rovnaké rozloženie, môžete definovať vlastnosti svn:externals
pre stiahnutie zadaného zdroja na miesta, kde sú potrebné.
Povedzme, že ste si overili pracovnú kópiu /project1
do D:\dev\project1
. Vyberte priečinok D:\dev\project1
, kliknite pravým tlačidlom myši a vyberte si → z kontextovej ponuky. Zobrazí sa dialógové okno Vlastnosti. Potom prejdite na kartu Subversion. Tam môžete nastaviť vlastnosti. Kliknite . V dialógovom okne vlastností dvakrát kliknite na svn:externals
ak už existuje, alebo kliknite na tlačidlo a vyberte externé
z ponuky. Ak chcete pridať nové externé zariadenie, kliknite na tlačidlo a potom vyplňte požadované informácie v zobrazenom dialógovom okne.
URL musia byť správne uvedené, inak nebudú fungovať, napr. každú medzeru musíte nahradiť znakom %20
.
Ak chcete, aby miestna cesta obsahovala medzery alebo iné špeciálne znaky, môžete ju uzavrieť do úvodzoviek alebo môžete použiť znak \
(spätná lomka) ako znak významu štýlu unixového prostredia predchádzajúci ktorémukoľvek špeciálnemu znaku. To samozrejme tiež znamená, že musíte používať znak /
(lomka) ako oddeľovač cesty. Toto správanie je nové v Subversion 1.6 a nebude fungovať so staršími klientmi.
Dôkladne by ste mali zvážiť používanie explicitných čísel revízií vo všetkých svojich definíciách externých riešení, ako je popísané vyššie. To znamená, že sa rozhodnete, kedy vytvoriť inú snímku externých informácií a presne ktorú snímku chcete vytiahnuť. Okrem aspektu zdravého rozumu, ktorý vás neprekvapí zmenami v úložiskách tretích strán, nad ktorými nemusíte mať žiadnu kontrolu, znamená použitie explicitných čísel revízií tiež to, že pri antidatovaní pracovnej kópie na predošlú revíziu sa vaše vonkajšie definície tiež vrátia do stavu, ako vyzerali v predošlej revízii, čo zase znamená, že externé pracovné kópie budú aktualizované tak, aby zodpovedali uvedenému stavu ako vyzerali, keď sa vaše úložisko nachádzalo v predošlej revízii. V prípade softvérových projektov by to mohol byť rozdiel medzi úspešným a neúspešným zostavením staršej snímky komplexného základného kódu.
Dialógové okno úprav pre vlastnosti svn:externals
vám umožňuje vybrať externé zdroje a automaticky ich explicitne nastaviť na HEAD revíziu.
Ak je externý projekt v rovnakom úložisku, všetky zmeny, ktoré v ňom vykonáte, sa zahrnú do zoznamu odovzdania, keď budete potvrdzovať svoj hlavný projekt.
Ak je externý projekt v inom úložisku, všetky zmeny, ktoré vykonáte v externom projekte, sa zobrazia alebo označia pri odovzdaní hlavného projektu, ale tieto externé zmeny musíte vykonať osobitne.
Ak v systéme používate absolútne adresy URL definície svn:externals
a musíte premiestniť svoju pracovnú kópiu (t. j. ak sa zmení adresa URL vášho úložiska), potom sa vaše externé súbory nezmenia a už nebudú fungovať.
Aby sa takýmto problémom predišlo, klienti Subversion verzie 1.5 a vyššej podporujú relatívne externé adresy URL. Podporované sú štyri rôzne spôsoby určenia relatívnej adresy URL. V nasledujúcich príkladoch predpokladajme, že máme dva úložiská: jedno na adrese http://example.com/svn/repos-1
a ďalšie na http://example.com/svn/repos-2
. Máme vykonať overenie z http://example.com/svn/repos-1/project/trunk
do C:\Working
a vlastnosť svn:externals
je nastavená na kmeni.
Tieto adresy URL vždy začínajú reťazcom ../
napríklad:
../../widgets/foo common/foo-widget
Toto extrahuje http://example.com/svn/repos-1/widgets/foo
do C:\Working\common\foo-widget
.
Upozorňujeme, že adresa URL je relatívna k adrese URL priečinka s vlastnosťou svn:externals
, nie do priečinka, kde je externe zapisovaná na disk.
Tieto adresy URL vždy začínajú reťazcom ^/
napríklad:
../../widgets/foo common/foo-widget
Toto extrahuje http://example.com/svn/repos-1/widgets/foo
do C:\Working\common\foo-widget
.
Môžete ľahko odkazovať na iné archívy s rovnakými SVNParentPath
(spoločný priečinok s niekoľkými úložiskami). Napríklad:
^/../repos-2/hammers/claw common/claw-hammer
Toto extrahuje http://example.com/svn/repos-2/hammers/claw
do C:\Working\common\claw-hammer
.
Adresy URL začínajúce reťazcom //
kopírujú iba časť schémy adresy URL. Je to užitočné, keď k rovnakému názvu hostiteľa musí byť pristupované s rôznymi schémami v závislosti od umiestnenia v sieti; napr. klienti využívajúci intranet http: //
zatiaľ čo externí klienti používajú svn+ssh://
. Napríklad:
//example.com/svn/repos-1/widgets/foo common / foo-widget
Toto extrahuje http://example.com/svn/repos-1/widgets/foo
alebo svn+ssh: //example.com/svn/repos-1/widgets/foo
podľa toho, ktorá metóda bola použitá pri overovaní C:\Working
.
Adresy URL začínajúce reťazcom /
kopírujú schému a časť názvu hostiteľa adresy URL, napríklad:
/svn/repos-1/widgets/foo common/foo-widget\n
Toto extrahuje http://example.com/svn/repos-1/widgets/foo
do C:\Working\common\foo-widget
. Ale ak si rezervujete svoju pracovnú kópiu z iného servera na adrese svn+ssh://another.mirror.net/svn/repos-1/project1/trunk
potom bude extrahovaný externý odkaz svn+ssh://another.mirror.net/svn/repos-1/widgets/foo
.
V prípade potreby môžete tiež určiť naviazanú a operatívnu revíziu ak sú požadované pre adresu URL. Ak sa chcete dozvedieť viac o naviazaných a operatívnych revíziách, prečítajte si zodpovedajúca kapitola v knihe Subversion.
Ak zadáte cieľový priečinok pre externý priečinok ako podpriečinok ako v príkladoch vyššie, uistite sa, že všetky priečinky medzi nimi sú tiež verziové. Takže pre vyššie uvedené príklady priečinok common
by mal byť verziový!
Aj keď externý bude vo väčšine situácií fungovať správne, ak priečinky medzi nimi sú bezverziové, existujú niektoré operácie, ktoré nebudú fungovať podľa vašich očakávaní. Ikony prekrytia stavu v prieskumníkovi tiež nebudú zobrazovať správny stav.
Ak potrebujete ďalšie informácie o tom, ako TortoiseSVN narába s vlastnosťami prečítajte si “Nastavenia Projektu”.
Viac sa dozviete o rôznych metódach prístupu k bežným podprojektom v časti “Zahrnúť spoločný podprojekt”.
Od verzie Subversion 1.6 môžete do svojej pracovnej kópie pridať externé súbory jedného súboru použitím rovnakej syntaxe ako pre priečinky. Existujú však určité obmedzenia.
Cesta k externému súboru musí byť priamo podriadená priečinku, do ktorého ste nastavili vlastnosť svn:externals
.
Adresa URL externého súboru musí byť v rovnakom úložisku ako adresa URL, do ktorej bude vložený externý súbor; externé súbory medzi úložiskami nie sú podporované.
Externý súbor sa chová v mnohých ohľadoch ako každý iný verziový súbor, ale nemožno ho presunúť ani vymazať použitím bežných príkazov; vlastnosť svn:externals
namiesto toho musí byť upravená.
Ak už máte pracovnú kópiu súborov alebo priečinkov, ktoré chcete zahrnúť ako externé v inej pracovnej kópii, môžete ich jednoducho pridať pomocou funkcie Ťahaj a pusť z prieskumníka systému Windows.
Jednoducho súbor alebo priečinok ťahajte pri stlačenom pravom tlačidle z jednej pracovnej kópie na miesto, kde ho chcete zahrnúť ako externý. Po uvoľnení tlačidla myši sa zobrazí kontextová ponuka: ak kliknete na túto položku kontextovej ponuky, vlastnosť svn:externals
sa pridá automaticky. Všetko, čo musíte urobiť, je vykonať zmeny vlastností a aktualizovať ich, aby boli tieto externé súbory správne zahrnuté do vašej pracovnej kópie.
Jednou z funkcií systémov správy verzií je schopnosť izolovať zmeny na samostatnej línii vývoja. Táto línia je známa ako vetva. Vetvy sa často používajú na vyskúšanie nových funkcií bez toho, aby došlo k narušeniu hlavnej línie vývoja chybami a chybami kompilátora. Akonáhle je nová funkcia dostatočne stabilná, potom je vývojová vetva zlúčená späť do hlavnej (kmeňovej) vetvy.
Ďalšou vlastnosťou systémov na správu verzií je schopnosť označiť konkrétne verzie (napr. vydanú verziu), aby ste mohli kedykoľvek znovu vytvoriť určitú zostavu alebo prostredie. Tento proces je známy ako označenie príznakom .
Subversion nemá špeciálne príkazy na vetvenie alebo označovanie príznakom, ale používa namiesto toho tzv. “odľahčené kópie”. Odľahčené kópie sú podobné pevným odkazom v systéme Unix, čo znamená, že namiesto vytvorenia úplnej kópie v úložisku sa vytvorí interný odkaz, ktorý ukazuje na konkrétny strom/revíziu. Vďaka tomu sa vetvy a príznaky vytvárajú veľmi rýchlo a v úložisku nezaberajú takmer žiadne ďalšie miesto.
Ak ste importovali svoj projekt s odporúčanou štruktúrou priečinkov, vytvorenie verzie pobočky alebo príznaku je veľmi jednoduché:
Vyberte priečinok vo svojej pracovnej kópii, ktorý chcete skopírovať do vetvy alebo príznaku a potom vyberte príkaz → .
Predvolená cieľová adresa URL pre novú vetvu bude zdrojová adresa URL, na ktorej je založená vaša pracovná kópia. Túto adresu URL budete musieť upraviť na novú cestu k svojej vetve/príznaku. Takže namiesto
http://svn.collab.net/repos/ProjectName/trunk
teraz môžete použiť niečo ako
http://svn.collab.net/repos/ProjectName/tags/Release_1.10
Ak si nepamätáte, aké pomenovanie ste použili naposledy, kliknutím pravým tlačidlom otvoríte prehľadávač úložiska, aby ste si mohli prezrieť existujúcu štruktúru úložiska.
Keď zadáte cieľovú adresu URL, musia už existovať všetky priečinky až po posledný, inak sa zobrazí chybové hlásenie. Vo vyššie uvedenom príklade musí existovať na vytvorenie príznaku Release_1.10
adresa URL http://svn.collab.net/repos/ProjectName/tags/
.
Ak však chcete vytvoriť vetvu/príznak na adrese URL, ktorá má medziľahlé priečinky, ktoré ešte neexistujú, môžete zaškrtnúť túto možnosť Vytvoriť medzľahlé priečinky
v dolnej časti dialógového okna. Ak je táto možnosť aktivovaná, automaticky sa vytvoria všetky medziľahlé priečinky.
Upozorňujeme, že táto možnosť je v predvolenom nastavení zakázaná, aby nedošlo k preklepom. Napríklad, ak ste zadali cieľovú adresu URL ako http://svn.collab.net/repos/ProjectName/Tags/Release_1.10
namiesto http://svn.collab.net/repos/ProjectName/tags/Release_1.10
, pri vypnutej možnosti by sa vyskytla chyba, ale pri zapnutej možnosti zapnutej by sa priečinok Tags
vytvoril automaticky a vy by ste skončili s priečinkom Tags
a priečinkom tags
.
Teraz musíte zvoliť zdroj kópie. Tu máte tri možnosti:
Nová vetva sa skopíruje priamo do úložiska z revízie HEAD. Z pracovnej kópie nie je potrebné prenášať žiadne údaje a vetva sa vytvorí veľmi rýchlo.
Nová vetva sa skopíruje priamo do úložiska, môžete si však zvoliť staršiu verziu. To je užitočné, ak ste zabudli vytvoriť príznak, keď ste minulý týždeň vydali svoj projekt. Ak si nepamätáte číslo revízie, kliknutím na tlačidlo vpravo zobrazíte záznam revízií a odtiaľ vyberiete číslo revízie. Z vašej pracovnej kópie sa opäť neprenášajú žiadne údaje a vetva sa vytvorí veľmi rýchlo.
Nová vetva je identická kópia vašej miestnej pracovnej kópie. Ak ste aktualizovali niektoré súbory na staršiu verziu vo vašej pracovnej kópii alebo ak ste vykonali lokálne zmeny, presne to ide do kópie. Prirodzene, tento druh komplexného príznaku môže zahŕňať prenos údajov z vašej pracovnej kópie späť do úložiska, ak tam už neexistuje.
Ak chcete, aby sa vaša pracovná kópia automaticky prepínala do novovytvorenej vetvy, zaškrtnite políčko Prepnúť pracovnú kópiu na novú vetvu/príznak. Ak to však urobíte, najskôr sa ubezpečte, že vaša pracovná kópia neobsahuje úpravy. Ak sa tak stane, tieto zmeny sa pri prepnutí zlúčia do vetvy pracovnej kópie.
Ak vaša pracovná kópia obsahuje ďalšie projekty s vlastnosťou svn:externals
, tieto externé položky budú uvedené v spodnej časti dialógového okna vetvy/príznaku. Pre každú externú adresu sa zobrazí cieľová cesta a zdrojová adresa URL.
Ak sa chcete ubezpečiť, že nový príznak je vždy v konzistentnom stave, skontrolujte všetky externé stránky, aby ich revízie mali pripnuté. Ak neskontrolujete externé komponenty a tieto externé komponenty odkazujú na revíziu HEAD, ktorá sa v budúcnosti môže zmeniť, kontrolou nového príznaku sa skontroluje, či sa HEAD revízia externá a vášho príznaku už nemusí skompilovať. Pri vytváraní príznaku je preto vždy dobré upraviť externé na explicitné revízie.
Externé zdroje sa automaticky pripnú buď k aktuálnej revízii HEAD, alebo k revízii bázy pracovnej kópie, v závislosti od zdroja vetvy/príznaku:
Tabuľka 4.1. Pripnutá revízia
Zdroj kópie | Pripnutá revízia |
---|---|
HEAD revízia v úložisku | HEAD revízie externého úložiska |
Určená revízia v úložisku | HEAD revízie externého úložiska |
Pracovná kópia | externá revízia bázy pracovnej kópie |
Ak projekt, ktorý je zahrnutý ako externý, obsahuje sám o sebe externé zdroje, tento nebude označený príznakom. Označiť príznakom možno iba externé podriadené položky.
Stlačte vnútri úložiska.
pre odovzdanie novej kópie do úložiska. Nezabudnite uviesť správu záznamu. Upozorňujeme, že kópia je vytvorenáUpozorňujeme, že pokiaľ ste sa nerozhodli prepnúť svoju pracovnú kópiu na novovytvorenú vetvu, vytvorenie vetvy alebo príznaku neovplyvní vašu pracovnú kópiu. Aj keď vytvoríte vetvu zo svojej pracovnej kópie, tieto zmeny sa vykonajú v novej vetve, nie v kmeni, takže vaša pracovná kópia môže byť stále označený ako upravená vzhľadom ku kmeňu.
Môžete tiež vytvoriť vetvu alebo príznak bez pracovnej kópie. Ak to chcete urobiť, otvorte prehľadávač úložiska. Môžete tam presunúť priečinky na nové miesto. Musíte pridržať Ctrl pri vytváraní kópie ťahaním, inak sa priečinok presunie, nie skopíruje.
Priečinok môžete pretiahnuť aj stlačenom pravom tlačidle myši. Po uvoľnení tlačidla myši môžete si z kontextovej ponuky vybrať, či chcete priečinok presunúť alebo skopírovať. Ak chcete vytvoriť vetvu alebo príznak, musíte priečinok samozrejme skopírovať a nie ho presunúť.
Ďalším spôsobom je dialógové okno záznamu. Môžete zobraziť dialógové okno záznamu napr. pre kmeň, vyberte revíziu (buď HEAD revíziu úplne hore alebo predošlú revíziu), kliknutím na ňu pravým tlačidlom myši a vyberte
....to je (nie naozaj) otázka. Zatiaľ čo overenie stiahne všetko z požadovanej vetvy v úložisku do vášho pracovného priečinka,
→ prenesie iba zmenené údaje do vašej pracovnej kópie. Dobré pre zaťaženie siete, dobré pre vašu trpezlivosť. :-)Aby ste mohli pracovať s vašou čerstvo vygenerovanou vetvou alebo príznakom, máte k dispozícii niekoľko spôsobov, ako s nimi pracovať. Môžete:
→ vykoná nové overenie v prázdnom priečinku. Môžete overovať na ľubovoľnom mieste na lokálnom disku a zo svojho úložiska môžete vytvoriť toľko pracovných kópií, koľko chcete.
Prehoďte svoju aktuálnu pracovnú kópiu na novovytvorenú kópiu v úložisku. Znova vyberte priečinok najvyššej úrovne vášho projektu a použite
→ z kontextovej ponuky.V nasledujúcom dialógovom okne zadajte adresu URL práve vytvorenej vetvy. Vyberte prepínač HEAD revízia kliknite na . Vaša pracovná kópia sa prehodí do novej vetvy/príznaku.
Prehodenie funguje rovnako ako aktualizácia, pretože nikdy nezruší vaše miestne zmeny. Všetky zmeny, ktoré ste vo svojej pracovnej kópii vykonali a ktoré ešte neboli odovzdané, budú zlúčené, keď urobíte prehodenie. Ak si neželáte, aby tak stalo, musíte zmeny pred prehodením buď odovzdať, alebo vrátiť svoju pracovnú kópiu k už odovzdanejj revízii (zvyčajne HEAD).
Ak chcete pracovať na kmeni a vetve, ale nechcete mať výdavky s čerstvým overením, môžete použitím prieskumníka Windows vytvoriť kópiu overenia svojho kmeňa do iného priečinka, potom príkazom
→ to skopírujete do svojej novej vetvy.Aj keď Subversion sám nerozlišuje medzi príznakmi a vetvami, spôsob, akým sa zvyčajne používajú, sa trochu líši.
Príznaky sa zvyčajne používajú na vytvorenie statickej snímky projektu v konkrétnej fáze. Z tohto dôvodu sa bežne nepoužívajú na vývoj - na to slúžia vetvy a preto odporúčame v prvom rade štruktúru úložiska /trunk /branches /tags
. Práce na revízii príznakov nie je dobrým nápadom, ale pretože vaše lokálne súbory nie sú chránené proti zápisu, nič vám v tom nebráni. Ak sa však pokúsite odovzdávať na ceste úložiska, ktorá obsahuje /tags/
, TortoiseSVN vás varuje.
Môže sa stať, že budete musieť urobiť ďalšie zmeny vo vydaní, ktoré ste už označili príznakom. Správnym spôsobom, ako to vyriešiť, je vytvoriť najskôr novú vetvu z príznaku a odovzdať vetvu. Vykonajte zmeny v tejto vetve a potom vytvorte nový príznak z tejto novej vetvy, napr. Verzia_1.0.1
.
Ak upravíte a odovzdáte pracovnú kópiu vytvorenú z vetvy, všetky zmeny prejdú do novej vetvy a nie do kmeňa. Uložené sú iba úpravy. Zvyšok zostáva odľahčenou kópiou.
Tam, kde sa vetvy používajú na udržiavanie samostatných vývojových línií, v určitej fáze budete chcieť zlúčiť zmeny vykonané na jednej vetve späť do kmeňa alebo naopak.
Je dôležité pochopiť, ako v Subversion funguje rozvetvenie a zlúčenie, skôr ako ho začnete používať, pretože sa to môže stať pomerne zložitým. Dôrazne sa odporúča prečítať si kapitolu Vetvenie a zlúčenie v knihe Subversion, ktorá poskytuje úplný popis a veľa príkladov toho, ako sa používa.
Ďalším bodom, ktorý je potrebné poznamenať, je, že zlúčenie vždy sa uskutočňuje pracovnej kópii. Ak chcete zlúčiť zmeny do vetvy, musíte mať pracovnú kópiu pre túto vetvu overenú a vyvolať sprievodcu zlúčením z tejto pracovnej kópie použitím → .
Všeobecne je dobré uskutočniť zlúčenie do nemodifikovanej pracovnej kópie. Ak ste vo svojej pracovnej kópii vykonali ďalšie zmeny, urobte to čo najskôr. Ak zlúčenie nepôjde podľa vašich očakávaní, možno budete chcieť vrátiť zmeny späť a príkaz Vrátiť zahodí všetky zmeny vrátane tých, ktoré ste vykonali pred zlúčením.
Existujú tri bežné prípady použitia zlúčenia, ktoré sú riešené mierne odlišnými spôsobmi, ako je popísané nižšie. Na prvej stránke sprievodcu zlúčením sa zobrazí výzva na výber požadovanej metódy.
Táto metóda sa vzťahuje na prípad, keď ste vykonali jednu alebo viac revízií vetvy (alebo kmeňa) a chcete preniesť tieto zmeny do inej vetvy.
O čo žiadate Subversion, je toto: “ Vypočítajte zmeny potrebné na získanie vetvy A [Z] revízie 1 [DO] vetvy A revízie 7 a tieto zmeny použite na moju pracovnú kópiu (kmeňa alebo vetvy B).”
Ak necháte rozsah revízií prázdny, Subversion použije funkcie sledovania zlúčenia na výpočet korektného rozsahu revízií na použitie. Toto sa nazýva reintegrácia alebo automatické zlúčenie.
Toto je všeobecnejší prípad metódy reintegrácie. Čo žiadate o Subversion, je: “ Vypočítajte zmeny potrebné na to, aby bola hlavná revízia [Z] kmeňa [DO] hlavnej revízie vetvy a tieto zmeny boli aplikované na moju pracovnú kópiu (kmeňa).” Čistým výsledkom je, že kmeň teraz vyzerá presne ako vetva.
Ak váš server/úložisko nepodporuje trasovanie zlúčenia, je to jediný spôsob, ako zlúčiť vetvu späť do kmeňa. Iný prípad použitia nastáva, keď používate vetvy dodávateľa a musíte následne zlúčiť zmeny po páde nového dodávateľa do kódu kmeňa. Viac informácií nájdete v kapitole dodávateľské vetvy v knihe Subversion.
V poli Z: zadajte úplnú adresu priečinka vetvy alebo príznaku obsahujúceho zmeny, ktoré chcete preniesť do svojej pracovnej kópie. Môžete tiež kliknúť na pre prehľadanie úložiska a nájdenie požadovanej vetvy. Ak predtým máte zlúčenie z tejto vetvy, stačí použiť rozvinovací zoznam, ktorý zobrazuje históriu predtým použitých adries URL.
Ak zlučujete z premenovanej alebo odstránenej vetvy, budete sa musieť vrátiť k revízii, kde táto vetva stále existovala. V tomto prípade budete tiež musieť určiť túto revíziu ako naviazanú revíziu v rozsahu zlúčených revízií (pozri nižšie), inak zlúčenie zlyhá, keď nenájdete túto cestu na HEAD.
V poli Rozsah revízií na zlúčenie zadajte zoznam revízií, ktoré chcete zlúčiť. Môže to byť jedna revízia, zoznam konkrétnych revízií oddelených čiarkami alebo rozsah revízií oddelených pomlčkou alebo ich ľubovoľná kombinácia.
Ak potrebujete určiť naviazanú revíziu pre zlúčenie, pridajte naviazanú revíziu na koniec revízií, napr. 5-7, 10@3
. V uvedenom príklade by sa zlúčili revízie 5, 6, 7 a 10, pričom 3 by bola naviazanou revíziou.
Existuje značný rozdiel v spôsobe určenia rozsahu revízií s TortoiseSVN v porovnaní s klientom príkazového riadku. Najjednoduchším spôsobom, ako si to predstaviť, je myslieť na plot so stĺpmi a plotovými panelmi.
V klientovi príkazového riadku zadáte zmeny, ktoré sa majú zlúčiť, pomocou dvoch “stĺpikov plotu” revízie, ktoré sú určené pred a po bodov.
S TortoiseSVN určíte sadu zmien, ktorú chcete zlúčiť “panely plotu”. Dôvod je zrejmý, keď v dialógovom okne záznamu určíte revízie na zlúčenie, kde sa každá revízia zobrazí ako sústava zmien.
Ak zlučujete revízie v blokoch, metóda uvedená v knihe Subversion vám umožní zlúčiť tentokrát 100-200 a nabudúce 200-300. S TortoiseSVN by ste tentokrát zlúčili 100-200 a nabudúce 201-300.
Tento rozdiel spôsobil veľa rozruchu v príspevkoch dopisovateľov. Uznávame, že existuje rozdiel od klienta príkazového riadku, ale veríme, že pre väčšinu užívateľov grafického užívateľského rozhrania je jednoduchšie pochopiť metódu, ktorú sme implementovali.
Najjednoduchší spôsob, ako zvoliť požadovaný rozsah revízií, je kliknúť na Shift). Kliknite na a naplní sa zoznam čísel revízií, ktoré sa majú zlúčiť.
, ako budú uvedené posledné zmeny s komentármi záznamu. Ak chcete zlúčiť zmeny z jednej revízie, jednoducho ju vyberte. Ak chcete zlúčiť zmeny z niekoľkých revízií, vyberte tento rozsah (obvyklým spôsobom modifikátoromAk chcete zlúčiť zmeny späť zo svojej pracovnej kópie, ak chcete vrátiť späť zmenu, ktorá už bola vykonaná, vyberte revízie, ktoré sa majú vrátiť a uistite sa, že je zaškrtnuté políčko Reverzné zlúčenie.
Ak ste už zlúčili niektoré zmeny z tejto vetvy, dúfajme, že si všimnete poslednú revíziu zlúčenú do správy záznamu, keď ste vykonali zmenu. V takom prípade môžete použiť
pre pracovnú kópiu na vysledovanie tejto správy záznamu. Pamätajte, že revízie považujeme za sústavu zmien, mali by ste použiť revíziu po koncovom bode posledného zlúčenia ako začiatočný bod tohto zlúčenia. Napríklad ak ste naposledy zlúčili revízie 37 až 39, východiskovým bodom pre toto zlúčenie by mala byť revízia 40.Ak používate funkcie Subversion na trasovanie zlúčenia, nemusíte si pamätať, ktoré revízie už boli zlúčené - Subversion to za vás zaznamená. Ak necháte rozsah revízií prázdny, zahrnú sa všetky revízie, ktoré ešte neboli zlúčené. Nájdete via prečítaním časti “Sledovanie zlučovania”.
Keď sa použijete trasovanie zlúčenia, dialógové okno záznamu zobrazí predtým zlúčené revízie a revízie staršie ako pred skopírovaním vetvy, t. j. pred skopírovaním vetvy. Zaškrtávacie políčko Skryť nezlučiteľné revízie umožňuje úplne odfiltrovať tieto revízie, takže uvidíte iba revízie, ktoré môžete zlúčiť.
Ak zmeny môžu robiť iní ľudia, buďte pri použití revízie HEAD opatrní. Nemusí sa to vzťahovať na revíziu, na ktorú myslíte, ak niekto cudzí vykonal odovzdanie po vašej poslednej aktualizácii.
Ak necháte rozsah revízií prázdny alebo máte prepínač všetky revízie zaškrtnutý, potom Subversion zlúči všetky zatiaľ nezlúčené revízie. Toto sa nazýva reintegrácia alebo automatické zlúčenie.
Existujú určité podmienky, ktoré sa vzťahujú na zlúčenie alebo reintegráciu. Najskôr musí server podporovať sledovanie zlúčenia. Pracovná kópia musí byť nekonečne hlboká (žiadne roztrúsené overenia) a nesmie obsahovať žiadne miestne úpravy, prehodené položky alebo vetvy, ktoré boli aktualizované na iné verzie ako HEAD. Všetky zmeny v kmeni vykonané počas vývoja vetvy musia byť zlúčené do vetvy (alebo označené ako zlúčené). Rozsah revízií na zlúčenie sa vypočíta automaticky.
Kliknite na tlačidlo “Možnosti zlúčenia” .
a prejdite do
Ak používate túto metódu na zlúčenie funkčnej vetvy späť do kmeňa, musíte spustiť sprievodcu zlúčením z pracovnej kópie kmeňa.
V poli Z: zadajte celú adresu URL priečinka kmeňa. Môže to znieť zle, ale nezabudnite, že kmeň je východiskový bod, do ktorého chcete pridať zmeny vetvy. Môžete tiež kliknúť na prehliadanie úložiska.
V poli Do: zadajte úplnú adresu priečinka funkčnej vetvy.
V oboch poliach Z revízie a Do revízie zadajte číslo poslednej revízie, pri ktorej boli tieto dva stromy synchronizované. Ak ste si istí, že nikto iný vykonáva odovzdanie, môžete v obidvoch prípadoch použiť revíziu HEAD. Ak existuje šanca, že od tejto synchronizácie mohol niekto iný vykonať odovzdanie, použite číslo konkrétnej revízie, aby ste nestratili novšie provízie.
Môžete tiež použiť
na výber revízie.Táto stránka sprievodcu vám umožňuje určiť rozšírené možnosti pred začatím procesu zlúčenia. Väčšinou stačí použiť predvolené nastavenie.
Môžete určiť hĺbku, ktorá sa má použiť na zlúčenie, t. j. ako hlboko do vašej pracovnej kópie má zlúčenie ísť. Použité pojmy hĺbky sú opísané v časti “Hĺbka overenia”. Predvolená hĺbka je Pracovná kópia, ktorá využíva existujúce nastavenie hĺbky a je takmer vždy to, čo chcete.
Väčšinou chcete zlúčením zohľadniť históriu súboru, aby sa zlúčili zmeny týkajúce sa spoločného predka. Niekedy bude možno potrebné zlúčiť súbory, ktoré možno súvisia, ale nie vo vašom úložisku. Napríklad môžete mať importované verzie 1 a 2 knižnice tretej strany do dvoch samostatných priečinkov. Aj keď logicky súvisia, Subversion o tom nevie, pretože vidí iba importované dechtové lopty. Ak sa pokúsite zlúčiť odlišnosti medzi týmito dvoma stromami, uvidíte úplné odstránenie a úplné pridanie. Ak chcete, aby Subversion používal iba odlišnosti založené na ceste a nie odlišnosti založené na histórii, zaškrtnite políčko Ignorovať predkov. Prečítajte si viac o tejto téme v knihe Subversion, časť Všímať si alebo ignorovať predkov .
Môžete určiť spôsob, akým sa bude zaobchádzať s ukončením riadkov a zmenami bielych znakov. Tieto možnosti sú popísané v časti “Ukončenia riadkov a biele znaky”. Predvolené správanie je považovať všetky biele znaky a odlišnosti medzi riadkami ako skutočné zmeny na zlúčenie.
Zaškrtávacie políčko je označené Vynútiť zlúčenie sa používa na zabránenie konfliktu stromov, pri ktorom prichádzajúce odstránenie ovplyvňuje súbor, ktorý je buď lokálne upravený, alebo je bezverziový. Ak je súbor odstránený, neexistuje žiadny spôsob, ako ho obnoviť a preto táto možnosť nie je predvolene zaškrtnutá.
Ak používate trasovanie zlúčenia a chcete označiť revíziu ako zlúčenú, bez skutočného zlúčenia na tomto mieste, zaškrtnite políčko Zaznamenať iba zlúčenie. Môžete to urobiť z dvoch možných dôvodov. Je možné, že zlúčenie je pre algoritmy zlúčenia príliš komplikované, takže zmeníte kód ručne a potom označíte zmenu ako zlúčenú, aby si to algoritmus sledovania zlúčenia bral do úvahy. Alebo budete chcieť zabrániť zlúčeniu konkrétnej revízie. Označenie ako už zlúčené zabráni tomu, aby k zlúčeniu došlo u klientov podporujúcich sledovanie zlúčenia.
Teraz je všetko nastavené, stačí kliknúť na tlačidlo neupravuje pracovnú kópiu. Ukáže vám zoznam súborov, ktoré sa zmenia skutočným zlúčením a zaznamená súbory, ktoré v konflikte môžu nastať. Pretože trasovanie zlúčenia značne komplikuje proces zlúčenia, neexistuje zaručený spôsob, ako vopred zistiť, či sa zlúčenie dokončí bez konfliktov, takže súbory označené v testovacom zlúčení ako konfliktné sa môžu v skutočnosti zlúčiť bez akýchkoľvek problémov.
. Ak chcete zobraziť náhľad výsledkov simuluje operáciu zlúčenia, ale vôbecDialógové okno priebehu zlúčenia zobrazuje každú fázu zlúčenia vrátane zahrnutých rozsahov revízií. Môže to znamenať ešte jednu revíziu, než ste čakali. Napríklad, ak ste požiadali o zlúčenie revízie 123, zobrazí sa dialógové okno o priebehu “Zlúčenie revízií 122 až 123”. Aby ste to pochopili, musíte si uvedomiť, že program Zlúčiť úzko súvisí s programom Porovnať odlišnosti. Proces zlúčenia funguje tak, že sa vygeneruje zoznam rozdielov medzi dvoma bodmi v úložisku a tieto rozdiely sa použijú na vašu pracovnú kópiu. Dialógové okno priebehu jednoducho zobrazuje začiatočný a koncový bod odlišnosti.
Zlúčenie je teraz dokončené. Je dobré sa pozrieť na zlúčenie a zistiť, či je podľa očakávaní. Zlúčenie je zvyčajne dosť komplikované. Konflikty často vznikajú, ak sa vetva posunula ďaleko od kmeňa.
Kedykoľvek sú revízie zlúčené do pracovnej kópie, TortoiseSVN vygeneruje správu záznamu zo všetkých zlúčených revízií. Tie sú potom k dispozícii na webe
v dialógovom okne odovzdania.Ak chcete prispôsobiť túto vygenerovanú správu, nastavte zodpovedajúce vlastnosti projektu vo svojej pracovnej kópii. Pozritesi časť “Šablóny správ záznamu zlúčenia”
Pre klientov a servery Subversion pred 1.5 sa neukladajú žiadne informácie o zlúčení a zlúčené revízie sa musia sledovať ručne. Keď ste zmeny otestovali a vykonali ste odovzdanie tejto revízie, mala by vaša správa záznamu odovzdania vždy obsahovať čísla revízií, ktoré boli prenesené do zlúčenia. Ak chcete neskôr použiť ďalšie zlúčenie, budete potrebovať vedieť, čo ste už zlúčili, pretože nechcete preniesť zmenu viackrát. Viac informácií o tomto nájdete na Osvedčené postupy pre zlúčenie v knihe Subversion.
Ak je na vašom serveri a všetkých klientoch spustený server Subversion 1.5 alebo novší, zariadenie na sledovanie zlúčenia zaznamená zmeny zlúčených revízií a zabráni viacnásobnému zlúčeniu revízií. To vám uľahčuje život, pretože môžete jednoducho zakaždým zlúčiť celý rozsah revízií a vedieť, že v skutočnosti budú zlúčené iba nové revízie.
Spravovanie vetvy je dôležité. Ak chcete túto vetvu udržiavať v aktualizovanom stave s kmeňom, mali by ste ich často zlučovať, aby sa vetva a kmeň nevzdiaľovali od seba príliš ďaleko. Samozrejme, stále by ste sa mali vyhnúť opakovanému zlučovaniu zmien, ako je vysvetlené vyššie.
Ak ste práve zlúčili vetvu funkcií späť do kmeňa, kmeň teraz obsahuje celý nový kód funkcií a vetva je zastaraná. Teraz ju môžete v prípade potreby odstrániť z úložiska.
Subversion nemôže zlúčiť súbor s priečinkom a naopak - iba priečinky do priečinkov a súbory do súborov. Ak kliknete na súbor a otvoríte dialógové okno zlúčenia, musíte v tomto dialógovom okne zadať cestu k súboru. Ak vyberiete priečinok a otvoríte dialógové okno, musíte určiť adresu URL priečinka pre zlúčenie.
Subversion 1.5 priniesol možnosti na sledovanie zlúčenia. Keď zlúčite zmeny z jedného stromu do druhého, uloží sa zlúčené čísla revízií a tieto informácie sa dajú použiť na niekoľko rôznych účelov.
Môžete sa vyhnúť nebezpečenstvu zlúčenia tej istej verzie dvakrát (problém s opakovaným zlúčením). Akonáhle je revízia označená ako zlúčená, budúce zlúčenia, ktoré obsahujú danú revíziu v rozsahu, ju preskočia.
Keď zlúčite vetvu späť do kmeňa, dialógové okno záznamu vám môže zobraziť, že je vetva odovzdaná ako súčasť záznamu kmeňa, čo umožňuje lepšie sledovanie zmien.
Keď zobrazíte dialógové okno záznamu z dialógového okna odovzdania, revízie, ktoré už boli zlúčené, sa zobrazia sivou farbou.
Pri zobrazovaní informácií o zodpovednosti za súbor môžete zvoliť, že sa namiesto autora zlúčenia zobrazí pôvodný autor zlúčených revízií.
Revízie môžete označiť ako nezlučované zahrnutím do zoznamu zlúčených revízií bez toho, aby došlo k ich zlúčeniu.
Informácie o sledovaní zlúčenia sú uložené vo vlastnosti svn:mergeinfo
klienta pri uskutočňovaní zlúčenia. Keď dôjde k zlúčeniu, server uloží tieto informácie do databázy a keď požadujete informácie o zlúčení, zázname alebo vyvodení zodpovednosti, server môže príslušne odpovedať. Aby systém fungoval správne, musíte zabezpečiť aktualizáciu servera, úložiska a všetkých klientov. Skorší klienti nebudú uchovávať vlastnosť svn:mergeinfo
a staršie servery nebudú poskytovať informácie požadované novými klientmi.
Viac informácií o sledovaní zlúčenia získate od spoločnosti Subversion Dokumentácia na sledovanie zlúčenia .
Text v dialógových oknách na riešenie konfliktov poskytuje knižnica SVN, a preto sa nemusí (zatiaľ) prekladať tak, ako sú dialógové okná TortoiseSVN. Ospravedlňujem sa za to.
Zlúčenie nemusí vždy prebehnúť hladko. Niekedy dôjde ku konfliktu. TortoiseSVN vám týmto procesom pomôže zobrazením dialógu zlúčiť konflikt.
Je pravdepodobné, že niektoré zo zmien sa spoja hladko, zatiaľ čo iné lokálne zmeny sú v rozpore so zmenami, ktoré sú už v úložisku potvrdené. Všetky zmeny, ktoré je možné zlúčiť, sa zlúčia. Dialógové okno Zlúčiť konflikt vám poskytuje rôzne spôsoby riešenia konfliktov.
V prípade normálnych konfliktov, ku ktorým dôjde v dôsledku zmien v obsahu súboru alebo jeho vlastnostiach, sa v dialógovom okne zobrazia tlačidlá, ktoré vám umožňujú zvoliť, ktoré z konfliktných častí sa majú zachovať alebo odmietnuť.
Teraz sa konflikt nerieši. Nechajte zlúčenie pokračovať a konflikty vyriešte po dokončení zlúčenia.
To ponechá súbor tak, ako bol, bez zmien vyplývajúcich zo zlúčenia ani zmien, ktoré ste vykonali vo svojej pracovnej kópii.
Týmto sa zahodia všetky miestne zmeny a použije sa súbor, ktorý prichádza zo zdroja zlúčenia.
Týmto sa zahodia všetky zmeny zo zdroja zlúčenia a ponechá sa súbor s miestnymi úpravami.
Týmto sa zahodia miestne zmeny, ktoré sú v konflikte so zmenami zo zdroja zlúčenia. Ponecháva však všetky vaše miestne zmeny, ktoré nie sú v konflikte.
Týmto sa zahodia zmeny zo zdroja zlúčenia, ktoré sú v konflikte s miestnymi zmenami. Zachová však všetky zmeny, ktoré nie sú v konflikte s miestnymi zmenami.
Označí konflikty ako vyriešené. Toto tlačidlo je deaktivované, kým ho nepoužijete tlačidlo
, aby ste konflikt upravili manuálne a uložili tieto zmeny späť do súboru. Po uložení zmien sa tlačidlo aktivuje.Spustí editor zlúčenia, aby ste mohli konflikty vyriešiť manuálne. Nezabudnite súbor uložiť, preto tlačidlo
sa stane povoleným.Ak dôjde ku konfliktu stromov, najskôr pozrite si časť “Konflikty stromov” o rôznych druhoch konfliktov stromov a o tom, ako a prečo k nim môže dôjsť.
Na vyriešenie konfliktov stromov po zlúčení sa zobrazí dialógové okno s rôznymi možnosťami riešenia konfliktu:
Pretože existujú rôzne možné konfliktné situácie v strome, v dialógovom okne sa zobrazia tlačidlá na ich vyriešenie v závislosti od konkrétneho konfliktu. Texty a štítky tlačidiel vysvetľujú, čo robí voľba riešenia konfliktu. Ak si nie ste istí, buď zrušte dialógové okno, alebo použite tlačidlo pre neskoršie vyriešenie konfliktu.
Keď vyvíjate novú funkciu v samostatnej vetve, je dobré po dokončení tejto funkcie vypracovať politiku opätovnej integrácie. Ak prebiehajú ďalšie práce na kmeni
zároveň môžete zistiť, že sa rozdiely časom stanú výraznými a spätné zlúčenie sa stane nočnou morou.
Ak je funkcia pomerne jednoduchá a vývoj nebude trvať dlho, môžete zvoliť jednoduchý prístup, ktorým je ponechať vetvu úplne oddelenú, kým nebude funkcia úplná, a potom zlúčiť zmeny vetvy späť do kmeňa. V sprievodcovi zlúčením by to bolo jednoduché Zlúčiť celý rozsah revízií, pričom rozsah revízií je rozsah revízií vetvy.
Ak bude táto funkcia trvať dlhšie a je potrebné zohľadniť zmeny v kmeni
, potom musíte vetvu synchronizovať. To jednoducho znamená, že pravidelne zlúčujete zmeny kmeňa do vetvy, takže vetva obsahuje všetky zmeny kmeňa plus novú funkciu. Proces synchronizácie používa Zlúčiť celý rrozsah revízií. Keď je funkcia dokončená, môžete ju zlúčiť späť do kmeňa
pomocou buď Znovu integrovať vetvu alebo Zlúčiť dva rôzne stromy .
Ďalším (rýchlym) spôsobom zlúčenia všetkých zmien z kmeňa do vetvy funkcií je použitie súboru Shift a kliknite pravým tlačidlom myši na súbor).
→ z rozšírenej kontextovej ponuky (pridržte stlačené tlačidlo
Tento dialóg je veľmi jednoduchý. Musíte len nastaviť možnosti zlúčenia, ako je opísané v časti “Možnosti zlúčenia”. Zvyšok vykoná TortoiseSVN automaticky použitím sledovania zlúčenia.
Subversion všeobecne funguje najlepšie bez zamykania použitím metód “Kopírovať, upraviť, zlúčiť” opísaných predtým v časti “Riešenie Kopírovať-Upraviť-Zlúčiť”. Existuje však niekoľko prípadov, keď budete musieť implementovať určitú formu politiky zamykania.
Používate “nezlúčiteľné” súbory, napríklad grafické súbory. Ak dvaja ľudia zmenia ten istý súbor, zlúčenie nie je možné, takže jeden z vás stratí svoje zmeny.
Vaša spoločnosť v minulosti vždy používala systém kontroly revízií zamykania a vedenie spoločnosti prijalo rozhodnutie, že “zamykanie je najlepšie” .
Najskôr sa musíte ubezpečiť, že je váš server Subversion inovovaný minimálne na verziu 1.2. Staršie verzie uzamykanie vôbec nepodporujú. Ak používate prístup file://
, potom je samozrejme potrebné aktualizovať iba vášho klienta.
V tejto časti a takmer všade v tejto knihe slová “zámok” a “zamykanie” opisujú mechanizmus vzájomného vylúčenia medzi používateľmi, aby sa zabránilo kolíziám odovzdaní. Bohužiaľ, existujú ďalšie dva druhy “zámku” s ktorými sa Subversion a teda aj táto kniha, niekedy potrebuje zaoberať.
Druhým je príkaz zamknúť pracovnú kópiu
, interne používaný programom Subversion na zabránenie kolízie medzi viacerými klientmi Subversion pracujúcimi na rovnakej pracovnej kópii. Tieto zámky sa zvyčajne zobrazia vždy, keď dôjde k prerušeniu z dôvodu chyby príkazu ako obnoviť/odovzdať/... Tieto zámky je možné odstrániť spustením príkazu vyčistenia pracovnej kópie, ako je opísané v časti “Vyčistiť” .
Tretím je, že sa súbory a priečinky sa môžu uzamknúť, ak ich používa iný proces, napríklad ak máte v programe Word otvorený dokument vo formáte Word, tento súbor je uzamknutý a TortoiseSVN k nim nemá prístup.
Všeobecne môžete na tieto ďalšie druhy zámkov zabudnúť, kým sa neudeje niečo, čo si vyžaduje, aby ste sa o ne postarali. V tejto knihe “zámok” znamená prvý druh, pokiaľ to nie je inak zrejmé z kontextu alebo to nie je výslovne uvedené.
V predvolenom nastavení nie je nič zamknuté a ktokoľvek, kto má prístup na odovzdanie, môže kedykoľvek vykonať zmeny v ľubovoľnom súbore. Ostatní budú pravidelne aktualizovať svoje pracovné kópie a zmeny v úložisku sa zlúčia s miestnymi zmenami.
Ak Získate zámok súboru, potom ho môžete odovzdať iba vy. Odovzdania všetkých ostatných používateľov budú blokované, kým zámok neuvoľníte. Zamknutý súbor nemožno v úložisku nijako upravovať, takže ho nemožno vymazať ani premenovať, okrem vlastníka zámku.
Zámok nie je priradený konkrétnemu užívateľovi, ale konkrétnemu užívateľovi a pracovnej kópii. Uzamknutie v jednej pracovnej kópii tiež zabráni tomu istému užívateľovi odovzdanie uzamknutého súboru z inej pracovnej kópie.
Ako príklad si predstavte, že používateľ Jon má na svojom PC pracovnú kópiu. Tam začne pracovať na obrázku a preto získa zámok daného súboru. Keď odchádza zo svojej kancelárie, ešte s tým súborom neskončil, takže ten zámok neuvoľní. Doma má Jon tiež pracovnú kópiu a rozhodne sa na projekte trochu viac popracovať. Ten istý obrazový súbor však nemôže upraviť ani odovzdať, pretože zámok pre tento súbor sa nachádza v jeho pracovnej kópii v kancelárii.
Ostatní používatelia však nemusia nevyhnutne vedieť, že ste obsadili zámok. Pokiaľ stav zámku pravidelne nekontrolujú, najskôr sa o tom dozvedia, keď zlyhá ich odovzdanie, čo nie je vo väčšine prípadov veľmi vhodné. Na uľahčenie správy zámkov existuje nová vlastnosť Subversion svn:needs-lock
. Keď je táto vlastnosť nastavená (na ľubovoľnú hodnotu) v súbore, pri každej rezervácii alebo aktualizácii súboru sa z miestnej kópie vytvorí iba na čítanie pokiaľ pracovná kópia obsahuje zámok súboru. Toto slúži ako varovanie, že by ste tento súbor nemali upravovať, pokiaľ ste predtým nezískali zámok. Súbory sú verziové a iba na čítanie sú v TortoiseSVN označené špeciálnym prekrytím, čo naznačuje, že pred úpravou musíte získať zámok.
Zámky sa zaznamenávajú podľa umiestnenia pracovnej kópie aj podľa vlastníka. Ak máte niekoľko pracovných kópií (doma, v práci), môžete zabrať iba jeden zámok týchto pracovných kópií.
Ak niekto z vašich spolupracovníkov získa zámok a potom odíde na dovolenku bez toho, aby ho uvoľnil, čo urobíte? Subversion poskytuje prostriedky na vynútenie uzamknutia. Uvoľnenie zámku, ktorý drží niekto iný, sa označuje ako prelomenie zámku a násilné získanie zámku, ktorý už drží niekto iný, sa označuje ako ukradnutie zámku. Prirodzene to nie sú veci, ktoré by ste mali robiť ľahkovážne, ak chcete zostať priateľmi so svojimi spolupracovníkmi.
Zámky sa zaznamenávajú v úložisku a vo vašej miestnej pracovnej kópii sa vytvorí značka zámku. Ak dôjde k nezrovnalosti, napríklad ak niekto iný prelomil zámok, značka miestneho zámku sa stane neplatnou. Úložisko je vždy definitívnym odkazom.
Vyberte súbory vo svojej pracovnej kópii, pre ktoré chcete získať zámok, a potom vyberte príkaz
→ .
Zobrazí sa dialógové okno, ktoré vám umožní zadať komentár, aby ostatní videli, prečo ste súbor uzamkli. Komentár je voliteľný a v súčasnosti sa používa iba s archívmi založenými na Svnserve. Ak (a len ak) potrebujete ukradnúť zámok niekomu inému, zaškrtnite Ukradnúť zámok a potom kliknite na .
Môžete nastaviť vlastnosť projektu tsvn:logtemplatelock
tak, aby poskytovala užívateľom šablóny správy na vyplnenie ako uzamknutú správu. Pokyny na nastavenie vlastností sú časti “Nastavenia Projektu”.
Ak vyberiete priečinok a potom použijete každý súbor v každom podpriečinku vybraného na uzamknutie. Ak chcete skutočne uzamknúť celú hierarchiu, je to spôsob, ako to urobiť, ale mohli by ste sa stať veľmi nepopulárnymi u vašich spolupracovníkov, ak by ste ich vylúčili z celého projektu. Používajte to opatrne...
→ dialógové okno uzamknutia otvoríAby ste nezabudli uvoľniť zámok, ktorý už nepotrebujete, uzamknuté súbory sa zobrazia v dialógovom okne odovzdania a predvolene sa vyberú. Ak budete pokračovať v odovzdávaní, zámky, ktoré máte na vybratých súboroch, sa odstránia, aj keď súbory neboli upravené. Ak nechcete uvoľniť zámok pre určité súbory, môžete ich zaškrtnutie zrušiť (ak nie sú upravené). Ak si chcete ponechať zámok nad súborom, ktorý ste upravili, musíte povoliť zaškrtávacie políčko Uchovať zámky pred vykonaním zmien.
Ak chcete zámok uvoľniť manuálne, vyberte v pracovnej kópii súbory, pre ktoré chcete zámok uvoľniť, a potom vyberte príkaz
→ . Nie je už čo zadávať, takže TortoiseSVN kontaktuje úložisko a uvoľní zámky. Tento príkaz môžete tiež použiť v priečinku na rekurzívne uvoľnenie všetkých zámkov.
Pre pozretie zabratia zámku vami alebo inými, môžete použiť → . Lokálne držané značky zámku sa zobrazia okamžite. Ak chcete skontrolovať zámky, ktoré držia iní (a zistiť, či nie sú niektoré z vašich zámkov prelomené alebo ukradnuté), musíte kliknúť na .
Z kontextovej ponuky môžete tiež získať a uvoľniť zámky, ako aj prelomiť a ukradnúť zámky držané inými.
Ak prelomíte alebo ukradnete zámok niekoho iného bez toho, aby ste to nepovedali, môžete potenciálne spôsobiť stratu práce. Ak pracujete s nezlúčiteľnými typmi súborov a ukradnete zámok niekoho iného, po uvoľnení zámku bude môcť skontrolovať svoje zmeny a prepísať tie vaše. Subversion nestráca údaje, ale stratíte tímovú ochranu, ktorú vám poskytlo uzamknutie.
Ako už bolo spomenuté vyššie, najefektívnejším spôsobom použitia zamknutia je nastavenie vlastnosti svn:needs-lock
na súboroch. Pokyny na nastavenie vlastností sú v časti “Nastavenia Projektu”. Súbory s týmto nastavením vlastnosti budú vždy kontrolované a aktualizované so nastavením príznaku iba na čítanie, pokiaľ vaša pracovná kópia neobsahuje zámok.
Pripomíname, že TortoiseSVN to označuje špeciálnym prekrytím.
Ak uplatňujete politiku, pri ktorej musí byť každý súbor uzamknutý, môže byť jednoduchšie použiť funkciu automatických rekvizít Subversion na automatické nastavenie vlastnosti vždy, keď pridáte nové súbory. Pre ďalšie informácie si prečítajte časť “Automatické nastavenie vlastnosti”.
Keď vytvoríte nové úložisko so Subversion 1.2 alebo vyšším, v priečinku úložiska hooks
sa vytvoria štyri šablóny háku. Nazývajú sa pred a po získaní zámku a pred a po uvoľnení zámku.
Je dobrý nápad nainštalovať skripty háku pred zamknutím
a po odomknutí
na serveri, ktorý odošle e-mail s oznámením o zamknutom súbore. Po zavedení takého skriptu môžu byť všetci vaši používatelia upozornení, ak niekto uzamkne/odomkne súbor. Nájdete ukážkový skript háku v priečinku hooks/post-lock.tmpl
vo vašom úložisku.
Môžete tiež použiť háky na zakázanie prelomenia alebo ukradnutie zámkov, alebo ich môžete obmedziť na menovaného správcu. Prípadne môžete vlastníkovi poslať e-mail, keď je jeden z jeho zámkov prelomený alebo ukradnutý.
Ak sa chcete dozvedieť viac prečítajte si časť “Skripty háku na strane servera”.
V prípade projektov s otvoreným zdrojom (ako je tento) má každý prístup na čítanie do úložiska a každý môže do projektu prispievať. Ako sa teda tieto príspevky kontrolujú? Keby sa zmien mohol odovzdať ktokoľvek, projekt by bol trvale nestabilný a pravdepodobne trvale narušený. V tejto situácii sa zmena spravuje odovzdaním súboru opravnej záplaty vývojárskemu tímu, ktorý má prístup na zápis. Ten môže najskôr skontrolovať opravnú záplaru a potom ju buď odoslať do úložiska, alebo vrátiť späť autorovi.
Súbory opravnej záplaty sú jednoducho súbory zjednotených odlišností, ktoré zobrazujú rozdiely medzi vašou pracovnou kópiou a základnou revíziou.
Najprv musíte urobiť a otestovať vaše zmeny. Potom namiesto použitia → v nadradenom priečinku vyberiete →
teraz môžete vybrať súbory, ktoré chcete zahrnúť do opravnej záplaty, rovnako ako pri plnom odovzdaní. Takto sa vytvorí jeden súbor obsahujúci súhrn všetkých zmien, ktoré ste vo vybraných súboroch vykonali od poslednej aktualizácie z úložiska.
Stĺpce v tomto dialógovom okne je možné prispôsobiť rovnakým spôsobom ako stĺpce v dialógu Skontrolovať zmeny. Pre ďalšie podrobnosti si prečítajte časť “Lokálny a vzdialený stav”.
Kliknutím na tlačidlo Možnosti môžete určiť, ako je opravná záplata vytvorená. Môžete napríklad určiť, že zmeny v zakončení riadkov alebo bielych znakoch nebudú zahrnuté v konečnom súbore opravnej záplaty.
Môžete vytvoriť samostatné opravné záplaty obsahujúce zmeny v rozdielnych sústavách súborov. Samozrejme, ak vytvoríte súbor opravnej záplaty, urobíte v ňom ďalšie zmeny tých istých súborov a potom vytvoríte ďalšiu opravnú záplatu, druhý súbor opravnej záplaty bude obsahovať obe sústavy zmien.
Stačí uložiť súbor použitím názvu súboru podľa vášho výberu. Súbory opravnej záplaty môžu mať ľubovoľnú príponu, ktorá sa vám páči, ale podľa konvencie by mali používať .diff
alebo .dif
príponu. Teraz ste pripravení odovzdať svoj súbor opravnej záplaty.
.txt
, ak ho chcete poslať e-mailom niekomu inému. S obyčajnými textovými súbormi sa často manipuluje pomocou e-mailového softvéru a často sa stáva, že medzery a znaky nového riadku sa automaticky prevedú a skomprimujú. Ak sa to stane, oprava sa neprebehne hladko. Takže použite ako príponu .patch
alebo .diff
pri uložení súboru opravnej záplaty.Opravnú záplatu môžete tiež uložiť do schránky namiesto do súboru. Možno to budete chcieť urobiť, aby ste ju mohli vložiť do e-mailu na spracovanie ostatnými. Alebo ak máte na jednom stroji dve pracovné kópie a chcete preniesť zmeny z jednej do druhej, je to pohodlný spôsob vykonania opravnej záplaty schránkou.
Ak chcete, môžete vytvoriť súbor opravnej záplaty zvnútra dialógových okien Odovzdania alebo Kontroly úprav. Jednoducho vyberte súbory a použitím položky z kontextovej ponuky vytvorte opravnú záplatu z týchto súborov. Ak chcete vidieť dialógové okno Možnosti musíte pridržať Shift pri kliknutí pravým tlačidlom myši.
Na vašu pracovnú kópiu sa použijú súbory opravnej záplaty. Toto by sa malo robiť z rovnakej úrovne priečinkov, ktorá bola použitá na vytvorenie opravnej záplaty. Ak si nie ste istí, čo to je, stačí sa pozrieť na prvý riadok súboru opravnej záplaty. Napríklad ak bol prvý súbor, na ktorom sa pracovalo doc/source/english/chapter1.xml
a prvý riadok v súbore opravnej záplaty je Index: english/chapter1.xml
potom musíte použiť opravnú záplatu na priečinok doc/source/
. Ak ste však v správnej pracovnej kópii a zvolíte nesprávnu úroveň priečinkov, TortoiseSVN na to upozorní a navrhne správnu úroveň.
Ak chcete na svoju pracovnú kópiu použiť súbor opravnej záplaty, musíte mať aspoň prístup na čítanie do úložiska. Dôvod je ten, že program zlúčenia musí odkazovať zmeny späť na revíziu, proti ktorej boli vykonané vzdialeným vývojárom.
V kontextovej ponuke pre tento priečinok kliknite na .diff
alebo .dif
súbory, ale môžete sa zvoliť “Všetky súbory”. Ak ste predtým uložili opravnú záplatu do schránky, môžete na otvorenie súboru použiť v dialógovom okne . Táto možnosť sa zobrazí, iba ak ste opravu uložili do schránky použitím → . Po skopírovaní opravy do schránky z inej aplikácie sa tlačidlo nezobrazí.
Prípadne, ak má súbor opravnej záplaty príponu .diff
alebo .dif
, môžete naňho kliknúť pravým tlačidlom myši priamo a vybrať → . V takom prípade sa zobrazí výzva na zadanie umiestnenia pracovnej kópie.
Tieto dve metódy ponúkajú rôzne spôsoby, ako robiť to isté. Prvým spôsobom vyberiete pracovnú kópiu a prehliadate na súbor opravnej záplaty. V druhom kroku vyberte súbor opravnej záplaty a prehliadate pracovnú kópiu.
Po výbere súboru opravnej záplaty a umiestnenia pracovnej kópie sa spustí TortoiseMerge, ktorý zlúči zmeny zo súboru opravnej záplaty s vašou pracovnou kópiou. V malom okne je zoznam súborov, ktoré boli zmenené. Dvakrát postupne kliknite na každú z nich, skontrolujte zmeny a uložte zlúčené súbory.
Oprava vzdialeného vývojára bola teraz použitá na vašu pracovnú kópiu, takže musíte odovzdaním umožniť všetkým ostatným prístup k zmenám v úložisku.
Niekedy potrebujete vedieť nielen to, aké riadky sa zmenili, ale aj to, kto presne zmenil konkrétne riadky v súbore. Vtedy sa hodí príkaz
→ , niekedy tiež označovaný ako príkaz poznámka.Tento príkaz uvádza pre každý riadok v súbore autora a revíziu, v ktorej bol riadok zmenený.
Ak vás nezaujímajú zmeny z predošlých revízií, môžete nastaviť revíziu, z ktorej by malo vyvodenie zodpovednosti vychádzať. Nastavte na 1
, ak chcete vyvodiť zodpovednosť za každú revíziu.
V predvolenom nastavení sa súbor vyvodenie zodpovednosti zobrazuje použitím aplikácie TortoiseBlame, ktorá zvýrazňuje rôzne revízie, aby sa sprehľadnilo čítanie. Ak chcete vytlačiť alebo upraviť súbor vyvodenia zodpovednosti, vyberte možnosť Na zobrazenie zodpovednosti použite textový prehliadač.
Môžete určiť spôsob, akým sa bude zaobchádzať so zmenami koncov riadkov a bielych znakov. Tieto možnosti sú popísané v časti “Ukončenia riadkov a biele znaky”. Predvolené správanie považuje všetky odlišnosti bielych znakov a koncov riadkov ako skutočné zmeny, ale ak chcete ignorovať zmenu odsadenia a nájsť pôvodného autora, môžete si tu zvoliť príslušnú možnosť.
Ak chcete, môžete zahrnúť aj informácie o zlúčení, hoci načítanie tejto možnosti zo servera môže trvať podstatne dlhšie. Keď sú riadky zlúčené z iného zdroja, informácia o zodpovednosti ukazuje revíziu, ktorá bola vykonaná v pôvodnom zdroji, ako aj revíziu, keď bola zlúčená do tohto súboru.
Akonáhle stlačíte
TortoiseSVN začne načítať údaje, aby vytvoril súbor vyvodenie zodpovednosti. Po dokončení procesu zodpovednosti sa výsledok zapíše do dočasného súboru a výsledky si môžete prezrieť.
TortoiseBlame, ktorý je súčasťou TortoiseSVN, uľahčuje čítanie súboru zodpovednosti. Keď umiestnite kurzor myši na čiaru v stĺpci Informácie o zodpovednosti, všetky riadky s rovnakou revíziou sa zobrazia na tmavšom pozadí. Riadky z iných revízií, ktoré zmenil ten istý autor, sú zobrazené na svetlom pozadí. Sfarbenie nemusí fungovať tak výrazne, ak máte displej nastavený iba na 256 farebný režim.
Ak kliknete ľavým tlačidlom na riadok, sú zvýraznené všetky riadky s rovnakou revíziou a riadky z iných revízií od rovnakého autora sú zvýraznené svetlejšou farbou. Toto zvýraznenie je priľnavé a umožňuje vám pohybovať myšou bez straty zvýraznenia. Opätovným kliknutím na túto revíziu vypnete zvýrazňovanie.
Komentáre revízií (správa záznamu) sa zobrazia v poli návodu vždy, keď kurzor myši prejde nad stĺpec s informáciami o zodpovednosti. Ak chcete skopírovať správu záznamu pre túto revíziu, použite kontextovú ponuku, ktorá sa zobrazí po kliknutí pravým tlačidlom myši na stĺpec s informáciami o zodpovednosti.
Vnútri správy o zodpovednosti môžete vyhľadávať použitím
→ . Takto môžete vyhľadávať čísla revízií, autorov a obsah samotného súboru. Do vyhľadávania nie sú zahrnuté správy záznamu - na ich prehľadanie by ste mali použiť dialógové okno záznamu.Môžete tiež preskočiť na konkrétne číslo riadku použitím
→ .Keď je myš nad stĺpcami s informáciami o zodpovednosti, je k dispozícii kontextová ponuka, ktorá pomáha pri porovnávaní revízií a skúmaní histórie s použitím čísla revízie riadku pod myšou ako referencie.
→ vygeneruje správu o zodpovednosti pre ten istý súbor, ale použije hornú hranicu predošlej revízie. Takto získate správu o zodpovednosti za stav súboru tesne pred poslednou zmenou riadku, na ktorý sa pozeráte. → spustí váš prehliadač odlišnosí a zobrazí vám, čo sa zmenilo v referenčnej revízii. → zobrazí dialógové okno záznamu revízií začínajúce referenčnou revíziou.Ak potrebujete lepší vizuálny indikátor toho, kde sa nachádzajú najstaršie a najnovšie zmeny, vyberte
→ . Týmto sa použije farebné stupňovanie na zobrazenie novších riadkov červenou farbou a starších riadkov modrej farby. Predvolené sfarbenie je dosť prehľadné, ale môžete ho zmeniť použitím nastavení TortoiseBlame.Ak používate funkciu Merge Tracking a požadujete informácie o zlúčení pri spustení vyvodenia zodpovednosti, zlúčené riadky sa zobrazia trochu inak. Ak sa riadok zmenil v dôsledku zlúčenia z inej cesty, TortoiseBlame zobrazí namiesto pôvodnej zmeny revíziu a autora poslednej zmeny v pôvodnom súbore. Tieto riadky sú označené kurzívou, ktorá zobrazuje revíziu a autora. Revízia, v ktorej došlo k zlúčeniu, sa zobrazí samostatne v popise nástroja, keď umiestnite kurzor myši na stĺpce s informáciami o zodpovednosti. Ak nechcete, aby sa zlúčené riadky zobrazovali týmto spôsobom, zrušte zaškrtnutie políčka Zahrnúť informácie o zlúčení pri spustení vyvodenia zodpovednosti.
Ak chcete vidieť cesty zahrnuté v zlúčení, vyberte
→ . Zobrazí sa cesta, kde sa riadok naposledy zmenil, s výnimkou zmien vyplývajúcich zo zlúčenia.Revízia uvedená v informáciách o zodpovednosti predstavuje poslednú revíziu, pri ktorej sa zmenil obsah tohto riadku. Ak bol súbor vytvorený kopírovaním iného súboru, potom kým nezmeníte riadok, jeho revízia viny zobrazí poslednú zmenu v pôvodnom zdrojovom súbore, nie revíziu, kde bola kópia vytvorená. To platí aj pre cesty zobrazené s informáciami o zlúčení. Cesta zobrazuje umiestnenie úložiska, kde bola urobená posledná zmena v danom riadku.
Nastavenia pre TortoiseBlame sú prístupné použitím “Nastavenia TortoiseBlame”.
→ na karte TortoiseBlame. Odvolávka na časťJedným z obmedzení správy o zodpovednosti je to, že zobrazuje iba súbor, aký bol v konkrétnej revízii a poslednú osobu, ktorá mení každý riadok. Niekedy chcete vedieť, aké zmeny sa uskutočnili a tiež to, kto ich urobil. Ak kliknete pravým tlačidlom myši na riadok v TortoiseBlame, máte položku kontextovej ponuky, aby ste zobrazili zmeny vykonané v tejto revízii. Ak však chcete vidieť zmeny a informácie o zodpovednosti súčasne, potrebujete kombináciu správ o odlišnostiach a zodpovednosti.
Dialógové okno záznamu revízií obsahuje niekoľko možností, ktoré vám to umožňujú.
Na hornom paneli vyberte 2 revízie a potom vyberte
→ . Týmto sa načítajú údaje o zodpovednosti za dve revízie, potom použitím prehliadača odlišností porovnajte dva súbory zodpovednosti.Vyberte jednu revíziu na hornom paneli, potom vyberte jeden súbor na spodnom paneli a vyberte
→ . Týmto sa načítajú údaje o zodpovednosti za vybranú revíziu a za predošlú verziu a potom sa použitím prehliadača odlišností porovnajú dva súbory so zodpovednosťou.Zobrazte záznam pre jeden súbor a na hornom paneli vyberte jednu revíziu a potom vyberte
→ . Týmto sa načítajú údaje o zodpovednosti pre vybranú revíziu a pre súbor pracovnej bázy potom použitím prehliadača odlišností porovnajte dva súbory zodpovednosti.Niekedy musíte pracovať priamo v úložisku bez toho, aby ste mali pracovnú kópiu. Tomu sa hovorí pre Prehliadač úložiska. Rovnako ako prieskumník a prekrytia ikon umožňujú zobraziť vašu pracovnú kópiu, tak prehľadávač úložiska umožňuje zobraziť štruktúru a stav úložiska.
Pomocou Prehliadača úložiska môžete vykonávať príkazy ako kopírovať, presúvať, premenovávať... priamo v úložisku.
Prehliadač úložiska vyzerá veľmi podobne ako prieskumník systému Windows, až na to, že zobrazuje obsah úložiska pri konkrétnej revízii, a nie súbory vo vašom počítači. Na ľavom paneli vidíte strom priečinkov a na pravom paneli je obsah vybraného priečinka. V hornej časti okna prehliadača úložiska môžete zadať adresu URL úložiska a revíziu, ktorú chcete prehliadať.
V prehľadávači úložiska sú tiež zobrazované priečinky, zahrnuté vo vlastnosti svn:externals
. Tieto priečinky sú zobrazené s malou šípkou, ktorá znamená, že nie sú súčasťou štruktúry úložiska, iba odkazmi.
Rovnako ako v programe Prieskumník Windows, môžete kliknúť na záhlavie stĺpca v pravom paneli, ak chcete nastaviť poradie zoradenia. Rovnako ako v programe Explorer sú v obidvoch paneloch k dispozícii kontextové ponuky.
Kontextová ponuka pre súbor umožňuje:
Otvorí vybraný súbor buď predvoleným prehliadačom pre daný typ súboru, alebo programom podľa vášho výberu. (iba súbory)
Upraviť vybraný súbor. Toto overí dočasnú pracovnú kópiu a spustí sa predvolený editor pre daný typ súboru. Ak ste zavreli program editácie a zmeny sa uložili, zobrazí sa dialógové okno na odovzdanie, ktoré vám umožní zadať komentár a vykonať odovzdanie.
Zobraziť záznam revízií pre tento súbor alebo graf všetkých revízií, aby ste videli, odkiaľ súbor pochádza.
Vytvoriť súbor vyvodenia zodpovednosti, aby ste zistili, kto a kedy zmenil ktorý riadok.
Overiť jeden súbor. Tak vznikne “roztrúsená” pracovná kópia, ktorá obsahuje iba tento jeden súbor.
Odstrániť alebo premenovať súbor.
Uložiť kópiu bezverziového súboru na váš pevný disk.
Kopírovať adresu URL zobrazenú v poli adries do schránky.
Vytvoriť kópiu súboru buď do inej časti úložiska, alebo do pracovnej kópie zakorenenej v rovnakom úložisku.
Zobraziť/upraviť vlastnosti súboru.
Vytvoriť skratku, aby ste mohli rýchlo znova spustiť prehliadač úložiska otvorený priamo na tomto mieste.
Kontextová ponuka pre priečinok vám umožňuje:
Zobraziť záznam revízií pre tento priečinok alebo graf všetkých revízií, aby ste videli, odkiaľ priečinok pochádza.
Exportovať priečinok do miestnej bezverziovej kópie na pevnom disku.
Overiť priečinok a vytvoriť miestnu pracovnú kópiu na pevnom disku.
Vytvoriť nový priečinok v úložisku.
Pridať bezverziové súbory alebo priečinky priamo do úložiska. Toto je efektívne operácia Subversion Import.
Odstrániť alebo premenovať priečinok.
Vytvoriť kópiu priečinka a to buď do inej časti úložiska, alebo do pracovnej kópie zakorenenej v rovnakom úložisku. To je tiež možné použiť na vytvorenie vetvy/príznaku bez potreby overenia pracovnej kópie.
Zobraziť/upraviť vlastnosti priečinka.
Označiť priečinok na porovnanie. Označený priečinok je zobrazený tučným písmom.
Porovnať priečinok s predtým označeným priečinkom a to buď ako zjednotený rozdiel, alebo ako zoznam zmenených súborov, ktoré je potom možné vizuálne porovnať odlišnosti predvoleným nástrojom na porovnanie odlišností. To môže byť užitočné najmä pri porovnaní dvoch príznakov alebo kmeňa a vetvy s cieľom zistiť, čo sa zmenilo.
Ak vyberiete dva priečinky na pravom paneli, môžete odlišnosti zobraziť ako zjednotené odlišnosti alebo ako zoznam súborov, ktoré je možné vizuálne porovnať odlišnosti predvoleným nástrojom na porovnanie odlišností.
Ak vyberiete viac priečinkov na pravom paneli, môžete ich všetky naraz overiť do spoločného nadradeného priečinka.
Ak vyberiete 2 príznaky, ktoré sa skopírujú z rovnakého koreňového priečinka (zvyčajne /trunk/
), môžete použiť → na zobrazenie zoznamu revízií medzi týmito dvoma bodmi príznakov.
Externé položky (odkazované použitím svn:externals
sú zobrazené aj v prehľadávači úložiska a môžete dokonca prejsť k podrobnostiam o obsahu priečinka. Externé položky sú označené červenou šípkou nad položkou.
Môžete použiť F5 pre obnovu náhľadu ako obvykle. Týmto sa obnoví všetko, čo sa práve zobrazuje. Ak chcete predbežne načítať alebo aktualizovať informácie pre uzly, ktoré ešte neboli otvorené, použite Ctrl-F5. Potom sa rozvinutie ľubovoľného uzla uskutoční okamžite bez oneskorenia v sieti, kým sa načítajú informácie.
Prehliadač úložiska môžete tiež použiť na operácie ťahaj a pusť. Ak presuniete priečinok z prieskumníka do prehliadača úložiska, importuje sa do úložiska. Upozorňujeme, že ak presuniete viac položiek, importujú sa v samostatných odovzdaniach.
Ak chcete presunúť položku v úložisku, stačí ju pretiahnuť pri stlačení ľavého tlačidla na nové miesto. Ak chcete namiesto presunutia položky vytvoriť kópiu, použite Ctrl-pretiahnuť pri stlačení ľavého tlačidla. Pri kopírovaní má kurzor symbol “plus”, rovnako ako v Prieskumníkovi.
Ak chcete skopírovať/presunúť súbor alebo priečinok na iné miesto a zároveň mu dať nový názov, môžete ho pretiahnuť pri stlačení pravého tlačidla myši alebo Ctrl-pretiahnuť pri stlačení pravého tlačidla myši namiesto použitia pretiahnutia pri stlačenom ľavom tlačidle myši. V takom prípade sa zobrazí dialógové okno premenovania, kde môžete zadať nový názov súboru alebo priečinka.
Kedykoľvek vykonáte zmeny v úložisku použitím jednej z týchto metód, zobrazí sa dialógové okno na zadanie správy. Ak ste niečo pretiahli omylom, je to tiež vaša šanca akciu zrušiť.
Niekedy sa pri pokuse o otvorenie cesty zobrazí chybové hlásenie namiesto podrobností o položke. Toto sa môže stať, ak ste zadali neplatnú adresu URL, alebo ak nemáte povolenie na prístup alebo ak nastal nejaký iný problém so serverom. Ak potrebujete túto správu skopírovať a zahrnúť do e-mailu, stačí na ňu kliknúť pravým tlačidlom myši a použiť Ctrl+C.
→ , alebo jednoducho použiťAdresy URL/úložísk uložené ako záložky sa zobrazujú pod aktuálnymi priečinkami úložiska v ľavom stromovom prehľade. Môžete tam pridať záznamy tak, že kliknete pravým tlačidlom myši na ľubovoľný súbor alebo priečinok a vyberiete → . Kliknutím na záložku prejdete do daného úložiska a súboru/priečinka.
Niekedy potrebujete vedieť, kde boli vetvy a príznaky prevzaté z kmeňa a ideálny spôsob, ako zobraziť tento druh informácií, je graf alebo stromová štruktúra. Práve vtedy musíte použiť →
Tento príkaz analyzuje históriu revízií a pokusy o vytvorenie stromu ukazujúceho body, v ktorých boli kópie urobené a kedy boli vetvy/príznaky odstránené.
Aby bolo možné vygenerovať graf, musí TortoiseSVN načítať všetky správy záznamov z koreňového úložiska. Netreba dodávať, že to môže trvať niekoľko minút aj pri repozitári s niekoľkými tisíckami revízií, v závislosti od rýchlosti servera, šírky pásma siete atď. Ak to skúsite s niečím ako je projekt Apache, ktorý má v súčasnosti viac ako 500 000 revízií, mohlo by to chvíľu trvať.
Dobrou správou je, že ak používate uchovanie záznamu, musíte toto oneskorenie strpieť iba raz. Potom sa údaje záznamu uchovávajú lokálne. Uchovanie záznamov do zásobníka povolené v nastaveniach TortoiseSVN.
Každý uzol grafu revízie predstavuje revíziu v úložisku, kde sa niečo zmenilo v strome, na ktorý sa pozeráte. Rôzne typy uzlov možno rozlíšiť podľa tvaru a farby. Tvary sú stále, ale farby je možné nastaviť použitím
→Položky, ktoré boli pridané alebo vytvorené kopírovaním iného súboru/priečinka, sú zobrazené použitím zaobleného obdĺžnika. Predvolená farba je zelená. Príznaky a kmene sa považujú za špeciálne puzdrá a používajú odlišný odtieň, v závislosti od
→ .Vymazané položky napr. vetva, ktorá už nie je potrebná, sú zobrazené pomocou osemuholníka (obdĺžnik s odrezanými rohmi). Predvolená farba je červená.
Premenované položky sa tiež zobrazujú pomocou osemuholníka, predvolená farba je však modrá.
Graf sa zvyčajne obmedzuje na zobrazovanie bodov vetvy, ale často je užitočné vidieť príslušnú revíziu HEAD aj pre každú vetvu. Ak vyberiete Zobraziť HEAD revízie, každý uzol HEAD revízie bude zobrazený ako elipsa. Upozorňujeme, že HEAD sa tu vzťahuje na poslednú revíziu vykonanú na tejto ceste, nie na HEAD revíziu úložiska.
Ak ste vyvolali graf revízie z pracovnej kópie, môžete zvoliť zobrazenie BASE revízie v grafe použitím Zobraziť revíziu pracovnej kópie, ktorý označuje uzol BASE tučným obrysom.
Ak ste vyvolali graf revízií z pracovnej kópie, môžete sa rozhodnúť zobraziť ďalší uzol predstavujúci vašu upravenú pracovnú kópiu použitím Zobraziť úpravy precovnej kópie. Toto je elipsovitý uzol, ktorý je v prednastavený na červenú farbu.
Všetky ostatné položky sú zobrazené použitím obyčajného obdĺžnika.
Upozorňujeme, že graf predvolene zobrazuje iba body, v ktorých boli položky pridané, kopírované alebo odstránené. Zobrazenie každej revízie projektu vygeneruje veľmi veľký graf pre nepodstatné prípady. Ak naozaj chcete vidieť všetky revízie, kde boli vykonané zmeny, je tu možnosť urobiť to v ponuke Zobraziť a na paneli nástrojov.
Predvolené zobrazenie (zoskupenie) umiestni uzly tak, aby ich zvislá poloha bola v prísnom poradí revízií, takže máte vizuálnu stopu pre poradie, v ktorom sa veci robili. Ak sú dva uzly v rovnakom stĺpci, je veľmi zrejmé poradie. Keď sú dva uzly v susedných stĺpcoch, posun je oveľa menší, pretože nie je potrebné zabrániť prekrývaniu uzlov, a preto je poradie o niečo menej zrejmé. Takéto optimalizácie sú potrebné na udržanie primeranej veľkosti zložitých grafov. Upozorňujeme, že pri tomto zaradzovaní sa používa hrana uzla na staršej strane ako referencia, t. j. spodný okraj uzla, keď je graf zobrazený s najstarším uzlom v dolnej časti. Referenčná hrana je významná, pretože tvary uzlov nie sú všetky rovnako vysoké.
Pretože je graf revízií často pomerne zložitý, existuje niekoľko funkcií, pomocou ktorých je možné prispôsobiť zobrazenie tak, ako chcete. Sú k dispozícii v ponuke Zobraziť a na paneli nástrojov.
Predvolené správanie (zoskupenie) má všetky riadky triedené striktne podľa revízií. Výsledkom je, že dlho žijúce vetvy s roztrúsenými odovzdaniami zaberajú celý stĺpec iba pre niekoľko zmien a graf sa stáva príliš širokým.
Tento režim zoskupuje zmeny podľa vetvy, takže neexistuje globálne poradie revízií: Následné revízie na vetve sa zobrazia v (často) po sebe nasledujúcich riadkoch. Čiastkové vetvy sú však usporiadané tak, že neskoršie vetvy sa zobrazia v rovnakom stĺpci nad skoršími vetvami, aby bol graf užší. Výsledkom je, že daný riadok môže obsahovať zmeny z rôznych revízií.
Normálne graf zobrazuje najstaršiu revíziu v dolnej časti a strom rastie nahor. Použitím tejto možnosti môže namiesto toho rásť zhora nadol.
Ak je graf rozdelený na niekoľko menších stromov, môžu sa stromy zobraziť buď v prirodzenom poradí revízií, alebo zarovnané v dolnej časti okna. Závisí to od toho, či používate možnosť Zoskupiť vetvy. Použitím tejto možnosti môžete namiesto toho pestovať všetky stromy zhora.
Táto možnosť je bežne povolená a bráni tomu, aby sa graf zobrazoval s množstvom zmätočne prekrížených čiar. Toto však môže tiež spôsobiť, že sa stĺpce rozloženia zobrazia na menej logických miestach, napríklad skôr v diagonálnej línii ako v stĺpci a graf môže vyžadovať na vykreslenie väčšiu plochu. Ak je to problém, môžete túto možnosť deaktivovať z ponuky Zobraziť.
Dlhé názvy ciest môžu zaberať veľa miesta a zväčšiť políčka uzlov. Táto voľba slúži na zobrazenie iba zmenenej časti cesty, ktorá nahradí bežnú časť bodkami. Napr. Ak si vytvoríte vetvu /branches/1.2.x/doc/html
z /trunk/doc/html
vetva by mohla byť zobrazená v kompaktnej podobe ako /branches/1.2.x/..
pretože posledné dve úrovne, doc
a html
sa nemenia.
Toto robí presne to, čo očakávate a zobrazuje každú revíziu, kde sa niečo (v strome, z ktorého vytvárate graf) zmenilo. Z dlhej histórie to môže vyprodukovať skutočne obrovský graf.
To zaisťuje, že najnovšia revízia každej pobočky sa vždy zobrazí v grafe.
Keď sa vytvorí vetva/príznak, predvoleným správaním je zobraziť vetvu prevzatú z posledného uzla, kde bola vykonaná zmena. Prísne vzaté, toto je nepresné, pretože vetvy sú často vytvorené skôr z aktuálnej HEAD ako z konkrétnej revízie. Je teda možné zobraziť správnejšiu (ale menej užitočnú) revíziu, ktorá bola použitá na vytvorenie kópie. Upozorňujeme, že táto revízia môže byť mladšia ako revízia HEAD zdrojovej vetvy.
Na uľahčenie navigácie vo veľkom grafe použite prehľadové okno. Celý tento graf sa zobrazí v malom okne so zvýraznenou aktuálne zobrazenou časťou. Presunutím zvýraznenej oblasti môžete zmeniť zobrazenú oblasť.
Dátum revízie, autor a komentáre sa zobrazia v políčku návodu vždy, keď sa kurzor myši vznáša nad políčkom revízie.
Ak vyberiete dve revízie (použite Ctrl-klik ľavým tlačidlom myši ), môžete použiť kontextovú ponuku na zobrazenie odlišností medzi týmito revíziami. Môžete si zvoliť zobrazovanie odlišností ako v bodoch vytvárania vetiev, ale zvyčajne budete chcieť zobrazovať rozdiely v koncových bodoch vetiev, t. j pri HEAD revíziách.
Rozdiely môžete zobraziť ako súbor zjednotených odlišností, ktorý zobrazuje všetky rozdiely v jednom súbore s minimálnym kontextom. Ak si zvolíte Dvojklikom na názov súboru pre načítanie oboch revízií súboru a porovnali sa nástrojom na vizuálne porovnanie odlišností.
→ zobrazí sa vám zoznam zmenených súborov.Ak kliknite pravým tlačidlom myši na revíziu môžete použiť → pre zobrazenie históriu.
Zmeny vo vybraných revíziách môžete tiež zlúčiť do inej pracovnej kópie. Dialógové okno výberu priečinka vám umožňuje si zvoliť pracovnú kópiu, do ktorej sa má zlúčiť, ale potom už nebude mať dialógové okno s odovzdaním možnosť vyskúšať testovacie zlúčenie. Dobrou myšlienkou je zlúčenie do nemodifikovanej pracovnej kópie, aby ste mohli zmeny vrátiť, ak to nevyjde! Toto je užitočná funkcia, ak chcete zlúčiť vybrané revízie z jednej vetvy do druhej.
Prvých používateľov môže prekvapiť skutočnosť, že graf revízií zobrazuje niečo, čo sa nezhoduje s mentálnym modelom používateľa. Ak napríklad revízia zmení viac kópií alebo vetiev súboru alebo priečinka, pre túto jednu revíziu bude viac uzlov. Je dobrým zvykom začať s možnosťami úplne zľava na paneli nástrojov a graf prispôsobiť krok za krokom, až kým sa nepriblíži k vášmu mentálnemu modelu.
Všetky možnosti filtra sa snažia stratiť čo najmenej informácií. To môže spôsobiť, že niektoré uzly napríklad zmenia svoju farbu. Kedykoľvek je výsledok neočakávaný, vráťte poslednú operáciu filtra a pokúste sa pochopiť, čo je na konkrétnej revízii alebo vetve zvláštne. Vo väčšine prípadov by bol pôvodne očakávaný výsledok operácie filtra buď nepresný alebo zavádzajúci.
Ak chcete znova skontrolovať server, či neobsahuje novšie informácie, môžete zobrazenie jednoducho obnoviť použitím F5. Ak používate zásobník záznamu (predvolene povolené), skontroluje sa tým, či sú v úložisku novšie odovzdania a načítané iba nové. Ak bol zásobník záznamov v režime offline, pokúsi sa tiež vrátiť späť online.
Ak používate zásobník záznamov a myslíte si, že sa obsah správy alebo autor mohli zmeniť, na obnovenie potrebných správ by ste mali použiť dialógové okno záznamu. Pretože graf revízií funguje z koreňa úložiska, museli by ste zrušiť platnosť celého zásobníka záznamu a opätovné vyplnenie by mohlo trvať veľmi dlho.
Veľký strom môže byť ťažko navigovateľný a niekedy budete chcieť skryť jeho časti alebo ho rozložiť na les menších stromov. Ak umiestnite kurzor myši na miesto, kde odkaz na uzol vstupuje alebo opúšťa uzol, uvidíte jedno alebo viac vyskakovacích tlačidiel, ktoré vám to umožnia.
Kliknutím na tlačidlo mínus zviniete priložený podstrom.
Kliknutím na tlačidlo plus rozviniete zvinutý strom. Keď sa strom zloží, toto tlačidlo zostane viditeľné, aby označilo skrytý podstrom.
Kliknite na tlačidlo krížika, aby ste rozdelili pripojený podstrom a zobrazili ho ako samostatný strom v grafe.
Kliknutím na tlačidlo krúžka znovu pripojíte rozdelený strom. Keď je strom rozdelený, toto tlačidlo zostane viditeľné, čo znamená, že existuje samostatný podstrom.
Kliknite na pozadie grafu pre hlavnú kontextovú ponuku, ktorá ponúka možnosti Rozvinúť všetko a Spojiť všetky. Ak žiadna vetva nebola zvinutá alebo rozdelená, kontextová ponuka sa nezobrazí.
Niekedy môžete potrebovať čistú kópiu svojho pracovného stromu bez priečinka .svn
, napr. na vytvorenie komprimovaného balíka ZIP vášho zdroja alebo na export na webový server. Namiesto vytvorenia kópie a následného manuálneho odstránenia priečinka .svn
, TortoiseSVN ponúka príkaz → . S exportom z adresy URL a exportom z pracovnej kópie sa zaobchádza trochu inak.
Ak vykonáte tento príkaz na bezverziovom priečinku, TortoiseSVN bude predpokladať, že vybraný priečinok je cieľový a otvorí dialógové okno na zadanie adresy URL a revízie, z ktorej sa má exportovať. V tomto dialógovom okne je možné exportovať iba priečinok najvyššej úrovne, vynechať externé odkazy a prepísať štýl konca riadku pre súbory, ktoré majú nastavenú vlastnosť svn:eol-style
.
Môžete samozrejme exportovať aj priamo z úložiska. Použite prehliadač úložiska na navigáciu k príslušnému podstromu vo vašom úložisku a potom použite Exportovať z adresy URL popísané vyššie.
→ . Dostanete dialógové oknoAk vykonáte tento príkaz na svojej pracovnej kópii, zobrazí sa výzva na uloženie čistej pracovnej kópie bez priečinka .svn
. Predvolene sa exportujú iba verziové súbory, ale môžete použiť zaškrtávacie políčko Exportovať aj bezverziové súbory na zahrnutie všetkých ďalších bezverziových súborov, ktoré existujú vo vašej pracovnej kópii v úložisku. Externé referencie použitím svn:externals
možno v prípade potreby vynechať.
Ďalším spôsobom, ako exportovať z pracovnej kópie, je pretiahnutie pri stlačenom pravom tlačidle myši priečinku pracovnej kópie na iné miesto a výberom → alebo → alebo → . Druhá možnosť zahŕňa aj bezverziové súbory. Tretia možnosť exportuje iba upravené položky, ale zachováva štruktúru priečinkov.
Ak pri exportovaní z pracovnej kópie cieľový priečinok už obsahuje priečinok s rovnakým názvom ako priečinok, ktorý exportujete, budete mať možnosť prepísať existujúci obsah alebo vytvoriť nový priečinok s automaticky vygenerovaným názvom, napr. Target (1)
.
Dialógové okno exportu neumožňuje export jednotlivých súborov, aj keď to Subversion umožňuje.
Pre export jednotlivých súborov pomocou TortoiseSVN, musíte použiť prehliadač úložiska (“Prehliadač úložiska”). Jednoducho pretiahnite súbory, ktoré chcete exportovať, z prehľadávača úložiska na miesto, kde ich chcete mať v prehľadávači, alebo súbory exportujte kontextovou ponukou v prehľadávači úložiska.
Ak chcete exportovať kópiu stromovej štruktúry projektu, ktorá obsahuje iba súbory, ktoré sa zmenili v konkrétnej revízii alebo medzi ľubovoľnými dvoma revíziami, použite funkciu porovnania revízií popísanú v časti “Porovnávanie priečinkov”.
Ak chcete exportovať stromovú štruktúru svojej pracovnej kópie, ktorá obsahuje iba súbory, ktoré sú lokálne upravené, prečítajte si časť SVN Exportovať zmenené položky sem popísanú vyššie.
Niekedy máte pracovnú kópiu, ktorú chcete previesť späť do normálneho priečinka bez priečinka .svn
. Všetko, čo musíte urobiť, je vymazať .svn
priečinok z koreňa pracovnej kópie.
Prípadne môžete priečinok exportovať do seba. V Prieskumníkovi Windows pretiahnite v sekcii priečinkov pri stlačení pravého tlačidla myši priečinok pracovnej kópie zo sekcie súboru na seba. TortoiseSVN zistí tento špeciálny prípad a opýta sa, či chcete vytvoriť bezverziovú pracovnú kópiu. Ak odpoviete Áno priečinok správy bude odstránený a budete mať obyčajný bezverziový strom priečinkov.
Ak sa vaše úložisko z nejakého dôvodu zmenilo, je to jeho umiestnenie (IP/URL). Možno ste sa dokonca zasekli a nemôžete sa odovzdávať a nechcete si znova overiť svoju pracovnú kópiu z nového miesta a presunúť všetky svoje zmenené údaje späť do novej pracovnej kópie, → je príkaz, ktorý hľadáte. V zásade robí veľmi málo: prepíše všetky adresy URL, ktoré sú spojené s každým súborom a priečinkom, novou adresou URL.
Táto operácia funguje iba s koreňovou pracovnou kópiou. Položka kontextovej ponuky sa teda zobrazuje iba pre korene pracovnej kópie.
Možno vás prekvapí, že TortoiseSVN kontaktuje úložisko v rámci tejto operácie. Všetko, čo robí, je vykonávanie jednoduchých kontrol, aby sa ubezpečil, že nová adresa URL skutočne odkazuje na to isté úložisko ako existujúca pracovná kópia.
Toto je veľmi zriedka používaná operácia . Príkaz premiestnenia je iba použije sa, ak sa zmenila URL koreňa úložiska. Možné dôvody sú:
Zmenila sa IP adresa servera.
Zmenil sa protokol (napr. http:// na https://).
Zmenila sa cesta koreňového úložiska v nastaveniach servera.
Inými slovami, musíte sa premiestniť, keď vaša pracovná kópia odkazuje na to isté miesto v rovnakom úložisku, ale samotné úložisko sa presunulo.
Neuplatňuje sa, ak:
Chcete sa presunúť do iného úložiska Subversion. V takom prípade by ste mali vykonať čisté overenie z nového umiestnenia úložiska.
Chcete prepnúť na inú vetvu alebo priečinok v rovnakom úložisku. Mali by ste to urobiť príkazom “Na overenie alebo na prepnutie...”.
→ . Pre viac informácií si prečítajte časťAk použijete premiestnenie v niektorom z vyššie uvedených prípadov, poškodí to vašu pracovnú kópiu a dostanete veľa nevysvetliteľných chybových správ pri aktualizácii, odovzdaní atď. Jedinou opravou je nové overenie.
Vo vývoji softvéru je veľmi bežné, že zmeny súvisia s konkrétnou chybou alebo ID problému. Používatelia systémov na sledovanie chýb (sledovače problémov) by chceli zmeny, ktoré vykonajú v Subversion, spojiť s konkrétnym ID v sledovači problémov. Väčšina nástrojov na sledovanie problémov preto poskytuje skript háku pred odovzdaním, ktorý analyzuje správu záznamu a vyhľadá ID chyby, s ktorou je odovzdanie spojené. Toto je do istej miery náchylné na chyby, pretože sa spolieha na to, že používateľ správu záznamu napíše správne, aby ho skript háku predbežného odovzdania mohol správne analyzovať.
TortoiseSVN môže pomôcť používateľovi dvoma spôsobmi:
Keď užívateľ zadáva správu záznamu, môže sa automaticky pridať presne definovaný riadok vrátane čísla problému súvisiaceho s odovzdaním. To znižuje riziko, že užívateľ zadá číslo problému spôsobom, ktorý nástroje na sledovanie chýb nedokážu správne analyzovať.
Alebo TortoiseSVN môže zvýrazniť časť zadanej správy záznamu, ktorá je rozpoznávaná sledovačom problémov. Užívateľ tak vie, že správu záznamu je možné správne analyzovať.
Keď používateľ prehľadáva správy záznamu, vytvorí TortoiseSVN z každého ID chyby v správe záznamu odkaz, ktorý spustí prehliadač v súvislosti so spomínaným problémom.
V TortoiseSVN si môžete integrovať nástroj na sledovanie chýb podľa svojho výberu. Aby ste to dosiahli, musíte definovať niektoré vlastnosti, ktoré sa musia začínať bugtraq:
. Tie musia byť nastavené v priečinkoch: (“Nastavenia Projektu”)
Pri úprave ktorejkoľvek z vlastností bugtraq sa použije špeciálny editor vlastností, ktorý uľahčí nastavenie vhodných hodnôt.
Existujú dva spôsoby integrácie TortoiseSVN s nástrojmi na sledovanie problémov. Jeden je založený na jednoduchých strunách, druhý je založený na regulárnych výrazoch. Vlastnosti používané oboma prístupmi sú:
Nastavte túto vlastnosť na adresu URL svojho nástroja na sledovanie chýb. Ten musí byť správne kódovaný URI a musí obsahovať %BUGID%
. %BUGID%
sa nahrádza číslom problému, ktoré ste zadali. Toto umožňuje TortoiseSVN zobraziť odkaz v dialógovom okne záznamu, takže keď sa pozeráte do záznamu revízií, môžete prejsť priamo na svoj nástroj na sledovanie chýb. Túto vlastnosť nemusíte poskytovať, ale potom TortoiseSVN zobrazí iba číslo problému a nie odkaz naňho. Napr. projekt TortoiseSVN používa http://issues.tortoisesvn.net/?do=details&id=%BUGID%
.
Môžete tiež použiť relatívne adresy URL namiesto absolútnych. Je to užitočné, keď je váš nástroj na sledovanie problémov na rovnakej doméne/serveri ako zdrojové úložisko. V prípade, že sa názov domény niekedy zmení, nemusíte upravovať vlastnosť bugtraq:url
. Existujú dva spôsoby, ako určiť relatívnu adresu URL:
Ak sa to začína reťazcom ^/
predpokladá sa, že je relatívny ku koreňu úložiska. Napríklad, ^/.. /?do=details&id=%BUGID%
bude riešené na https://tortoisesvn.net/?do=details&id=%BUGID%
ak je vaše úložisko umiestnené na https://tortoisesvn.net/svn/trunk/
.
Pri adrese URL, začínajúcej reťazcom /
sa predpokladá, že je relatívna k názvu hostiteľa servera. Napríklad /?do=details&id=%BUGID%
bude riešené na https://tortoisesvn.net/?do=details&id=%BUGID%
ak je vaše úložisko umiestnené kdekoľvek na https://tortoisesvn.net
.
Nastavte túto hodnotu na true
, ak chcete, aby vás program TortoiseSVN varoval z dôvodu prázdneho textového poľa s číslom problému. Platné hodnoty sú true/false
. Ak nie je definované, predpokladá sa false
.
V jednoduchom prístupe TortoiseSVN ukáže používateľovi samostatné vstupné pole, kde je možné zadať ID chyby. Potom sa k správe záznamu, ktorú zadal užívateľ, sa pridá/doplní samostatný riadok.
Táto vlastnosť aktivuje systém sledovania chýb v režime Vstupné pole. Ak je táto vlastnosť nastavená, potom vás TortoiseSVN po vykonaní zmien vyzve na zadanie čísla problému. Používa sa pridaním riadku na koniec správy záznamu. Musí obsahovať %BUGID%
, ktoré je pri potvrdení nahradené číslom problému. To zaistí, že váš záznam odovzdania obsahuje odkaz na číslo problému, ktorý je vždy v konzistentnom formáte a môže byť analyzovaný vašim nástrojom na sledovanie chýb a priradí číslo problému ku konkrétnemu odovzdaniu. Ako príklad môžete použiť Problém: %BUGID%
, ale to závisí od vášho nástroja.
Tento text zobrazuje TortoiseSVN v dialógovom okne odovzdania, aby označil editačné pole, kde zadáte číslo problému. Ak to nie je nastavené, bude zobrazené Bug-ID / Issue-Nr:
. Nezabúdajte však, že veľkosť okna sa nezmení tak, aby sa zmestil na túto menovku, takže veľkosť štítka udržujte pod 20 - 25 znakmi.
Ak je nastavené na true
v textovom poli číslo problému sú povolené iba čísla. Výnimkou je čiarka, takže môžete oddeliť čiarkou niekoľko čísel. Platné hodnoty sú true/false
. Ak nie je definované, predpokladá sa true
.
Táto vlastnosť definuje, či sa ID chyby pripojí (true) na koniec správy záznamu alebo sa vloží (false) na začiatku správy záznamu. Platné hodnoty sú true/false
. Ak nie je definované, predpokladá sa pravda
, aby sa existujúce projekty neporušili.
V prístupe k regulárnym výrazom, TortoiseSVN nezobrazuje samostatné vstupné pole, ale označuje časť správy záznamu, ktorú zadá užívateľ a ktorá je rozpoznaná nástrojom na sledovanie problémov. Toto sa deje, kým užívateľ píše správu do záznamu. To tiež znamená, že ID chyby môže byť v správe záznamu kdekoľvek! Táto metóda je oveľa flexibilnejšia a používa ju samotný projekt TortoiseSVN.
Táto vlastnosť aktivuje systém sledovania chýb v režime Regulárne výrazy. Obsahuje buď jeden regulárny výraz, alebo dva regulárne výrazy oddelené novým riadkom.
Ak sú nastavené dva výrazy, potom sa prvý výraz použije ako predbežný filter na vyhľadanie výrazov, ktoré obsahujú ID chýb. Druhý výraz potom extrahuje identifikátory prostých chýb z výsledku prvého regulárneho výrazu. To vám umožňuje použiť zoznam ID chýb a výrazov v prirodzenom jazyku, ak chcete. môžete napríklad opraviť niekoľko chýb a zahrnúť reťazec asi takto: “Táto zmena rieši problémy #23, #24 a #25” .
Ak chcete zachytiť ID chýb, ktoré sa používajú vo výraze vyššie, v správe záznamu, môžete použiť nasledujúce reťazce regulárneho výrazu, ktoré používa projekt TortoiseSVN: [Ii]ssues?:?(\s*(,|and)?\s*#\d+)+
a (\d+)
.
Prvý výraz sa vyberie “problémy #23, #24 a #25” z okolitej správy záznamu. Druhý regulárny výraz extrahuje z výstupu prvého regulárneho výrazu obyčajné číslo desiatkovej sústavy, takže sa vráti “23” ,“24” a “25” pre použitie ako ID chyby.
Ak prvý regulárny trochu rozoberieme, musí sa začínať slovom “issue”, prípadne s veľkým začiatočným písmenom. Potom prípadne nasleduje znak “ s” (viac ako jeden problém) a voliteľne dvojbodkou. Potom nasleduje jedna alebo viac skupín, z ktorých každá má nulovú alebo viacero úvodných medzier, voliteľnú čiarku alebo “and” a viac voliteľných medzier. Nakoniec je to povinné “#” a povinné číslo desiatkovej sústavy.
Ak je nastavený iba jeden výraz, musia sa ID prostých chýb zhodovať v skupinách reťazca regulárneho výrazu. Príklad: [Ii]ssue(?:s)? #?(\d+)
. Túto metódu vyžaduje niekoľko nástrojov na sledovanie čísel, napríklad trac, ale je ťažšie vytvoriť regulárny výraz. Túto metódu odporúčame použiť, iba ak vám to vyžaduje dokumentácia na sledovanie problémov.
Ak vám regulárne výrazy nie sú známe, pozrite sa časť v úvode https://en.wikipedia.org/wiki/Regular_expression a online dokumentáciu a návod na stránke http://www.regular-expressions.info/ .
Nie je vždy ľahké správne upraviť regulárny výraz, aby ste si pomohli, do dialógového okna vlastností bugtraq je zabudovaný testovací dialóg. Zobrazíte ju kliknutím na tlačidlo napravo od editačných polí. Tu môžete zadať testovací text a zmeniť každý regulárny výraz, aby ste videli dôsledky. Ak je regulárny výraz neplatný, pozadie textového poľa sa zmení na červenú.
Ak sú obe vlastnosti bugtraq:message
a bugtraq:logregex
nastavené, logregex
má prednosť.
Aj keď nemáte sledovač problémov s hákom predbežného potvrdenia, ktorý analyzuje vaše správy záznamu, stále môžete použiť tento nástroj na premenu problémov uvedených v správach záznamu na odkazy!
A aj keď odkazy nepotrebujete, čísla problémov sa zobrazia ako samostatný stĺpec v dialógovom okne záznamu, čo uľahčuje hľadanie zmien týkajúcich sa konkrétneho problému.
Niektoré vlastnosti tsvn:
vyžadujú hodnotu true/false
. TortoiseSVN tiež rozumie yes
ako synonymu pre true
a no
ako synonymu pre false
.
Aby systém fungoval tieto vlastnosti musia byť nastavené v priečinkoch. Keď odovzdáte súbor alebo priečinok, vlastnosti sa načítajú z tohto priečinka. Ak tam nenájde vlastnosti, TortoiseSVN bude prehľadávať strom priečinkov smerom nahor, až kým nenájde bezverziový priečinok, alebo koreň stromu (napr.C:\
). Ak si môžete byť istí, že každý užívateľ overí iba napr. kmeň/
a nie nejaký podpriečinok, potom stačí, ak nastavíte vlastnosti na priečinok kmeň/
. Ak si nie ste istí, mali by ste vlastnosti nastaviť rekurzívne pre každý podpriečinok. Nastavenie vlastnosti hlbšie v hierarchii projektu prepíše nastavenie na vyšších úrovniach (bližšie k priečinku kmeň/
).
Od verzie 1.8 používajú TortoiseSVN a Subversion takzvané zdedené vlastnosti
, čo znamená, že vlastnosť nastavená v priečinku sa automaticky implicitne nastaví aj vo všetkých podpriečinkoch. Nie je teda potrebné nastavovať vlastnosti všetkých priečinkov, ale iba koreňového priečinka.
Iba pre vlastnosti projektu, t. j. tsvn:
, bugtraq:
a webviewer:
môžete použiť zaškrtávacie políčko Rekurzívne na nastavenie vlastnosti na všetky podpriečinky v hierarchii bez nastavenia všetkých súborov.
Keď do pracovnej kópie pridáte nové podpriečinky pouziťím TortoiseSVN, všetky vlastnosti projektu prítomné v nadradenom priečinku sa automaticky pridajú aj do nového podradeného priečinka.
Pretože integrácia sledovača problémov závisí od prístupu k vlastnostiam Subversion, výsledky uvidíte iba pri použití overenej pracovnej kópie. Načítanie vlastností na diaľku je pomalá operácia, takže túto funkciu neuvidíte v akcii z prehliadača úložiska, pokiaľ ste nespustili prehliadač úložiska z pracovnej kópie. Ak ste spustili prehliadač úložiska zadaním adresy URL úložiska, táto funkcia sa nezobrazí.
Z rovnakého dôvodu sa vlastnosti projektu nebudú šíriť automaticky, keď sa použitím prehliadača úložiska pridá podradený priečinok.
Integrácia nástroja na sledovanie problémov sa neobmedzuje iba na TortoiseSVN; dá sa použiť s akýmkoľvek klientom Subversion. Ďalšie informácie sa nachádzajú v úplnom znení v časti Špecifikácia integrácie sledovača problémov v zdrojovom úložisku TortoiseSVN. V časti (“Licencia” sa vysvetľuje, ako získať prístup do úložiska.)
Predošlá časť sa zaoberá pridávaním informácií o problémoch do správ záznamu. Čo však v prípade, že potrebujete získať informácie zo sledovača problémov? Dialóg odovzdania má rozhranie COM, ktoré umožňuje integráciu externého programu, ktorý vie hovoriť s vaším sledovačom. Spravidla by ste mali chcieť zadať požiadavku do sledovača na získanie zoznamu otvorených problémov, ktoré vám boli pridelené, aby ste si mohli vybrať problémy, ktoré sa pri tomto odovzdaní riešia.
Každé takéto rozhranie je samozrejme veľmi špecifické pre váš systém sledovania problémov, takže nemôžeme poskytnúť túto časť. Popis, ako vytvoriť takýto program, je mimo rozsah tejto príručky. Definíciu rozhrania a ukážkové doplnky v C# a C++/ATL možno získať v priečinku contrib
v úložisku TortoiseSVN. (Časť “Licencia” vysvetľuje, ako získať prístup do úložiska.) Súhrn API je tiež uvedený v časti Kapitola 7, Rozhranie IBugtraqProvider. Ďalším (fungujúcim) príkladom doplnku v C# je aplikácia Gurtle, ktorá implementuje požadované rozhranie COM na interakciu so sledovačom problémov kódu Google.
Pre ilustráciu predpokladajme, že vám správca systému poskytol doplnok na sledovanie problémov, ktorý ste si nainštalovali, a že ste nastavili niektoré zo svojich pracovných kópií tak, aby ste doplnok mohli používať v dialógovom okne nastavení TortoiseSVN. Keď otvoríte dialógové okno odovzdania z pracovnej kópie, ku ktorej bol doplnok priradený, v hornej časti dialógového okna sa zobrazí nové tlačidlo.
V tomto príklade môžete vybrať jeden alebo viac otvorených čísel. Doplnok potom môže generovať špeciálne naformátovaný text, ktorý pridá do vašej správy záznamu.
Existuje niekoľko webových prehliadačov archívov, ktoré sú k dispozícii na použitie so Subversion, ako napr. ViewVC a WebSVN. TortoiseSVN poskytuje prostriedky na spojenie s týmito prehliadačmi.
V TortoiseSVN môžete integrovať prehliadač úložiska podľa vášho výberu. Aby ste to dosiahli, musíte definovať niektoré vlastnosti, ktoré definujú prepojenie. Musia byť nastavené v priečinkoch: (“Nastavenia Projektu”)
Ak chcete zobraziť všetky zmeny v konkrétnej revízii, nastavte túto vlastnosť na adresu URL svojho prehliadača úložiska. Musí byť správne kódovaný URI a musí obsahovať %REVISION%
. %REVISION%
sa nahrádza príslušným číslom revízie. Toto umožňuje TortoiseSVN zobraziť položku kontextovej ponuky v dialógovom okne záznamu → .
Ak chcete zobraziť zmeny konkrétneho súboru v konkrétnej revízii, nastavte túto vlastnosť na adresu URL vášho prehliadača úložiska. Musí byť správne kódovaný URI a musí obsahovať %REVISION%
a %PATH%
. %PATH%
sa nahradí cestou relatívnou ku koreňu úložiska. Toto umožňuje TortoiseSVN zobraziť položku kontextovej ponuky v dialógovom okne záznamu → . Napríklad ak kliknete pravým tlačidlom myši v spodnom paneli dialógového okna záznamu na záznam súboru /trunk/src/file
potom %PATH%
v adrese URL bude nahradená /trunk/src/file
.
Môžete tiež použiť relatívne adresy URL namiesto absolútnych. Je to užitočné v prípade, že sa váš web prehliadač nachádza na rovnakej doméne/serveri ako zdrojové úložisko. V prípade, že sa názov domény niekedy zmení, nemusíte upravovať vlastnosť webviewer:revision
a webviever:pathrevision
. Formát je rovnaký ako pre vlastnosť bugtraq:url
. Pozrite si časť “Integrácia so systémami sledovania chýb/sledovačmi problémov”.
Aby systém fungoval tieto vlastnosti musia byť nastavené v priečinkoch. Keď odovzdáte súbor alebo priečinok, vlastnosti sa načítajú z tohto priečinka. Ak tam nenájde vlastnosti, TortoiseSVN bude prehľadávať strom priečinkov smerom nahor, až kým nenájde bezverziový priečinok, alebo koreň stromu (napr.C:\
). Ak si môžete byť istí, že každý užívateľ overí iba napr. kmeň/
a nie nejaký podpriečinok, potom stačí, ak nastavíte vlastnosti na priečinok kmeň/
. Ak si nie ste istí, mali by ste vlastnosti nastaviť rekurzívne pre každý podpriečinok. Nastavenie vlastnosti hlbšie v hierarchii projektu prepíše nastavenie na vyšších úrovniach (bližšie k priečinku kmeň/
).
Iba pre vlastnosti projektu, t. j. tsvn:
, bugtraq:
a webviewer:
môžete použiť zaškrtávacie políčko Rekurzívne na nastavenie vlastnosti na všetky podpriečinky v hierarchii bez nastavenia všetkých súborov.
Keď do pracovnej kópie pridáte nové podpriečinky pouziťím TortoiseSVN, všetky vlastnosti projektu prítomné v nadradenom priečinku sa automaticky pridajú aj do nového podradeného priečinka.
Pretože integrácia prehliadača úložiska závisí od prístupu k vlastnostiam Subversion, výsledky uvidíte iba pri použití overenej pracovnej kópie. Načítanie vlastností na diaľku je pomalá operácia, takže túto funkciu neuvidíte v akcii z prehliadača úložiska, pokiaľ ste nespustili prehliadač úložiska z pracovnej kópie. Ak ste spustili prehliadač úložiska zadaním adresy URL úložiska, táto funkcia sa nezobrazí.
Z rovnakého dôvodu sa vlastnosti projektu nebudú šíriť automaticky, keď sa použitím prehliadača úložiska pridá podradený priečinok.
Pre zistenie na čo sú rôzne nastavenia, jednoducho ponechajte ukazovateľ myši na editačnom/zaškrtávacom políčku a priebehu sekundy vám vyskočí užitočný popis.
Toto dialógové okno umožňuje určiť preferovaný jazyk a nastavenia špecifické pre Subversion.
Vyberte si jazyk svojho užívateľského rozhrania. Samozrejme, najskôr musíte nainštalovať zodpovedajúci jazykový balíček, aby ste získali iný jazyk užívateľského rozhrania ako predvolený anglický jazyk.
TortoiseSVN bude pravidelne kontaktovať svoju webovú stránku na stiahnutie, aby zistil, či je k dispozícii novšia verzia programu. Ak existuje, v dialógovom okne na odovzdania sa zobrazí odkaz na oznámenie. Použite
ak chcete okamžitú odpoveď. Nová verzia sa nestiahne; jednoducho okienko s informáciou, že je k dispozícii nová verzia.TortoiseSVN má tri vlastné zvuky, ktoré sú predvolene nainštalované.
Chyba
Poznámka
Upozornenie
Ovládacím panelom systému Windows môžete zvoliť rôzne zvuky (alebo ich úplne vypnúť).
je odkaz na Ovládací panel.V systémoch Windows Vista a novších sa toto určuje, či dialógové okná používajú štýl Aero.
V systéme Windows 7 môžete vytvoriť knižnicu, v ktorej môžete zoskupiť pracovné kópie, ktoré sú rozptýlené na rôznych miestach vášho systému.
Globálne vzory ignorovania sa používajú na zabránenie zobrazenia bezverziových súborov, napríklad v dialógovom okne odovzdania. Súbory zodpovedajúce vzorom sú tiež ignorované importom. Súbory alebo priečinky sú ignorované zadaním názvov alebo prípon. Vzory sú oddelené medzerami, napr. bin obj *.bak *.~ ?? *.jar *. [Tt]mp
. Tieto vzory by nemali obsahovať žiadne oddeľovače ciest. Upozorňujeme tiež, že neexistuje spôsob, ako rozlišovať medzi súbormi a priečinkami. Pre ďalšie informácie si prečítajte časť “Zhodnosť vzorov v zoznamoch ignorovaných” o syntaxi porovnávania vzorov.
Upozorňujeme, že tu určené vzory ignorovania ovplyvnia aj ďalších klientov Subversion spustených na vašom počítači, vrátane klientov príkazového riadku.
Ak používate konfiguračný súbor Subversion na nastavenie vzor global-ignores
, prepíše tu vytvorené nastavenia. Konfiguračný súbor Subversion je prístupný cez ponuku ako je opísané nižšie.
Tento vzor ignorovania ovplyvní všetky vaše projekty. Nie je verziový, takže nebude mať vplyv na ostatných používateľov. Naopak môžete použiť aj verziovú vlastnosť svn:ignore
alebo svn:global-ignores
na vylúčenie súborov alebo priečinkov zo správy verzií. Pre viac informácií si prečítajte časť “Ignorovanie súborov a adresárov”.
Táto voľba povie TortoiseSVN, aby pri overení alebo aktualizácii nastavil dátumy súborov na posledný čas odovzdania. V opačnom prípade použije TortoiseSVN aktuálny dátum. Ak vyvíjate softvér, je najlepšie použiť aktuálny dátum, pretože systémy zostavovania sa zvyčajne pozerajú na dátumové pečiatky, aby rozhodli, ktoré súbory je potrebné skompilovať. Ak používate “posledný čas odovzdania” a vrátite sa k staršej revízii súboru, váš projekt sa nemusí skompilovať tak, ako by ste čakali.
Použite tlačidlo nastavení
Subversion si pozrite časť Oblasť konfigurácie za behu. Časť Automatické nastavenie vlastnosti je obzvlášť zaujímavá a konfiguruje sa tu. Všimnite si, že program Subversion dokáže načítať informácie o konfigurácii z viacerých miest a potrebujete vedieť, ktoré z nich majú prednosť. V časti Konfigurácia a register Windows sa dozviete viac.
Táto voľba povie TortoiseSVN, aby vždy použil miestne úpravy vlastnosti svn:externals
pri aktualizácii pracovnej kópie.
Táto stránka vám umožní určiť, ktoré z položiek kontextovej ponuky TortoiseSVN sa zobrazia v hlavnej kontextovej ponuke a ktoré sa zobrazia v podponuke TortoiseSVN. V predvolenom nastavení nie je väčšina položiek zaškrtnutá a zobrazuje sa v podponuke.
Existuje špeciálny prípad pre Získať zámok. Môžete ho samozrejme povýšiť na najvyššiu úroveň použitím vyššie uvedeného zoznamu, ale pretože väčšina súborov sa nemusí uzamykať, iba to pridá neporiadok. Avšak súbor s vlastnosťou svn:needs-lock
potrebuje túto akciu pri každej úprave, takže v takom prípade je veľmi užitočné mať túto funkciu na najvyššej úrovni. Zaškrtnutie tohto políčka znamená, že keď je vybratý súbor, ktorý má nastavenú vlastnosť svn:needs-lock
, Získať zámok sa vždy zobrazí na najvyššej úrovni.
Väčšinou nebudete potrebovať kontextovú ponuku TortoiseSVN, okrem priečinkov, ktoré sú pod správou verzie Subversion. V prípade neaktualizovaných priečinkov potrebujete kontextovú ponuku iba vtedy, keď chcete vykonať overenie. Ak zaškrtnete možnosť Skryť ponuky pre bezverziové cesty
, TortoiseSVN nepridá svoje položky do kontextovej ponuky pre bezverziové priečinky. Ale záznamy sa pridávajú pre všetky položky a cesty vo verziovom priečinku. Môžete tiež získať záznamy späť pre bezverziové priečinky pridržaním stlačenej klávesy Shift pri zobrazovaní kontextovej ponuky.
Ak vo vašom počítači existujú cesty, kde nechcete, aby sa kontextová ponuka TortoiseSVN vôbec objavovala, môžete ich uviesť v poli dole.
Toto dialógové okno umožňuje konfigurovať niektoré dialógové okná TortoiseSVN tak, ako sa vám páčia.
Obmedzuje počet správ záznamu, ktoré TortoiseSVN načíta pri prvom výbere
→ . Užitočné pre pomalé pripojenie k serveru. Vždy môžete použiť alebo , aby ste získali viac správ.Vyberie vzhľad a veľkosť písma, ktoré sa použijú na zobrazenie samotnej správy záznamu v strednom paneli dialógového okna Záznam revízie a pri vytváraní správ záznamu v dialógovom okne Odovzdania.
Ak štandardné dlhé správy zaberajú na obrazovke príliš veľa miesta, použite krátky formát.
Ak sa často stretávate s tým, že porovnávate revízie na hornom paneli dialógového okna záznamu, môžete pomocou tejto možnosti povoliť túto akciu dvojitým kliknutím. Nie je to predvolene povolené, pretože načítanie rozdielu je často dlhý proces a mnoho ľudí sa radšej vyhne čakaniu po náhodnom dvojkliku, preto táto možnosť nie je predvolene povolená.
TortoiseSVN môže automaticky ukončiť všetky dialógové okná priebehu po dokončení akcie bez chyby. Toto nastavenie umožňuje zvoliť podmienky pre zatvorenie dialógových okien. Predvolené (odporúčané) nastavenie je Zatvoriť ručne, ktorý umožňuje skontrolovať všetky správy a skontrolovať, čo sa stalo. Môžete sa však rozhodnúť, že chcete niektoré typy správ ignorovať a ak nedôjde k žiadnym zásadným zmenám, bude sa dialógové okno automaticky zatvárať.
Automaticky zavrieť, ak nie sú zlúčenia, pridania alebo odstránenia znamená to, že dialógové okno postupu sa zatvorí, ak došlo k jednoduchým aktualizáciám, ale ak boli zmeny z úložiska zlúčené s vašimi alebo ak boli nejaké súbory pridané alebo odstránené, dialógové okno zostane otvorené. Zostane tiež otvorené, ak počas operácie došlo ku konfliktom alebo chybám.
Automaticky zavrieť, ak nie sú konflikty ďalej zmierňuje kritériá a zatvorí dialógové okno, aj keď došlo k zlúčeniu, pridaniu alebo odstráneniu. Ak však došlo ku konfliktom alebo chybám, dialógové okno zostane otvorené.
Automaticky zavrieť, ak nie sú chyby vždy zavrie dialógové okno, aj keď došlo ku konfliktom. Jedinou podmienkou, ktorá udržuje dialógové okno otvorené, je chybový stav, ktorý nastane, keď Subversion nedokáže úlohu dokončiť. Napríklad aktualizácia zlyhá, pretože server je neprístupný, alebo odovzdanie zlyhá, pretože pracovná kópia je zastaralá.
Lokálne operácie, ako je pridávanie súborov alebo vrátenie zmien, nemusia kontaktovať úložisko a rýchlo sa dokončia, takže dialógové okno priebehu je často málo zaujímavé. Túto možnosť vyberte, ak chcete, aby sa dialógové okno priebehu po týchto operáciách automaticky zatvorilo, pokiaľ nedôjde k chybám.
Keď vrátite miestne úpravy, vaše zmeny sa zahodia. TortoiseSVN vám poskytuje ďalšiu bezpečnostnú sieť tým, že upravený súbor pošle do koša a potom vráti pôvodnú kópiu. Ak chcete kôš radšej preskočiť, zrušte zašktrnutie tejto možnosti.
V dialógovom okne zlúčenia je predvolené správanie súboru pre Z: URL, ktorá sa má pamätať medzi zlúčeniami. Niektorí ľudia však radi uskutočňujú zlúčenie z mnohých rôznych miest svojej hierarchie a je pre nich jednoduchšie začať s adresou URL aktuálnej pracovnej kópie. To sa potom dá upraviť tak, aby odkazovalo na paralelnú cestu v inej vetve.
Môžete určiť predvolenú cestu pre overovanie. Ak sú všetky vaše overenia na jednom mieste, je užitočné mať vopred vyplnený disk a priečinok, takže na koniec stačí pridať iba nový názov priečinka.
Môžete si tiež určiť predvolenú adresu URL pre overovanie. Ak často overujete podprojekty nejakého veľmi veľkého projektu, môže byť užitočné mať predom vyplnenú adresu URL, takže na koniec stačí už len pridať názov podprojektu.
Ak je toto políčko zaškrtnuté (predvolený stav), potom vždy, keď sa v priečinku zobrazí stav bezverziového priečinka v dialógovom okne Pridať, Odovzdať alebo Skontrolovať úpravy, zobrazí sa tiež každý podradený súbor a priečinok. Ak zrušíte zaškrtnutie tohto políčka, zobrazí sa iba bezverziový nadradený. Zrušením zaškrtnutia sa v týchto dialógových oknách zníži chaos. V takom prípade, ak vyberiete pre bezverziový priečinok pre Pridanie, bude pridanie rekurzívne.
V dialógovom okne Skontrolovať úpravy sa môžete rozhodnúť zobraziť ignorované položky. Ak je toto políčko zaškrtnuté, potom sa pri každom nájdení ignorovaného priečinka zobrazia aj všetky podradené položky.
Dialógové okno odovzdania obsahuje možnosť analyzovať zoznam odovzdaných názvov súborov. Keď zadáte prvé 3 písmená položky do zoznamu, zobrazí sa okno automatického dokončovania a názov súboru môžete dokončiť stlačením klávesu Enter. Zaškrtnutím políčka túto funkciu povolíte.
Analyzátor automatického dokončenia môže byť dosť pomalý, ak je potrebné skontrolovať veľa veľkých súborov. Tento časový limit zabráni príliš dlhej nedostupnosti dialógového okna odovzdania. Ak vám chýbajú dôležité informácie o automatickom dokončení, môžete časový limit predĺžiť.
tsvn:projectlanguage
Ak si neželáte používať kontrolu pravopisu pri všetkých odovzdaniach, zaškrtnite toto políčko. Kontrola pravopisu bude stále povolená tam, kde to vyžadujú vlastnosti projektu.
Keď v dialógovom okne odovzdania napíšete správu, TortoiseSVN ju uloží na neskoršie použitie. V predvolenom nastavení bude uchovávať posledných 25 správ záznamu pre každé úložisko, ale tu môžete toto číslo prispôsobiť. Ak máte veľa rôznych úložísk, možno to budete chcieť zmenšiť, aby ste zabránili vyplneniu registra.
Pripomíname, že toto nastavenie sa vzťahuje iba na správy, ktoré zadáte do tohto počítača. Nemá to nič spoločné zo zásobníkom záznamu.
Normálne správanie v dialógovom okne odovzdania je automatický výber všetkých upravených (verziových) položiek na odovzdanie. Ak chcete radšej začať bez výberu a vyberať položky na odovzdanie ručne, zrušte zaškrtnutie tohto políčka.
Týmto sa po úspešnom odovzdaní automaticky znovu otvorí dialógové okno odovzdania v rovnakom priečinku. Dialógové okno sa znovu otvorí, ak ešte zostanú nejaké položky na odovzdanie.
Dialógové okno Skontrolovať zmeny štandardne kontroluje pracovnú kópiu a kontaktuje úložisko iba po kliknutí na
. Ak chcete vždy skontrolovať úložisko, pooužitím tohto nastavenia môžete vykonať túto akciu automaticky.Keď vyberiete jeden alebo viac súborov a potom použijete
→ na uzamknutie týchto súborov je pri niektorých projektoch zvykom napísať správu o zamknutí s vysvetlením, prečo ste súbory uzamkli. Ak nepoužívate správy o zamknutí, zrušte zaškrtávanie tohto políčka, aby ste preskočili uvedené dialógové okno a súbory okamžite uzamkli.Ak použijete príkaz uzamknutia v priečinku, zobrazí sa vám vždy dialógové okno uzamknutia, pretože tiež poskytuje možnosť výberu súborov na uzamknutie.
Ak váš projekt používa vlastnosť tsvn:lockmsgminsize
uvidíte dialógové okno uzamknutia bez ohľadu na toto nastavenie, pretože projekt vyžaduje správy o zamknutí.
Nastavenia prehliadača úložiska:
Ak je toto políčko zaškrtnuté (predvolený stav), prehliadač úložiska načítava informácie o zobrazených priečinkoch na pozadí. Týmto spôsobom, hneď ako prejdete do niektorého z týchto priečinkov, sú tieto informácie už k dispozícii.
Niektoré servery však nedokážu spracovať viaceré požiadavky, ktoré to spôsobuje, alebo ak nie sú správne nakonfigurované, považujú toľko požiadaviek za niečo zlé a začnú ich blokovať. V takom prípade tu môžete zakázať predbežné načítanie.
Ak je toto políčko zaškrtnuté (predvolený stav), potom prehliadač úložiska zobrazuje súbory a priečinky, ktoré sú súčasťou vlastnosti svn:externals
ako bežné súbory a priečinky, ale s ikonou prekrytia, aby ste ich označili ako z externého zdroja.
Rovnako ako vyššie vysvetlená funkcia predbežného načítania, aj toto môže na slabé servery príliš zaťažiť. V takom prípade môžete túto funkciu deaktivovať tu.
V SVN sú implementované dve verzie funkcie Uloženie na policu. Tu si môžete zvoliť, ktorú verziu chcete použiť. Upozorňujeme, že na prejavenie zmeny tohto nastavenia, bude potrebný reštart OS.
táto verzia je oveľa rýchlejšia ako V3
a je odporúčanou verziou na použitie.
Rýchlosť však niečo stojí: V2
nespracováva zmeny priečinkov a nedokáže spracovávať kópie a presuny súborov.
toto je najnovšia verzia funkcie Uložiť na policu. Dokáže spracovať zmeny v priečinkoch aj presuny/kópie súborov.
Bohužiaľ, V3
je oveľa pomalšia ako V2
a môže byť pomaly nepoužiteľná pre veľké úložiská alebo ak máte pomalé pripojenie k úložisku.
Toto dialógové okno umožňuje konfigurovať farby textu použité v dialógových oknách aplikácie TortoiseSVN tak, ako sa vám páčia.
Počas aktualizácie došlo ku konfliktu alebo k nemu môže dôjsť počas zlúčenia. Aktualizácii bráni existujúci bezverziový súbor / priečinok s rovnakým názvom ako verziový.
Táto farba sa používa aj pre chybové správy v dialógových oknách priebehu.
Pridané položky do úložiska.
Položky odstránené z úložiska, chýbajúce v pracovnej kópii alebo odstránené z pracovnej kópie a nahradené iným súborom s rovnakým názvom.
Zmeny úložiska po úspešnom zlúčení do pracovnej kópie bez vytvorenia akýchkoľvek konfliktov.
Pridané históriou alebo cestami skopírovanými v úložisku. Používa sa tiež v dialógovom okne záznamu pre položky, ktoré obsahujú skopírované položky.
Položka, ktorá bola odstránená z úložiska.
Položka, ktorá bola pridaná do úložiska operáciou pridania, kopírovania alebo presunu.
Položka, ktorá bola v úložisku premenovaná.
Pôvodná položka bola odstránená a nahradila ju nová položka s rovnakým názvom.
Pri použití filtrovania v dialógovom okne záznamu sú hľadané výrazy vo výsledkoch zvýraznené použitím tejto farby.
ďalšie nastavenia:
Dialógové okná TortoiseSVN sa dajú zobraziť v tmavom režime vo Windows 10 1809 a novších. Táto funkcia tiež vyžaduje, aby bol v nastaveniach systému Windows 10 povolený tmavý režim pre aplikácie.
Upozorňujeme, že nie všetky ovládacie prvky vo všetkých dialógových oknách sú zobrazené v tmavej téme.
Graf revízií sa pokúša zobraziť prehľadnejší obraz o štruktúre vášho úložiska rozlíšením medzi kmeňom, vetvami a príznakmi. Pretože v Subversion nie je zabudovaná žiadna takáto klasifikácia, je táto informácia extrahovaná z názvov ciest. Predvolené nastavenia predpokladajú, že používate bežné anglické názvy, ako sú navrhnuté v dokumentácii Subversion, ale vaše použitie sa samozrejme môže líšiť.
Do troch poskytnutých polí zadajte vzory použité na rozpoznanie týchto ciest. Pri vzoroch sa budú rozlišovať malá a veľké písmená, ale musíte ich uviesť malými písmenami. Zástupné znaky *
a ?
budú fungovať ako obvykle a môžete použiť ;
na oddelenie viacerých vzorov. Nevkladajte žiadne ďalšie medzery, pretože budú zahrnuté v prispôsobení špecifikácie.
Upozorňujeme, že tieto vzory sa tiež používajú na zisťovanie príznaku odovzdania, nielen pre graf revízií.
Farby sa v grafe revízií používajú na označenie typu uzla, t. j. či je uzol pridaný, odstránený alebo premenovaný. S cieľom uľahčiť výber klasifikácie uzlov môžete povoliť, aby sa v grafe revízie prelínali farby, čo poskytne indikáciu typu uzla aj klasifikácie. Ak je políčko zaškrtnuté, použije sa zmiešanie. Ak políčko nie je zaškrtnuté, farba sa použije iba na označenie typu uzla. Na pridelenie konkrétnych použitých farieb použite dialógové okno výberu farieb.
Táto stránka umožňuje konfigurovať použité farby. Upozorňujeme, že tu zadaná farba je jednofarebná. Väčšina uzlov je zafarbená kombináciou farby typu uzla, farby pozadia a voliteľne farby kalsifikácie.
Položky, ktoré boli odstránené a neboli skopírované nikde inde v rovnakej revízii.
Položky novo pridané alebo skopírované (pridané históriou).
Položky odstránené z jedného miesta a pridané na iné v rovnakej revízii.
Jednoduché úpravy bez nutnosti pridávať alebo odstrániť.
Môžu byť použité na zobrazenie revízie použitej ako zdroj kópie, aj keď v tejto revízii nedošlo k žiadnej zmene (k položke, ktorá sa zobrazuje v grafe).
Aktuálna HEAD revízia v úložisku.
Ak sa rozhodnete zobraziť pre svoju upravenú pracovnú kópiu ďalší uzol, ktorý je priložený k jeho poslednej revízii v grafe, použite túto farbu.
Ak sa rozhodnete zobraziť, či je pracovná kópia zmenená, použite toto farebné ohraničenie na uzle pracovnej kópie, keď sa nájdu zmeny.
Uzly klasifikované ako príznaky môžu byť zmiešané s touto farbou.
Uzly klasifikované ako kmeň môžu mať primiešanú túto farbu.
Ak na úsporu miesta použijete skladanie značiek, príznaky sa označia na zdroji kopírovania použitím bloku v tejto farbe.
Keď kliknete ľavým tlačidlom myši na uzol, vyberte ho, značka použitá na označenie výberu je blok v tejto farbe.
Tieto farby sa používajú, keď je graf rozdelený na pod-stromy a pozadie je zafarbené striedavými pruhmi, ktoré uľahčujú výber samostatných stromov.
Táto stránka vám umožňuje zvoliť položky, pre ktoré TortoiseSVN zobrazí prekrytie ikon.
Pretože získanie stavu pracovnej kópie trvá dosť dlho, TortoiseSVN použije na uloženie stavu zásobník, aby sa prieskumník pri zobrazovaní prekrytí príliš nezaťažoval. Tu si môžete zvoliť, aký typ zásobníka má TortoiseSVN používať podľa vášho systému a veľkosti pracovnej kópie:
Ukladá všetky informácie o stave do samostatného procesu (TSVNCache.exe
). Tento proces sleduje zmeny na všetkých jednotkách a znova načítava stav, ak dôjde k úprave súborov v pracovnej kópii. Proces beží s najmenšou možnou prioritou, aby sa ostatné programy kvôli tomu neobťažovali. To tiež znamená, že informácie o stave nie sú v reálnom čase, ale môže to trvať niekoľko sekúnd, kým sa prekrytie zmení.
Výhoda: prekrytia zobrazujú stav rekurzívne, t. j. ak je súbor hlboko vo vnútri pracovnej kópie upravený, všetky priečinky po koreň pracovnej kópie tiež zobrazia upravené prekrytie. A keďže proces dokáže odosielať upozornenia do systémového prostredia, obvykle sa menia aj prekrytia v ľavom stromovom zobrazení.
Nevýhoda: proces beží neustále, aj keď nepracujete na svojich projektoch. Tiež používa okolo 10 - 50 MB RAM v závislosti od počtu a veľkosti vašich pracovných kópií.
Ukladanie do zásobníka sa vykonáva priamo vo vnútri rozšírenia prostredia DLL, ale iba pre aktuálne viditeľný priečinok. Zakaždým, keď prejdete do iného priečinka, sa informácie o stave načítajú znova.
Výhoda: potrebuje len veľmi málo pamäte (okolo 1 MB RAM) a môže zobrazovať stav v reálnom čase .
Nevýhoda: Pretože je uložený iba jeden priečinok, prekrytia nezobrazujú stav rekurzívne. V prípade veľkých pracovných kópií môže zobrazenie priečinka v prehľadávači trvať dlhšie ako v prípade predvoleného zásobníka. Nie je k dispozícii ani stĺpec typu mime.
S týmto nastavením TortoiseSVN vôbec nenačíta stav Prieskumníka. Z tohto dôvodu súbory nedostávajú prekrytie a priečinky dostanú iba „bežné“ prekrytie, ak sú verziové. Nie sú zobrazené žiadne ďalšie prekrytia a nie sú k dispozícii ani žiadne ďalšie stĺpce.
Výhoda: nepoužíva absolútne žiadnu ďalšiu pamäť a vôbec nespomaľuje Prieskumníka pri prehľadávaní.
Nevýhoda: Informácie o stave súborov a priečinkov sa v programe Explorer nezobrazujú. Ak chcete zistiť, či sú vaše pracovné kópie upravené, musíte použiť dialógové okno “Skontrolovať zmeny”.
V predvolenom nastavení sa ikony prekrytia a kontextové ponuky zobrazujú vo všetkých dialógových oknách otvorenia/uloženia, ako aj v programe Windows Prieskumník. Ak chcete, aby sa objavili iba v Prieskumníkovi Windows zaškrtnite políčko Zobraziť prekrytia a kontextovú ponuku iba v prehliadači.
Pre zvýšené procesy môžete vynútiť zásobník stavu na Žiadny zaškrtnutím políčka Zakázať zásobník stavu pre zvýšené procesy. To je užitočné vtedy, ak chcete zabrániť ďalšiemu procesu vytvárania TSVNCache.exe
so zvýšenými oprávneniami.
Môžete tiež zvoliť, aby sa priečinky označili ako upravené, ak obsahujú bezverziové položky. Môže to byť užitočné na pripomenutie, že ste vytvorili nové bezverziové súbory. Táto možnosť je k dispozícii, iba ak používate možnosť predvolený zásobník stavu (pozri nižšie).
Ak máte súbory v zozname zmien ignore-on-commit
, môžete zvoliť, aby tieto súbory neprenášali svoj stav do nadradeného priečinka. Týmto spôsobom, ak sa upravia iba súbory v tomto zozname zmien, nadradený priečinok stále zobrazuje ikonu prekrytia Neupravené.
Ďalšia skupina vám umožňuje si zvoliť, ktoré triedy úložiska majú zobrazovať prekrytia. Predvolene sú vybrané iba pevné disky. Môžete dokonca zakázať všetky prekrytia ikon, ale čo je na tom zábavné?
Sieťové disky môžu byť veľmi pomalé, takže predvolene sa pre pracovné kópie umiestnené na zdieľaných sieťach nezobrazujú ikony.
Jednotky USB Flash sa javia ako zvláštny prípad, keď je typ jednotky identifikovaný samotným zariadením. Niektoré sa javia ako pevné disky a iné ako vymeniteľné jednotky.
Príkaz Vylúčiť cesty sa používa na to, aby prikázal TortoiseSVN, pre ktoré cesty by nemal zobrazovať prekrytia ikon a stavové stĺpce. To je užitočné, ak máte nejaké veľmi veľké pracovné kópie obsahujúce iba knižnice, ktoré vôbec nezmeníte, a preto nepotrebujete prekrytia, alebo ak chcete, aby TortoiseSVN hľadal iba konkrétne priečinky.
Predpokladá sa, že každá cesta, ktorú tu zadáte, sa použije rekurzívne, takže žiaden z podradených priečinkov nebude zobrazovať ani prekrytia. Ak chcete vylúčiť iba pomenovaný priečinok, pridajte znak ?
za cestou.
To isté platí pre Zahrnúť cesty. Až na to, že pre tieto cesty sa prekrytia zobrazujú, aj keď sú prekrytia pre konkrétny typ jednotky deaktivované, alebo vylúčenou cestou uvedenou vyššie.
Užívatelia sa niekedy pýtajú, aká je interakcia týchto troch nastavení. Pre každú danú cestu sa kontrolujú zoznamy zahrnutia a vylúčenia a prehľadáva sa smerom nahor v štruktúre priečinkov, kým nie je nájdená zhoda. Keď nájde prvú zhodu, riadi sa pravidlom zahrnutia alebo vylúčenia. Ak dôjde ku konfliktu, nastavenie jedného priečinka má prednosť pred rekurzívnym nastavením, potom zahrnutie má prednosť pred vylúčením.
Tu pomôže príklad:
Vylúčiť: C: C:\develop\? C:\develop\tsvn\obj C:\develop\tsvn\bin Zahrnúť: C:\develop
Tieto nastavenia zakazujú prekrytie ikon pre disk C:, s výnimkou c:\develop
. Všetky projekty pod týmto priečinkom budú zobrazovať prekrytia, okrem samotného priečinka c:\develop
, ktorý je predurčene ignorovaný. Vylúčené sú aj vysokoúrovňové binárne priečinky.
TSVNCache.exe tiež používa tieto cesty na obmedzenie skenovania. Ak chcete, aby prezeral iba konkrétne priečinky, zakážte všetky typy diskov a zahrňte iba priečinky, ktoré chcete skenovať.
SUBST
Často je vhodné použiť disk SUBST
pre prístup k vašim pracovným kópiám, napr. použitím príkazu
subst T: C:\TortoiseSVN\trunk\doc
To však môže spôsobiť, že sa prekrytia neaktualizujú, napr. TSVNCache
pri zmene súboru dostane iba jedno upozornenie a to je zvyčajne pre pôvodnú cestu. To znamená, že vaše prekrytia na ceste subst
sa nemusia nikdy aktualizovať.
Jednoduchým spôsobom, ako to obísť, je vylúčiť pôvodnú cestu zo zobrazovania prekrytí, aby sa prekrytia zobrazovali na miesto subst
cesty.
Niekedy vylúčite oblasti, ktoré obsahujú pracovné kópie, čo šetrí TSVNCache pri skenovaní a monitorovaní zmien, ale stále chcete vizuálnu indikáciu, že priečinok obsahuje pracovnú kópiu. Zaškrtávacie políčko Zobraziť vylúčené koreňové priečinky ako „normálne“ vám to umožňuje. Pri tejto možnosti sa pracovné koreňové priečinky v akejkoľvek vylúčenej oblasti (typ jednotky, ktorá nie je zaškrtnutá alebo konkrétne vylúčená) zobrazia ako bežné a aktuálne, so zelenou značkou zaškrtnutia. To vám pripomína, že sa pozeráte na funkčnú kópiu, aj keď prekrytia priečinkov nemusia byť správne. Súbory vôbec nedostávajú prekrytie. Upozorňujeme, že kontextové ponuky stále fungujú, aj keď sa prekrytia nezobrazujú.
Ako špeciálna výnimka, disky A:
a B:
sa nikdy nepovažujú za možnosť Zobraziť vylúčené priečinky ako „normálne“. Je to preto, že Windows je nútený prezrieť si jednotku, čo môže mať za následok oneskorenie niekoľkých sekúnd pri spustení programu Explorer, aj keď váš počítač má disketovú jednotku.
Nastavenú ikonu prekrytia môžete zmeniť na tú, ktorá sa vám páči najviac. Upozorňujeme, že ak zmeníte sústavu prekrytia, bude pravdepodobne potrebné reštartovať počítač, aby sa zmeny prejavili.
Pretože počet dostupných prekrytí je prísne obmedzený, môžete sa rozhodnúť zakázať niektoré manipulátory, aby ste sa uistili, že sa načítajú tie, ktoré chcete. Pretože TortoiseSVN používa spoločné komponenty TortoiseOverlays, ktorá je zdieľaná s ostatnými klientmi Tortoise (napr. TortoiseCVS, TortoiseHg), toto nastavenie ovplyvní aj týchto klientov.
Tu môžete nakonfigurovať svoj proxy server, ak potrebujete, aby ste sa dostali cez firemný firewall.
Ak potrebujete nastaviť proxy server podľa úložiska, budete musieť použiť na ich konfiguráciu súbory servery
Subversion. Dostanete sa tam priamo použitím tlačidla . Prezrite si časť Oblasť konfigurácie behu programu pre detaily, ako používať tento súbor.
Môžete tiež určiť, ktorý program má TortoiseSVN použiť na vytvorenie bezpečného pripojenia k úložisku svn + ssh. Odporúčame vám používať TortoisePlink.exe. Toto je verzia populárneho programu Plink a je súčasťou TortoiseSVN, ale je kompilovaná ako aplikácia bez okien, takže sa pri každej autentifikácii nezobrazí pole DOS.
Musíte zadať úplnú cestu k spustiteľnému súboru. Pre TortoisePlink.exe je to štandardný priečinok TortoiseSVN. Použite tlačidlo
pre vyhľadanie jeho umiestnenia. Upozorňujeme, že ak cesta obsahuje medzery, musíte ju uzavrieť do úvodzoviek, napr."C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"
Jedným z vedľajších účinkov chýbajúceho okna je, že už nie je miesto pre chybové správy, takže ak autentifikácia zlyhá, jednoducho dostanete správu, ktorá hovorí niečo ako “Nemožno zapisovať na štandardný výstup”. Z tohto dôvodu odporúčame, aby ste najskôr nastavili spojenie použitím štandardného Plink. Keď všetko funguje, môžete použiť TortoisePlink s úplne rovnakými parametrami.
TortoisePlink nemá žiadnu vlastnú dokumentáciu, pretože je to len vedľajší variant Plink. Dozviete sa viac o parametroch príkazového riadku z web stránky PuTTY.
Ak sa chcete vyhnúť opakovanému zobrazovaniu výzvy na zadanie hesla, môžete tiež zvážiť použitie nástroja na ukladanie hesla do pamäti, ako je napríklad Pageant. Ten je tiež k dispozícii na stiahnutie na web stránke PuTTY.
Nakoniec, nastavenie SSH na serveri a klientoch nie je jednoduchý proces, ktorý presahuje rámec tohto súboru pomocníka. Sprievodcu však nájdete na stránke Najčastejšie otázky TortoiseSVN uvedených v časti Ako na Subversion/TortoiseSVN SSH.
Tu môžete definovať svoje vlastné programy na porovnanie odlišností/zlúčenia, ktoré by TortoiseSVN mal používať. Predvolené nastavenie je použitie TortoiseMerge, ktorý je nainštalovaný spolu s TortoiseSVN.
Prečítajte si časť “Externé nástroje na porovnanie odlišností/zlúčenie” pre zoznam niektorých externých programov na porovnanie odlišností/zlučovania, ktoré ľudia používajú s TortoiseSVN.
Na porovnanie odlišných revízií súborov je možné na porovnávanie použiť externý program. Externý program bude musieť získať názvy súborov z príkazového riadku spolu s ďalšími možnosťami príkazového riadku. TortoiseSVN používa substitučné parametre s predponou %
. Ak narazí na jednu z nich, nahradí príslušnú hodnotu. Poradie parametrov bude závisieť od použitého programu porovnania odlišností.
Pôvodný súbor bez vašich zmien
Názov okna pre základný súbor
Názov okna pre základný súbor, bez úvodzoviek
Váš vlastný súbor, s vašimi zmenami
Názov okna pre váš súbor
Názov okna pre váš súbor, bez úvodzoviek
URL pôvodného súboru, ak je k dispozícii
URL pôvodného súboru, ak je k dispozícii, bez úvodzoviek
URL druhého súboru, ak je k dispozícii
URL druhého súboru, ak je k dispozícii, bez úvodzoviek
Revízia pôvodného súboru, ak je k dispozícii
Revízia pôvodného súboru, ak je k dispozícii, bez úvodzoviek
Revízia druhého súboru, ak je k dispozícii
Revízia druhého súboru, ak je k dispozícii, bez úvodzoviek
Zavesená revízia, ak je k dispozícii
Zavesená revízia, ak je k dispozícii, bez úvodzoviek
Názov súboru. Toto je prázdny reťazec, ak sú porovnávané dva rôzne súbory namiesto dvoch stavov toho istého súboru.
Názov súboru bez úvodzoviek
Názvy okien nie sú čisté názvy súborov. TortoiseSVN to spracováva ako názov pre zobrazenie a podľa toho názvy vytvorí. Takže napríklad ak robíte porovnanie odlišnosí zo súboru v revízii 123 so súborom v pracovnej kópii, budú jeho názvy názov súboru: revízia 123
a názov súboru: pracovná kópia
.
Napríklad s ExamDiff Pro:
C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname --right_display_name:%yname
alebo s KDiff3:
C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname
alebo s WinMerge:
C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine
alebo s Araxis:
C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname %base %mine
alebo s UltraCompare:
C:\Path-To\uc.exe %base %mine -title1 %bname -title2 %yname
alebo pomocou DiffMerge:
C:\Path-To\DiffMerge.exe -nosplash -t1=%bname -t2=%yname %base %mine
Ak používate vlastnosť svn:keywords
na rozšírenie kľúčových slov a konkrétne revízia súboru, potom môže existovať rozdiel medzi súbormi, čo je spôsobené čisto aktuálnou hodnotou kľúčového slova. Tiež ak používate svn:eol-style = native
súbor BASE bude mať čisté konce riadkov LF
, zatiaľ čo váš súbor bude mať konce riadkov CR-LF
. TortoiseSVN zvyčajne tieto rozdiely automaticky skryje tak, že pred vykonaním operácie rozdielu najskôr analyzuje súbor BASE, aby rozšíril kľúčové slová a konce riadkov. Pri veľkých súboroch to však môže trvať dlho. Ak nie je zaškrtnutá voľba Konvertovať súbory pri porovnaní s BASE, potom TortoiseSVN preskočí predbežné spracovanie súborov.
Môžete tiež určiť iný nástroj na porovnanie odlišností, ktorý sa má použiť vo vlastnostiach Subversion. Pretože sa zvyčajne jedná o krátke jednoduché textové reťazce, môžete použiť jednoduchší a kompaktnejší prehliadač.
Ak ste nakonfigurovali alternatívny nástroj na porovnanie odlišností, máte prístup k TortoiseMerge a nástroj tretej strany z kontextových ponúk. → používa primárny nástroj na porovnanie odlišností Shift + → používa sekundárny nástroj na porovnanie odlišností.
V dolnej časti dialógového okna môžete nakonfigurovať prehliadač pre súbory zjednotených odlišností (súbory opravných záplat). Nie sú potrebné žiadne parametre. Predvolené nastavenie je použitie TortoiseUDiff, ktorý je nainštalovaný spolu s TortoiseSVN a farebné označenie pridaných a odstránených riadkov.
Pretože Zjednotené odlišnosti majú iba textový formát, môžete použiť svoj obľúbený textový editor.
Externý program na zlúčenie používaný na riešenie konfliktných súborov. Nahradenie parametrov sa používa rovnakým spôsobom ako v prípade programu pre porovnanie odlišností
pôvodný súbor bez vašich alebo ostatných zmien
Názov okna pre základný súbor
Názov okna pre základný súbor, bez úvodzoviek
váš vlastný súbor, s vašimi zmenami
Názov okna pre váš súbor
Názov okna pre váš súbor, bez úvodzoviek
súbor, aký je v úložisku
názov okna pre súbor v úložisku
názov okna pre súbor v úložisku bez úvodzoviek
konfliktný súbor, výsledok operácie zlúčenia
názov okna pre zlúčený súbor
názov okna pre zlúčený súbor bez úvodzoviek
názov konfliktného súboru
názov konfliktného súboru bez úvodzoviek
Napríklad s Perforce Merge:
C:\Path-To\P4Merge.exe %base %theirs %mine %merged
alebo s KDiff3:
C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged --L1 %bname --L2 %yname --L3 %tname
alebo s Araxis:
C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname /title3:%yname %theirs %base %mine %merged /a2
alebo s WinMerge (2.8 alebo novší):
C:\Path-To\WinMerge.exe %merged
alebo pomocou DiffMerge:
C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge -nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs
V pokročilých nastaveniach môžete definovať iný program porovnania odlišností a zlúčenia pre každú príponu súboru. Môžete napríklad priradiť Photoshop ako program pre “Porovnanie odlišností” pre súbory .jpg
. Môžete tiež priradiť vlastnosť svn:mime-type
s programom na porovnanie odlišností alebo zlúčenie.
Pre asociáciu použitia prípony súboru musíte určiť príponu. Použite .bmp
na popísanie bitmapových súborov Windows. Pre asociáciu použitím vlastnosti svn:mime-type
, zadajte typ mime, vrátane lomky, napr.
text/xml
.
Pre vaše pohodlie ukladá TortoiseSVN mnoho nastavení, ktoré používate a pamätá si, kde ste sa v poslednom čase nachádzali. Ak chcete vyčistiť tento zásobník údajov, môžete to urobiť tu.
Kedykoľvek overujete pracovnú kópiu, zlúčite zmeny alebo použijete prehliadač úložiska, TortoiseSVN uchováva záznamy o naposledy použitých adresách URL a ponúka ich v rozvinovacom zozname. Niekedy je tento zoznam preplnený zastaralými adresami URL, takže je užitočné ho pravidelne vyprázdňovať.
Ak chcete odstrániť položku samostatne z jedného poľa zoznamov, môžete to urobiť na mieste. Stačí kliknúť na šípku, aby ste rozvinovacie pole presunuli nadol, posuňte kurzor myši nad položku, ktorú chcete odstrániť a zadajte Shift+Del.
TortoiseSVN ukladá posledné správy záznamu odovzdania, ktoré zadáte. Ukladajú sa do každého úložiska, takže ak získate prístup k mnohým úložiskám, môže sa tento zoznam poriadne zväčšiť.
TortoiseSVN ukladá správy záznamu načítané použitím dialógového okna Zobraziť záznam, aby ste ušetrili čas pri ďalšom zobrazení záznamu. Ak niekto iný upraví správu záznamu a vy už túto správu máte uchovanú v zásobníku, zmeny sa vám zobrazia až po vyčistení zásobníka. Uchovávanie správ záznamu je povolené na karte Zásobník záznamu.
Mnoho dialógov si pamätá veľkosť a pozíciu obrazovky, ktoré ste naposledy použili.
Pri autentifikácii na serveri Subversion sa užívateľské meno a heslo sa uchováva v miestnom zásobníku, takže ich nemusíte neustále zadávať. Možno ho budete chcieť vyčistiť z bezpečnostných dôvodov alebo z dôvodu, že chcete do úložiska pristupovať pod iným užívateľským menom ... vie John, že používate jeho počítač?
Ak chcete vymazať autentifikačné údaje iba pre jeden konkrétny server, použite tlačidlo
namiesto .TortoiseSVN uchováva záznam o všetkom, zapísanom v dialógových oknách priebehu. To môže byť užitočné napríklad vtedy, keď chcete skontrolovať, čo sa stalo v príkaze nedávnej aktualizácie.
Súbor záznamu má obmedzenú dĺžku a keď bude príliš veľký, najstarší obsah sa zahodí. Predvolene je zachovaných 4000 riadkov, ale toto číslo môžete prispôsobiť.
Odtiaľto môžete zobraziť obsah súboru záznamu a tiež ho aj vyčistiť.
Toto dialógové okno umožňuje konfigurovať funkciu uchovania záznamu TortoiseSVN, ktorá uchováva lokálnu kópiu správ záznamu a zmenené cesty, aby sa zabránilo zdĺhavému sťahovaniu zo servera. Používanie zásobníka záznamu môže dramaticky urýchliť dialógové okno záznamu a graf revízií. Ďalšou užitočnou funkciou je, že k správam záznamu je stále prístup aj v režime offline.
Povolí zásobník záznamu, kedykoľvek sú požadované údaje záznamu. Ak je zaškrtnuté, údaje sa načítajú zo zásobníka, ak je dostupný a všetky správy, ktoré sa nenachádzajú v zásobníku, sa načítajú zo servera a pridajú sa do zásobníka.
Ak je uchovanie zakázané, údaje sa vždy načítavajú priamo zo servera a neukladajú sa lokálne.
Možno sa niekedy budete musieť pripojiť k serveru, ktorý používa rovnakú adresu URL pre všetky úložiská. Staršie verzie servera svnbridge
by to urobili. Ak potrebujete prístup do týchto úložísk, budete musieť zaškrtnúť túto možnosť. Ak to nechcete, nechajte to nezaškrtnuté pre zlepšenie výkonu.
Niektoré hostiteľské služby prideľujú všetkým svojim úložiskám rovnaký UUID. Možno ste to dokonca urobili sami skopírovaním priečinka úložiska a vytvorením nového. Z rôznych dôvodov je to zlý nápad - UUID by malo byť jedinečné. Ak však toto políčko zaškrtnete, zásobník záznamu bude v tejto situácii stále fungovať. Ak ho nepotrebujete, zrušte jeho zaškrtnutie, aby ste zlepšili výkon.
Ak pracujete bez pripojenia alebo ak je server úložiska nefunkčný, zásobník záznamov sa dá stále použiť na dodanie správ záznamu, ktoré sú už v zásobníku uložené. Zásobník samozrejme nemusí byť aktuálny, takže existujú možnosti, vďaka ktorým si môžete zvoliť, či sa má táto funkcia používať.
Keď sa údaje záznamu načítajú zo zásobníka bez kontaktu so serverom, v dialógovom okne, ktoré používa túto správu, sa v záhlaví zobrazí stav offline.
Keď vyvoláte dialógové okno záznamu, zvyčajne budete chcieť kontaktovať server a skontrolovať, či nie sú k dispozícii novšie správy záznamu. Ak je tu nastavený časový limit nenulový, potom bude server kontaktovaný až po uplynutí časového limitu od posledného časového kontaktu. Toto môže znížiť počet obmedzení servera, ak často otvárate dialógové okno záznamu a server je pomalý, ale zobrazené údaje nemusia byť úplne aktuálne. Ak chcete túto funkciu použiť, odporúčame ako kompromis použiť hodnotu 300 (5 minút).
Ak prechádzate okolo mnohých archívov, nahromadí sa vám množstvo zásobníkov záznamu. Ak ich aktívne nepoužívate, zásobník nebude veľmi veľký, takže ho TortoiseSVN predvolene vyčistí po nastavenom čase. Táto položka sa používa na riadenie čistenia zásobníka.
Väčšie zásobníky sú náročnejšie na opätovné naplnenie, takže TortoiseSVN čistí iba malé zásobníky. S touto hodnotou dolaďte prahovú hodnotu.
Príležitostne sa niečo pokazí s uchovávaním a spôsobí nehodu. Ak k tomu dôjde, zásobník sa zvyčajne automaticky odstráni, aby sa zabránilo opakovaniu problému. Ak používate menej stabilnú nočné zostavu, môžete sa rozhodnúť, že si aj tak zásobník ponecháte.
Na tejto stránke môžete vidieť zoznam archívov, ktoré sú lokálne uložené v zásobníku a priestor, použitý pre zásobník. Ak vyberiete jedno z úložísk, môžete použiť tlačidlá pod ním.
Kliknite na
pre úplné obnovenie zásobníky a na vyplnenie prípadných dier. Pre veľké úložisko by to mohlo byť časovo veľmi náročné, ale užitočné, ak sa chystáte prepnúť do režimu offline a potrebujete najlepšiu dostupný zásobník.Kliknite na tlačidlo
pre export celého zásobníka ako sústavy CSV súborov. To by mohlo byť užitočné, ak chcete spracovať údaje záznamu použitím externého programu, aj keď je to užitočné hlavne pre vývojárov.Kliknite na
pre odstránenie všetkých údajov v zásobníku pre vybrané úložiská. Toto nezakáže ukladanie do zásobníka úložiska, takže pri ďalšej požiadavke na údaje záznamu sa vytvorí nový zásobník.
Kliknite na tlačidlo pre zobrazenie podrobných štatistík pre konkrétny zásobník. Mnoho týchto zobrazených polí zaujíma hlavne vývojárov TortoiseSVN, takže nie sú všetky podrobne popísané.
Množstvo pamäte požadovanej na obsluhu tohto zásobníka.
Množstvo priestoru na disku použitého pre zásobník. Údaje sú komprimované, takže využitie disku je všeobecne pomerne skromné.
Ukazuje, či bolo naposledy dostupné úložisko, keď bol použitý zásobník.
Posledná zmena obsahu zásobníka.
Kedy sme naposledy od servera požadovali revíziu HEAD.
Počet rôznych autorov so správami zaznamenanými v zásobníku.
Počet uvedených ciest, ako by ste videli použitím svn log -v
.
Počet rozsahov revízií, ktoré sme nezískali, jednoducho preto, že neboli vyžiadané. Toto je miera počtu dier v zásobníku.
Najvyššie číslo revízie uložené v zásobníku.
Počet revízií uložených v zásobníku. Toto je ďalšia miera úplnosti zásobníka.
Toto dialógové okno umožňuje nastaviť skripty hákov, ktoré sa vykonajú automaticky pri vykonaní určitých akcií Subversion. Na rozdiel od skriptov háku vysvetlených v časti “Skripty háku na strane servera”, tieto skripty sa vykonávajú lokálne na strane klienta.
Jednou z aplikácií pre takéto háky by mohlo byť volanie programu ako SubWCRev.exe
na aktualizáciu čísla verzií po odovzdaní a možnosť spustiť novú zostavu.
Takéto skripty háku môžete určiť aj použitím špeciálnych vlastností pracovnej kópie. Pre podrobnosti si pozrite sekciu “Vlastnosti projektu TortoiseSVN”.
Ak chcete pridať nový skript, jednoducho kliknite na ikonu a vyplňte podrobnosti.
V súčasnosti sú k dispozícii tieto typy skriptov háku
Je zavolaný pred zobrazením dialógu odovzdania. Môžete ho chcieť použiť ako skript meniaci verziové súbory a ovplyvňujúci zoznam súborov na odovzdanie a/alebo správu záznamu. Avšak mali by ste mať na pamäti, že keďže je skript volaný v rannej fáze odovzdania, plný zoznam objektov na odovzdanie nie je ešte dostupný.
Ak je to zadané, v dialógovom okne odovzdania sa zobrazí tlačidlo
, ktorý po kliknutí spustí zadaný skript háku. Skript háku získava zoznam všetkých kontrolovaných súborov a priečinkov a správu o odovzdaní, ak bola nejaká zadaná.Volaný po kliknutí užívateľa na
v dialógovom okne odovzdania a pred zatvorením dialógového okna odovzdania. Tento hák získava zoznam všetkých kontrolovaných súborov. Ak hák vráti chybu, dialógové okno odovzdania zostane otvorené.Ak vrátená chybová správa obsahuje cesty na riadkoch oddelených novým riadkom, tieto cesty sa vyberú v dialógovom okne odovzdania po zobrazení chybovej správy.
Volaný po kliknutí používateľa na
v dialógovom okne odovzdania a pred začiatkom skutočného odovzdania. Tento hák obsahuje zoznam presne tých, ktoré budú odovzdané.Volaný po úspešnom dokončení odovzdania.
Volaný pred zobrazením dialógového okna aktualizácie na revíziu.
Volaný pred začatím súčasnej aktualizácie Subversion alebo preklopenia.
Volaný po dokončení aktualizácie, zmeny alebo overenia (či už úspešnej alebo nie).
Volaný pred pokusom o kontaktovanie úložiska. Volaný najviac raz za päť minút.
Volaný pred pokusom o uzamknutie súboru.
Volný po uzamknutí súboru.
Hák je definovaný pre konkrétnu cestu pracovnej kópie. Musíte zadať iba cestu najvyššej úrovne; ak vykonáte operáciu v podpriečinku, TortoiseSVN automaticky vyhľadá zodpovedajúcu cestu smerom nahor.
Ďalej musíte určiť príkazový riadok, ktorý sa má vykonať, počnúc cestou k skriptu háku alebo spustiteľnému súboru. Môže to byť dávkový súbor, spustiteľný súbor alebo akýkoľvek iný súbor, ktorý má platné priradenie súborov systému Windows, napr. skript perl. Upozorňujeme, že skript nesmie byť zadaný použitím cesty UNC, pretože spustenie systému Windows neumožňuje spustenie týchto skriptov z dôvodu bezpečnostných obmedzení.
Príkazový riadok obsahuje niekoľko parametrov, ktoré vyplní TortoiseSVN. Predané parametre závisia od toho, ktorý hák sa volá. Každý hák má svoje vlastné parametre, ktoré sa odovzdávajú v nasledujúcom poradí:
PATH
MESSAGEFILE
CWD
PATH
MESSAGEFILE
CWD
PATH
MESSAGEFILE
CWD
PATH
DEPTH
MESSAGEFILE
CWD
PATH
DEPTH
MESSAGEFILE
REVISION
ERROR
CWD
PATH
CWD
PATH
DEPTH
REVISION
CWD
PATH
DEPTH
REVISION
ERROR
CWD
RESULTPATH
no parameters are passed to this script. You can pass a custom parameter by appending it to the script path.
PATH
LOCK
FORCE
MESSAGEFILE
CWD
PATH
LOCK
FORCE
MESSAGEFILE
ERROR
CWD
Význam každého z týchto parametrov je popísaný tu:
Cesta k dočasnému súboru, ktorý obsahuje všetky cesty, pre ktoré bola operácia spustená, v kódovaní UTF-8. Každá cesta je v dočasnom súbore na samostatnom riadku.
Upozorňujeme, že pri operáciách vykonávaných na diaľku, napr. v prehliadači úložiska tieto cesty nie sú lokálne cesty, ale adresy URL ovplyvnených položiek.
Hĺbka odovzdania/aktualizácie.
Možné hodnoty sú:
svn_depth_unknown
svn_depth_exclude
svn_depth_empty
svn_depth_files
svn_depth_immediates
svn_depth_infinity
Cesta k súboru obsahujúcemu správu záznamu odovzdania. Súbor obsahuje text v kódovaní UTF-8. Po úspešnom vykonaní háku Zahájenie odovzdania (start-commit) sa správa záznamu spätne prečíta, čím sa háku poskytne príležitosť ho upraviť.
Revízia úložiska, do ktorej by sa mala vykonať aktualizácia, alebo po dokončení odovzdania.
Buď true
pri zamykaní, alebo false
pri odomykaní.
Buď true
alebo false
, podľa toho, či bola operácia vynútená alebo nie.
Cesta k súboru obsahujúcemu chybové hlásenie. Ak nedošlo k žiadnej chybe, súbor bude prázdny.
Aktuálny pracovný priečinok, s ktorým je skript spustený. Toto je nastavené na spoločný koreňový priečinok všetkých ovplyvnených ciest.
Cesta k dočasnému súboru, ktorý obsahuje všetky cesty v kódovaní UTF-8, ktorých sa operácia nejako dotkla. Každá cesta je v dočasnom súbore na samostatnom riadku.
Upozorňujeme, že aj keď sme týmto parametrom dali názvy, pre uľahčenie ich používania nemusíte odkazovať v nastaveniach spojenia. Všetky parametre uvedené pre konkrétny hák sú vždy odovzdané, či už chcete alebo nie ;-)
Ak chcete, aby operácia Subversion pozdržala, kým sa hák nedokončí, zaškrtnite Počkať na dokončenie skriptu .
Za normálnych okolností budete chcieť skryť škaredé okienko systému DOS, keď sa skript spustí, takže políčko Skryť skript počas behu je predvolene zaškrtnuté. Musíte ho tiež zaškrtnúť, ak by váš skript háku mohol vrátiť chybu, ktorá by mohla zastaviť operáciu.
Thevynútenie
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 vynútenie
flag is not checked, then the user is shown a button to retry the operation without running the hook script. Vzorové skripty háku nájdete v priečinku contrib
v Úložisku TortoiseSVN. Časť (“Licencia” vysvetľuje, ako získať prístup do úložiska.)
Pri ladení skriptov háku môžete chcieť zopakovať riadky postupu na konzolu DOS alebo vložiť pauzu, aby ste zabránili zmiznutiu okna konzoly po dokončení skriptu. Pretože vstupno-výstupná operácia je presmerovaná, zvyčajne to nebude fungovať. Môžete však explicitne presmerovať vstup a výstup na CON, aby ste to prekonali. napr.
echo Kontrola stavu > con pause <con> con
Malý nástroj je obsiahnutý v inštalačnom priečinku TortoiseSVN s názvom ConnectVPN.exe
. Tento nástroj môžete nakonfigurovať ako hák pred pripojením na automatické pripojenie k sieti VPN skôr, ako sa TortoiseSVN pokúsi o pripojenie k úložisku. Stačí zadať názov pripojenia VPN ako prvý parameter do nástroja.
TortoiseSVN môže v dialógovom okne odovzdania použiť rozšírenie COM na zisťovanie problémov so sledovačmi problémov. Použitie týchto rozšírení je popísané v časti “Získavanie informácií z nástroja na sledovanie problémov”. Ak vám správca systému poskytol rozšírenie, ktorý ste už nainštalovali a zaregistrovali, môžete určiť, ako sa integruje s vašou pracovnou kópiou.
Kliknite na pre použitie rozšírenia s konkrétnou pracovnou kópiou. Tu môžete určiť cestu pracovnej kópie, v rozvinovacom zozname všetkých registrovaných rozšírení sledovačov problémov si vyberte rozšírenie na použitie a parametre na odovzdanie. Parametre budú špecifické pre rozšírenie, ale môžu obsahovať vaše užívateľské meno v sledovači problémov, aby mohol rozšírenie vyhľadávať problémy vami priradené.
Ak chcete, aby všetci používatelia používali pre váš projekt to isté rozšírenie COM, môžete toto rozšírenie určiť aj s vlastnosťami bugtraq: provideruuid
, bugtraq:provideruuid64
a bugtraq:providerparams
.
Táto vlastnosť určuje napríklad UUID modelu COM produktu IBugtraqProvider {91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}
. (Tento príklad je UUID Poskytovateľa Gurtle bugtraq, ktorý je poskytovateľom pre sledovač problémov kódu Google.)
To je to isté ako bugtraq:provideruuid
, ale pre 64-bitovú verziu IBugtraqProvider.
Táto vlastnosť určuje parametre odovzdané IBugtraqProvider.
Skontrolujte dokumentáciu k svojmu doplnku IBugtraqProvider a zistite, čo je potrebné špecifikovať v týchto dvoch vlastnostiach.
Nastavenia používané TortoiseBlame sa ovládajú z hlavnej kontextovej ponuky, nie priamo zo samotného TortoiseBlame.
TortoiseBlame môže použiť farbu pozadia na odlíšenie veku riadkov súboru. Môžete nastaviť farby pre koncové body, ktoré reprezentujú najnovšiu a najstaršiu revíziu. TortoiseBlame použije lineárnu interpoláciu medzi týmito farbami podľa revízie daného riadka..
Môžete určiť rôzne farby na použitie pre lištu umiestnenia. Predvoleným nastavením je použitie silného kontrastu na lište umiestnenia pri súčasnom zachovaní svetlosti pozadia hlavného okna, aby ste mohli text naďalej čítať.
Môžete zvoliť písmo použité na zobrazenie textu a veľkosť bodu, ktorý sa má použiť. To platí tak pre obsah súboru, ako aj pre informácie o autorovi a revízii zobrazené v ľavom paneli.
Definuje, koľko medzier sa má použiť na rozpätie, keď sa znak tabulátora nachádza v obsahu súboru.
Nastavenia, ktoré používa TortoiseUDiff, sa ovládajú z hlavnej kontextovej ponuky, nie priamo zo samotného TortoiseUDiff.
Predvolené farby používané TortoiseUDiff sú zvyčajne v poriadku, ale tu ich môžete nakonfigurovať.
Môžete zvoliť písmo použité na zobrazenie textu a veľkosť bodu, ktorý sa má použiť.
Definuje, koľko medzier sa má použiť na rozpätie, keď sa znak tabulátora nachádza v obsahu súboru odlišností.
Môžete synchronizovať všetky nastavenia TortoiseSVN do a zo šifrovaného súboru. Súbor je šifrovaný vami zadaným heslom, takže nemusíte mať obavy, ak tento súbor uložíte do cloudového priečinka, ako sú OneDrive, GDrive, DropBox, ...
Keď je zadaná cesta a heslo, TortoiseSVN synchronizuje všetky nastavenia automaticky a udržuje ich v synchronizácii.
Zašifrované súbory so všetkými nastaveniami môžete tiež exportovať/importovať ručne. Keď to urobíte, zobrazí sa výzva na zadanie cesty k súboru a hesla na šifrovanie/dešifrovanie súboru nastavení.
Pri manuálnom exportovaní nastavení môžete tiež voliteľne zahrnúť všetky miestne nastavenia, ktoré nie sú zahrnuté v normálnom exporte ani v synchronizácii. Miestne nastavenia sú nastavenia, ktoré zahŕňajú miestne cesty, ktoré sa zvyčajne líšia medzi počítačmi. Medzi tieto miestne nastavenia patria nakonfigurované nástroje rozdielu a zlúčenia a skripty háku.
Niekoľko zriedka používaných nastavení je k dispozícii v dialógovom okne Nastavenia stránka Pokročilé. Tieto nastavenia priamo upravujú register a musíte vedieť, na čo sa každé z týchto nastavení používa a na čo slúži. Tieto nastavenia nemeňte, pokiaľ si nie ste istí, že ich musíte zmeniť.
Niekedy viacero užívateľov používa rovnaký účet na rovnakom počítači. V takýchto situáciách vlastne nie je vhodné ukladať autentifikačné údaje. Nastavením tejto hodnoty na false
sa zakáže tlačidlo uložiť autentifikáciu
v dialógovom okne autentifikácie.
Ak aktualizácia pridá nový súbor z úložiska, ktorý už existuje v miestnej pracovnej kópii ako bezverziový súbor, predvolenou akciou je ponechať miestny súbor a zobraziť ho ako (možno) upravenú verziu nového súboru z úložiska. Ak by ste radšej, aby TortoiseSVN v takýchto situáciách vytvoril konflikt, nastavte túto hodnotu na false
.
Rovnako ako v prípade prieskumníka, TortoiseSVN zobrazuje ďalšie príkazy, ak je stlačené tlačidlo Shift pri otváraní kontextovej ponuky. Ak chcete, aby TortoiseSVN vždy zobrazoval tieto rozšírené príkazy, nastavte túto hodnotu na true
.
Minimálne množstvo znakov, z ktorých editor zobrazí vyskakovacie okno automatického dokončovania. Predvolená hodnota je 3
.
Zoznam automatického dokončovania zobrazený v editore správ o odovzdaní zobrazuje názvy súborov uvedených pre odovzdanie. Ak chcete tieto názvy zahrnúť aj s odstránenými príponami, nastavte túto hodnotu na true
.
Externé súbory, ktoré sú viazané na konkrétnu revíziu, sú predvolene blokované pred výberom na odovzdanie. Je to preto, že následná aktualizácia by tieto zmeny vrátila znova, pokiaľ nebude upravená fixovaná revízia externej verzie.
Nastavte túto hodnotu na false
pre prípad, že by ste aj tak chceli vykonať zmeny v takýchto externých súboroch.
Ak nechcete, aby prieskumník aktualizoval prekrytia stavu, zatiaľ čo je spustený iný príkaz TortoiseSVN (napr. Aktualizovať, Odovzdať, ...), nastavte túto hodnotu na true
.
Ak chcete pridať ikonu zásobníka programu TSVNCachena systémovej lište, nastavte túto hodnotu na true
. Toto je skutočne užitočné iba pre vývojárov, pretože vám umožňuje ladné ukončenie programu.
Dodatočné stĺpce, ktoré TortoiseSVN pridáva do podrobného zobrazenia v Prieskumníkovi Windows, sú zvyčajne aktívne iba v pracovnej kópii. Ak chcete, aby boli tieto súbory prístupné všade, nielen v pracovných kópiách, nastavte túto hodnotu na true
. Upozorňujeme, že ďalšie stĺpce sú k dispozícii iba v systéme XP. Systém Vista a novšie verzie túto funkciu už nepodporuje. Niektoré náhrady za prieskumníkov tretích strán však tieto náhrady podporujú dokonca aj v neskorších verziách Windows ako XP.
Tu môžete určiť iné umiestnenie pre konfiguračný súbor Subversion. To ovplyvní všetky operácie TortoiseSVN.
Vo väčšine dialógov v TortoiseSVN môžete použiť Ctrl+Enter na zatvorenia dialógového okna, akoby ste klikli na tlačidlo OK. Ak to nechcete, nastavte túto hodnotu na false
.
Nastaviť na true
ak chcete, aby sa otvorilo dialógové okno pre každý príkaz zobrazujúci príkazový riadok použitý na spustenie TortoiseProc.exe.
Nastaviť na true
ak chcete, aby TortoiseSVN počas vykonávania vytlačil správy ladenia. Správy je možné zachytiť iba pomocou špeciálnych nástrojov na ladenie.
Predvolený formát (hodnota 0) nadpisov dialógov je url/cesta - názov dialógového okna - TortoiseSVN
. Ak nastavíte túto hodnotu na 1, formát sa zmení na názov dialógového okna - adresa URL/cesta - TortoiseSVN
.
TortoiseSVN vám umožňuje priradiť externý prehliadač odlišností. Väčšina takýchto prehliadačov však nie je vhodná na vyvodenie zodpovednosti za zmeny (“Odlišnosti vyvodenia zodpovednosti”), takže v takom prípade by ste sa možno mali vrátiť k TortoiseMerge. Za týmto účelom nastavte túto hodnotu na true
.
Táto hodnota určuje počet pixelov, ktoré musí byť dialógové okno blízko okraja, kým sa dialógové okno prilepí. Predvolená hodnota je 3. Ak chcete túto hodnotu deaktivovať, nastavte hodnotu na nulu.
Niektoré aplikácie menia veľkosť názvov súborov bez predošlého upozornenia, ale tieto zmeny nie sú skutočne potrebné ani žiadúce. Napríklad zmena z file.txt
na FILE.TXT
by normálnym aplikáciám Windows neprekážala, ale Subversion v týchto situáciách rozlišuje veľké a malé písmená. Takže TortoiseSVN automaticky opravuje také prípady zmien.
Ak nechcete, aby TortoiseSVN automaticky opravoval takéto zmeny prípadov za vás, môžete túto hodnotu nastaviť na false
.
Ovládací prvok zoznamu stavu, ktorý sa používa v rôznych dialógových oknách (napr. odovzdať, skontrolovať zmeny, pridať, vrátiť ...), používa výber celého riadku (t. j. ak vyberiete záznam, vyberie sa celý riadok, nielen prvý stĺpec). To je v poriadku, ale vybraný riadok potom zakrýva aj obrázok pozadia vpravo dole, ktorý nemusí to vyzerať pekne. Ak chcete zakázať výber celého riadku, nastavte túto hodnotu na false
.
Táto možnosť určuje, ako sú zoskupené ikony panela úloh Win7 v rôznych dialógových oknách a oknách TortoiseSVN. Táto možnosť nemá žiadny vplyv na systém Vista!
Predvolená hodnota je 0. Pri tomto nastavení sú ikony zoskupené podľa typu aplikácie. Všetky dialógové okná z TortoiseSVN sú zoskupené, všetky okná z TortoiseMerge sú zoskupené, ...
Ak je nastavená hodnota 1, sú namiesto všetkých dialógových okien v jednej skupine pre každú aplikáciu zoskupené podľa úložiska. Napríklad ak máte pre archív otvorené dialógové okno záznamu a dialógové okno odovzdania A
a dialógové okno kontroly úprav a dialógové okno záznamu pre úložisko B
, potom sa na paneli úloh Win7 zobrazujú dve skupiny ikon aplikácií, jedna skupina pre každé úložisko. Okná TortoiseMerge však nie sú zoskupené spolu s dialógovými oknami TortoiseSVN.
Ak je nastavená hodnota 2, potom zoskupenie funguje rovnako ako pri nastavení nastavenom na hodnotu 1, ibaže okná TortoiseSVN, TortoiseMerge, TortoiseBlame, TortoiseIDiff a TortoiseUDiff sú zoskupené. Napríklad ak máte otvorené dialógové okno pre odovzdanie a potom dvakrát kliknete na upravený súbor, otvorené okno rozdielu TortoiseMerge bude umiestnené do rovnakej skupiny ikon na paneli úloh ako ikona dialógového okna pre odovzdanie.
Ak je nastavená na 3, potom zoskupenie funguje ako pri nastavení na 1, ale zoskupenie sa nerobí podľa úložiska, ale podľa pracovnej kópie. Je to užitočné, ak máte všetky svoje projekty v rovnakom úložisku, ale pre každý projekt máte odlišné pracovné kópie.
Ak je nastavená na 4, potom zoskupenie funguje ako pri nastavení na 2, ale zoskupenie sa nerobí podľa úložiska, ale podľa pracovnej kópie.
Toto nemá žiadny vplyv, ak je táto možnosť k dispozícii GroupTaskbarIconsPerRepo
je nastavená na 0 (pozri vyššie).
Ak je táto možnosť nastavená na true
, potom každá ikona na paneli úloh Win7 zobrazuje malé farebné obdĺžnikové prekrytie, ktoré označuje úložisko, pre ktoré sa používajú dialógy/okná.
Ak to je nastavené na false
, potom každý svn:externals
sa počas aktualizácie zobrazuje osobitne.
Ak to je nastavené na true
(predvolené), potom sa aktualizačné informácie pre externé zobrazia iba v prípade, že sú externé ovplyvnené aktualizáciou, t. j. sú nejakým spôsobom zmenené. Inak sa nič nezobrazuje ako pri bežných súboroch a priečinkoch.
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.
V predvolenom nastavení TortoiseSVN vždy spúšťa aktualizáciu vrátane externých súborov. Vyhnete sa tak problémom s nekonzistentnými pracovnými kópiami. Ak máte nastavených veľa externých súborov, môže aktualizácia trvať pomerne dlho. Nastavte túto hodnotu na false
pre spustenie predvolenej aktualizácie bez vylúčených externých súborov. Pre aktualizáciu so zahrnutými externými súbormi, spustite dialógové okno Aktualizovať na revíziu...
alebo znovu nastavte túto hodnotu na true
.
Pri spustení dialógového okna záznamu sprievodcom zlúčenia sa už zlúčené revízie zobrazia sivou farbou, ale zobrazia sa aj revízie za bodom, kde bola vytvorená vetva. Tieto revízie sú zobrazené čiernou farbou, pretože sa nedajú zlúčiť.
Ak je táto možnosť nastavená na true
potom sa TortoiseSVN pokúsi nájsť revíziu, z ktorej bola vetva vytvorená a skryť všetky revízie, ktoré sú mimo tejto revízie. Pretože to môže chvíľu trvať, táto možnosť je v predvolenom nastavení zakázaná. Táto možnosť tiež nefunguje s niektorými servermi SVN (napr. Hostenie kódu Google, pozrite si časť problém #5471).
Formátovací reťazec pre správy záznamu, keď je v dialógovom okne záznamu vybratých viac revízií.
Vo svojom formátovacom reťazci môžete použiť nasledujúce zástupné symboly:
Dialógové okno záznamu zobrazuje tučným písmom revíziu cesty pracovnej kópie. To si ale vyžaduje, aby sa v dialógovom okne denníka načítal stav tejto cesty. Pretože pre veľmi veľké pracovné kópie to môže chvíľu trvať, môžete túto hodnotu nastaviť na false
pre deaktivovanie tejto funkcie.
Rozvinovacie textové polia pre adresy URL a cesty zobrazujú, pokiaľ je to možné, históriu predtým použitých adries URL/ciest. Toto nastavenie určuje, koľko predošlých položiek je uložených a zobrazených. Predvolená hodnota je 25 položiek.
Keď zlúčite revízie z inej vetvy a budú k dispozícii informácie o sledovaní zlúčenia, správy záznamu z zlúčených revízií sa zhromaždia na vytvorenie správy záznamu odovzdania. Preddefinovaný reťazec sa používa na oddelenie jednotlivých správ záznamu zlúčených revízií. Ak chcete, môžete túto hodnotu nastaviť na hodnotu obsahujúcu oddeľovací reťazec podľa vášho výberu.
Ak chcete zobraziť rozdiel naraz pre viac položiek, ako je uvedené v tomto nastavení, zobrazí sa najskôr výstražné dialógové okno. Predvolená hodnota je 10.
TortoiseSVN kontroluje, či je k dispozícii nová verzia približne raz za týždeň. Ak sa nájde aktualizovaná verzia, v dialógovom okne odovzdania sa zobrazí kontrolný odkaz na tieto informácie. Ak dávate prednosť starému správaniu, keď sa zobrazí dialógové okno s oznámením o aktualizácii, nastavte túto hodnotu na true
.
Prehliadač úložiska sa pokúsi načítať webovú stránku vygenerovanú serverom SVN nakonfigurovaným príkazom SVNParentPath, aby získal zoznam všetkých úložísk. Ak chcete toto správanie zakázať, nastavte túto hodnotu na false
.
Táto voľba umožňuje obojsmerný režim pre editačné pole správy odovzdania. Ak je táto možnosť povolená, úpravy textu v jazyku sprava doľava sa vykonávajú správne. Pretože je táto funkcia nákladná, je predvolene vypnutá. Môžete ju povoliť nastavením tejto hodnoty na true
.
Táto možnosť umožňuje použitie zrýchleného kreslenia Direct2D v ovládacom prvku Scintilla, ktorý sa používa ako editačné pole napr. v dialógovom okne odovzdania a tiež pre prehliadač zjednotených odlišností. U niektorých grafických kariet to však niekedy nefunguje správne, takže kurzor na zadávanie textu nie je vždy viditeľný. Ak sa to stane, môžete túto funkciu vypnúť nastavením tejto hodnoty na false
.
Tento parameter určuje, ako sa chová TortoiseSVN, ak odovzdanie zlyhá z dôvodu neaktuálnej chyby:
Užívateľovi sa zobrazí otázka, či má pracovnú kópiu aktualizovať alebo nie a dialógové okno odovzdania sa po aktualizácii znova neotvorí.
Toto je predvolené nastavenie. Užívateľovi sa zobrazí otázka, či má pracovnú kópiu aktualizovať, alebo nie a po aktualizácii sa znova otvorí dialógové okno odovzdania, aby mohol užívateľ ihneď pokračovať v odovzdávaní.
Podobne ako 1
, ale namiesto aktualizácie iba ciest vybraných pre odovzdanie sa aktualizácia vykoná v koreňovom priečinku pracovnej kópie. To pomáha predchádzať nekonzistentným pracovným kópiám.
Od používateľa sa nežiada aktualizácia pracovnej kópie. Odovzdanie jednoducho zlyhá s neaktuálnym chybovým hlásením.
Ak je nastavené na true
, TortoiseSVN prehrá zvuk systému, keď sa vyskytne chyba alebo varovanie, alebo iná situácia, ktorá je dôležitá a vyžaduje vašu pozornosť. Nastavte na false
ak chcete zachovať tiché TortoiseSVN. Upozorňujeme, že monitor projektu má svoje vlastné nastavenie prehrávania zvukov, ktoré môžete nakonfigurovať v dialógovom okne Nastavenia.
TortoiseSVN používa zrýchľovače pre svoje položky kontextovej ponuky prieskumníka. Pretože to môže viesť k zdvojnásobeniu zrýchľovačov (napr. SVN Odovzdať
má zrýchľovač Alt-C, ale rovnako ako položka prieskumníka Kopírovať
). Ak nechcete alebo nepotrebujete zrýchľovače položiek TortoiseSVN, nastavte túto hodnotu na false
.
To môže byť užitočné, ak používate niečo iné ako Windows Explorer alebo ak narazíte na problémy s nesprávnym zobrazením kontextovej ponuky. Nastavte túto hodnotu na false
ak nechcete, aby TortoiseSVN zobrazoval ikony pre položky kontextovej ponuky prostredia. Nastavte túto hodnotu na true
na opätovné zobrazenie ikon.
Ak nechcete, aby TortoiseSVN vo vlastných dialógových oknách zobrazoval ikony pre kontextové ponuky, nastavte túto hodnotu na false
.
Nastavte túto hodnotu na false
ak nechcete, aby monitor projektu zobrazoval vyskakovacie okná s upozornením, keď sa zistia nové odovzdania.
Dialóg odovzdania a prihlásenia používa v správach odovzdania štýl (napr. tučné, kurzíva) (pre detaily si pozrite časť “Odovzdanie správ záznamu”). Ak to nechcete urobiť, nastavte hodnotu na false
.
Táto hodnota obsahuje adresu URL, z ktorej sa TortoiseSVN pokúša stiahnuť textový súbor, aby zistil, či sú k dispozícii aktualizácie. To môže byť užitočné pre správcov spoločností, ktorí nechcú, aby ich užívatelia aktualizovali TortoiseSVN, kým to neschvália.
Štandardné ovládacie prvky úprav sa nezastavia na lomkách, ako by sa našli v cestách a adresách URL. TortoiseSVN používa pre ovládacie prvky úprav vlastný postup zalamovania slova. Ak to nechcete a použite namiesto toho predvolenú hodnotu, nastavte túto hodnotu na 0. Ak chcete iba predvolenú hodnotu pre ovládacie prvky úprav v rozvinovacích textových poliach, nastavte túto hodnotu na 1.
TortoiseSVN kontroluje, či je k dispozícii nová verzia približne raz týždenne. Ak nechcete, aby TortoiseSVN vykonal túto kontrolu, nastavte túto hodnotu na false
.
Monitor projektu je užitočný nástroj, ktorý monitoruje úložiská a upozorní vás v prípade nových odovzdaní.
Projekty je možné monitorovať prostredníctvom cesty pracovnej kópie alebo priamo prostredníctvom adries URL ich úložiska.
Monitor projektu prehľadá každý projekt v konfigurovateľnom intervale a vždy, keď sa zistia nové odovzdania sa zobrazí vyskakovacie okno s oznámením. Ikona, ktorá je pridaná na systémovú lištu, sa zmení tak, aby indikovala, že existujú nové odovzdania.
Ak Snarl (oznamovací systém Windows) je nainštalovaný a aktívny, potom monitor projektu automaticky použije Snarl na zobrazovanie oznámení o novo zistených záväzkoch.
Pri prvom spustení monitora projektu je stromové zobrazenie na ľavej strane prázdne. Ak chcete pridať projekty, kliknite na tlačidlo v hornej časti dialógového okna s názvom
.
Ak chcete pridať projekt na monitorovanie, vyplňte požadované informácie. Názov projektu nie je voliteľný a je potrebné ho vyplniť, všetky ostatné informácie sú voliteľné.
Ak je pole Cesta alebo adresa URL
zostane prázdne, potom sa pridá priečinok. To je užitočné pri zoskupovaní monitorovaných projektov.
Ak chcete monitorovať všetky úložiská poskytované prostredníctvom príkazu SVNParentPath, zadajte koreňovú adresu URL pre svoje úložiská a zaškrtnite políčko Adresa URL ukazuje na zoznam SVNParentPath
.
Polia Užívateľské meno
a Heslo
by sa mali vyplniť, iba ak úložisko neposkytuje anonymný prístup na čítanie a iba ak autentifikácia nie je uložená samotným Subversion. Ak pristupujete k monitorovanému úložisku pomocou TortoiseSVN alebo iných klientov svn a autentifikáciu ste už uložili, mali by ste ponechať toto pole prázdne: pri zmene hesla nebudete musieť tieto projekty upravovať manuálne.
Interval monitorovania v minútach
určuje minúty čakania medzi kontrolami. Najmenší interval je jedna minúta.
Ak rovnaké úložisko monitoruje veľa užívateľov a šírka pásma na serveri je obmedzená, môže správca úložiska nastaviť minimum pre intervaly kontroly použitím súboru svnrobots.txt
. Podrobné vysvetlenie toho, ako to funguje, nájdete na webovej stránke monitora projektu:
Monitor projektu zobrazuje všetky monitorované projekty vľavo v stromovom zobrazení. Projekty je možné presúvať, napríklad jeden projekt je možné presunúť pod iný projekt, čo z neho robí podradený projekt/podprojekt.
Kliknutím na projekt sa vpravo zobrazia všetky správy záznamu tohto projektu.
Projekty, ktoré majú aktualizácie, sú zobrazené tučným písmom s počtom nových odovzdaní v zátvorkách vpravo. Kliknutím na projekt sa program automaticky označí ako prečítaný.
Panel s nástrojmi v hornej časti dialógového okna umožňuje konfigurovať a pracovať s monitorom projektu.
Zatiaľ čo sa každý monitorovaný projekt kontroluje podľa nastaveného intervalu, kliknutím na toto tlačidlo sa okamžite vynúti kontrola všetkých projektov. Upozorňujeme, že ak existujú aktualizácie, upozornenie sa nezobrazí, kým nebudú skontrolované všetky projekty.
Otvorí nové dialógové okno na nastavenie nového projektu pre monitorovanie.
Otvorí konfiguračné dialógové okno pre vybratý projekt.
Odstráni vybraný projekt po zobrazení dialógového okna odovzdania.
Označí všetky revízie všetkých projektov ako prečítané. Upozorňujeme, že ak vyberiete projekt s neprečítanými revíziami, tieto revízie sa pri výbere iného projektu automaticky označia ako prečítané.
Ak pridržíte klávesu Shift po kliknutí na tlačidlo, vymažú sa aj všetky chybové stavy, ak nejaké existujú.
Spustí sa Aktualizácia na všetkých sledovaných pracovných kópiách. Projekty, ktoré sa monitorujú prostredníctvom adresy URL, sa neaktualizujú, iba tie, ktoré sú nastavené cestou pracovnej kópie.
Zobrazí dialógové okno na konfiguráciu správania monitora projektu.
SubWCRev je konzolový program Windows, ktorý je možné použiť na čítanie stavu pracovnej kópie Subversion a voliteľné vykonávanie zámeny kľúčových slov v súbore šablón. Toto sa často používa ako súčasť procesu zostavovania ako prostriedok na začlenenie informácií o pracovnej kópii do objektu, ktorý zostavujete. Spravidla sa môže použiť na vloženie čísla revízie do políčka “O programe”.
SubWCRev načíta stav Subversion všetkých súborov v pracovnej kópii, predvolene okrem externých súborov. Zaznamenáva najvyššie nájdené číslo revízie odovzdania a časovú pečiatku odovzdania tejto revízie. Zaznamenáva tiež, či existujú lokálne úpravy v pracovnej kópii, alebo zmiešané revízie aktualizácií. Na štandardnom displeji sa zobrazí číslo revízie, rozsah revízie aktualizácie a stav zmeny.
SubWCRev.exe sa volá z príkazového riadku alebo skriptu a ovláda sa pomocou parametrov príkazového riadku.
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
WorkingCopyPath
je cesta k kontrolovanej pracovnej kópii. SubWCRev môžete použiť iba na pracovné kópie, nie priamo na úložisko. Cesta môže byť absolútna alebo relatívna k aktuálnemu pracovnému priečinku.
Ak chcete, aby SubWCRev vykonával substitúciu kľúčových slov, aby sa polia ako revízia úložiska a URL ukladali do textového súboru, musíte zadať súbor so šablónou SrcVersionFile
a výstupný súbor DstVersionFile
, ktorý obsahuje nahradzovanú verziu šablóny.
Môžete určiť vzory ignorovania pre SubWCRev, aby ste zabránili spracovaniu konkrétnych súborov a ciest. Vzory sa načítajú zo súboru s názvom .subwcrevignore
. Súbor sa číta zo zadanej cesty a tiež z koreňa pracovnej kópie. Ak súbor neexistuje, nebudú ignorované žiadne súbory ani cesty. Súbor .subwcrevignore
môže obsahovať viac vzorov oddelených novými riadkami. Vzory sa porovnávajú s cestami relatívne ku koreňu úložiska a cestami relatívne k ceste súboru .subwcrevignore
. Napríklad ignorovať všetky súbory v priečinku doc
pracovnej kópie TortoiseSVN, súbor .subwcrevignore
bude obsahovať nasledujúce riadky:
/trunk/doc /trunk/doc/*
Alebo za predpokladu, že súbor .subwcrevignore
je v koreňovom priečinku pracovnej kópie, ktorá je overená z kmeňa použitím vzorov
doc doc/*
je to isté ako v príklade vyššie.
Ak chcete ignorovať všetky obrázky, môžete ich nastaviť takto:
*.png *.jpg *.ico *.bmp
Vo vzoroch ignorovania sa rozlišujú veľké a malé písmená, rovnako ako v Subversion.
Na vytvorenie súboru s počiatočnou bodkou v programe Windows Explorer, zadajte .subwcrevignore.
. Všimnite si bodku na konci.
Existuje niekoľko voliteľných prepínačov, ktoré ovplyvňujú spôsob fungovania SubWCRev. Ak používate viac ako jednu, musia byť zadané ako jedna skupina, napr. -nm
, nie -n -m
.
Tabuľka 6.1. Zoznam dostupných prepínačov príkazového riadku
Prepínač | Popis |
---|---|
-n | Ak je zadaný tento prepínač, SubWCRev sa ukončí s návratovou hodnotou ERRORLEVEL 7 , ak miestna pracovná kópia obsahuje zmeny. Toto môže byť použité, aby sa vyhlo kompilovaniu neodovzdaných zmien. |
-N | Ak je zadaný tento prepínač, SubWCRev ukončí s ERRORLEVEL 11 ak pracovná kópia obsahuje bezverziové položky, ktoré nie sú ignorované. |
-m | Ak je zadaný tento prepínač, SubWCRev ukončí s ERRORLEVEL 8 ak pracovná kópia obsahuje zmiešané revízie. To možno použiť na zabránenie zostavenia čiastočne aktualizovanej pracovnej kópie. |
-d | Ak je zadaný tento prepínač, SubWCRev ukončí s ERRORLEVEL 9 ak cieľový súbor už existuje. |
-f | Ak je zadaný tento prepínač, SubWCRev zahrnie naposledy zmenenú revíziu priečinkov. Predvolené správanie je pri načítaní čísel revízií používať iba súbory. |
-e | Ak je zadaný tento prepínač, SubWCRev preskúma priečinky, ktoré sú súčasťou svn:externals , ale iba ak sú z rovnakého úložiska. Predvolené správanie je ignorovanie externých užívateľov. |
-E | Ak je uvedený tento prepínač, rovnaké ako -e , ale ignoruje externé subjekty s explicitnými revíziami, keď rozsah revízií v nich predstavuje iba danú explicitnú revíziu vo vlastnostiach. Takže to nevedie k zmiešaným revíziám. |
-x | Ak je zadaný tento prepínač, SubWCRev vygeneruje čísla revízií v šestnástkovej sústave (HEX). |
-X | Ak je zadaný tento prepínač, SubWCRev vygeneruje čísla revízií v šestnástkovej sústave (HEX), s predponou „0X“. |
-F | Ak je zadaný tento prepínač, SubWCRev bude ignorovať akékoľvek súbory .subwcrevignore a zahrnie všetky súbory. |
-q | Ak je zadaný tento prepínač, SubWCRev vykoná zámenu kľúčových slov bez zobrazenia stavu pracovnej kópie na štandardnom výstupe. |
Ak nie je chyba, SubWCRev vráti nulu. Ale v prípade chyby sa chybové hlásenie zapíše na stderr a zobrazí sa v konzole. Vrátené chybové kódy sú:
Tabuľka 6.2. Zoznam chybových kódov SubWCRev
Kód chyby | Popis |
---|---|
1 | Chyba syntaxe. Jeden alebo viac parametrov príkazového riadku je neplatných. |
2 | Súbor alebo priečinok uvedený v príkazovom riadku sa nenašiel. |
3 | Vstupný súbor nebolo možné otvoriť alebo sa nepodarilo vytvoriť cieľový súbor. |
4 | Pamäť sa nepodarilo vyhradiť. To by sa mohlo stať, keby napr. zdrojový súbor je príliš veľký. |
5 | Zdrojový súbor nie je možné správne skenovať. |
6 | Chyba SVN: Subversion sa vrátil s chybou, keď sa SubWCRev pokúsil nájsť informácie z pracovnej kópie. |
7 | Pracovná kópia má miestne úpravy. To si vyžaduje prepínač -n . |
8 | Pracovná kópia má zmiešané revízie. To si vyžaduje prepínač -m . |
9 | Výstupný súbor už existuje. To si vyžaduje prepínač -d . |
10 | Zadaná cesta nie je pracovnou kópiou alebo časťou alebo časťou. |
11 | Pracovná kópia obsahuje bezverziové súbory alebo priečinky. To si vyžaduje prepínač -N . |
Ak sú dodané zdrojové a cieľové súbory, SubWCRev skopíruje zdroj do cieľového miesta a nahradenie kľúčového slova vykoná takto:
Tabuľka 6.3. Zoznam dostupných kľúčových slov
Kľúčové slovo | Popis |
---|---|
$WCREV$ | Nahradené najvyššou revíziou odovzdania v pracovnej kópii. |
$WCREV&$ | Nahradené najvyššou revíziou odovzdania v pracovnej kópii, ANDed hodnotou za & char. Napríklad: $WCREV&0xFFFF$ |
$WCREV-$, $WCREV+$ | Nahradené najvyššou revíziou odovzdania v pracovnej kópii, s hodnotou za znamienkom + alebo - pridanou alebo odčítanou. Napríklad: $WCREV-1000$ |
$WCDATE$, $WCDATEUTC$ | Nahradené dátumom/časom odovzdania najvyššej revízie potvrdenia. Predvolene sa používa medzinárodný formát: yyyy-mm-dd hh:mm:ss . Prípadne môžete určiť vlastný formát, ktorý sa použije s strftime() , napríklad: $WCDATE=%a %b %d %I:%M:%S %p$ . Zoznam dostupných formátovacích znakov nájdete na online referencia . |
$WCNOW$, $WCNOWUTC$ | Nahradené aktuálnym dátumom a časom systému. To možno použiť na označenie času zostavenia. Časové formátovanie je možné použiť spôsobom popísaným pre $WCDATE$ . |
$WCRANGE$ | Nahradené rozsahom revízií aktualizácií v pracovnej kópii. Ak je pracovná kópia v konzistentnom stave, bude to jedna revízia. Ak pracovná kópia obsahuje zmiešané revízie, buď kvôli zastaraniu, alebo kvôli zámernej aktualizácii na revíziu, rozsah sa zobrazí vo formáte 100: 200. |
$WCMIXED$ | $WCMIXED?TText:FText$ sa nahrádza TText - ak existujú zmiešané revízie aktualizácií, alebo ak nie je FText . |
$WCMODS$ | $WCMODS?TText:FText$ sa nahrádza TText ak existujú miestne úpravy, alebo ak nie je FText . |
$WCUNVER$ | $WCUNVER?TText:FText$ sa nahrádza TText ak sú v pracovnej kópii bezverziové položky, alebo ak nie je FText . |
$WCEXTALLFIXED$ | $WCEXTALLFIXED?TText:FText$ sa nahrádza TText ak sú všetky externé zdroje spojené s explicitnou revíziou, alebo ak nie je FText . |
$WCISTAGGED$ | $WCISTAGGED?TText:FText$ sa nahrádza TText ak adresa URL úložiska obsahuje vzor klasifikácie značiek, alebo ak nie je FText . |
$WCURL$ | Nahradené URL úložiska cesty pracovnej kópie odovzdanej SubWCRev. |
$WCINSVN$ | $WCINSVN?TText:FText$ sa nahrádza TText ak je položka verziová, alebo ak nie je FText . |
$WCNEEDSLOCK$ | $WCNEEDSLOCK?TText:FText$ sa nahrádza TText ak položka nastavenú vlastnosť svn:needs-lock , alebo ak nie FText . |
$WCISLOCKED$ | $WCISLOCKED?TText:FText$ sa nahrádza TText ak je vstup zamknutý, alebo ak nie je FText . |
$WCLOCKDATE$, $WCLOCKDATEUTC$ | Nahradené dátumom uzamknutia. Časové formátovanie je možné použiť spôsobom popísaným pre $WCDATE$ . |
$WCLOCKOWNER$ | Nahradené menom vlastníka zámku. |
$WCLOCKCOMMENT$ | Nahradené komentárom zámku. |
$WCUNVER$ | $WCUNVER?TText:FText$ sa nahrádza TText ak sú v pracovnej kópii bezverziové súbory alebo priečinky, alebo ak nie je FText . |
SubWCRev priamo nepodporuje vnorenie výrazov, takže napríklad nemôžete použiť výraz ako:
#define SVN_REVISION "$WCMIXED?$WCRANGE$:$WCREV$$"
Spravidla to však môžete obísť inými spôsobmi, napríklad:
#define SVN_RANGE $WCRANGE$ #define SVN_REV $WCREV$ #define SVN_REVISION "$WCMIXED?SVN_RANGE:SVN_REV$"
Niektoré z týchto kľúčových slov sa vzťahujú skôr na jednotlivé súbory ako na celú pracovnú kópiu, takže má zmysel ich použiť, iba ak je na skenovanie jedného súboru zavolaný SubWCRev. Toto sa týka $WCINSVN$
, $WCNEEDSLOCK$
, $WCISLOCKED$
, $WCLOCKDATE$
, $WCLOCKOWNER$
a $WCLOCKCOMMENT$
.
Nasledovný príklad ukazuje ako sú kľúčové slová nahradené vo výstupnom súbore.
// Testovací súbor pre SubWCRev char *Revision = "$WCREV$"; char *Revision16 = "$WCREV&0xFF$"; char *Revisionp100 = "$WCREV+100$"; char *Revisionm100 = "$WCREV-100$"; char *Modified = "$WCMODS?Zmenené:Nezmenené$"; char *Unversioned = "$WCUNVER?Nájdené bezverziové položky:žiadne bezverziové položky$"; 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?Zmiešené revízie pracovnej kópie:Nezmiešané$"; char *ExtAllFixed = "$WCEXTALLFIXED?Všetky externé upevnené:Neupevnené všetky extrené$"; char *IsTagged = "$WCISTAGGED?Označené príznakom:Neoznačené príznakom$"; char *URL = "$WCURL$"; char *isInSVN = "$WCINSVN?verziové:bezverziové$"; char *needslck = "$WCNEEDSLOCK?TRUE:FALSE$"; char *islocked = "$WCISLOCKED?zamknuté:nezamknuté$"; 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 Zdroj je zmenený #endif // Koniec súboru
Po spustení SubWCRev.exe cesta\ku\pracovnejkopii testfile.tmpl testfile.txt
, bude výstupný súbor testfile.txt
vyzerať nasledovne:
// Testovací súbor pre SubWCRev char *Revision = "22837"; char *Revision16 = "53"; char *Revisionp100 = "22937"; char *Revisionm100 = "22737"; char *Modified = "Zmenené"; char *Unversioned = "žiadne bezverziové položky"; 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 = "Zmiešaná revízia pracovnej kópie"; char *ExtAllFixed = "Všetky externé pevné"; char *IsTagged = "Bez označenia príznakom"; char *URL = "https://svn.code.sf.net/p/tortoisesvn/code/trunk"; char *isInSVN = "verziové"; char *needslck = "FALSE"; char *islocked = "nezamknuté"; 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 Zdroj je zmenený #endif // Koniec súboru
Takýto súbor bude zahrnutý do zostavenia, takže očakávali by ste ho ako verziový. Nezabudnite verziovať súbor šablóny, nie vygenerovaný súbor, inak pri každej novej generácii verziového súboru musíte vykonať odovzdanie, čo znamená, že je potrebné aktualizovať verziový súbor.
Ak potrebujete získať prístup k informáciám o revízii Subversion z iných programov, môžete použiť rozhranie COM programu SubWCRev. Objekt, ktorý sa má vytvoriť, je SubWCRev.objekt
a sú podporované nasledujúce metódy:
Tabuľka 6.4. Podporované metódy COM/automatizácie
Metóda | Popis |
---|---|
.GetWCInfo | Táto metóda prechádza pracovnou kópiou a zhromažďuje informácie o revízii. Prirodzene, musíte toto zavolať skôr, ako získate prístup k informáciám pomocou zostávajúcich metód. Prvým parametrom je cesta. Druhý parameter by mal byť true, ak chcete zahrnúť revízie priečinkov. Obdoba prepínača príkazového riadku -f . Tretí parameter by mal byť true, ak chcete zahrnúť svn:externals. Obdoba prepínača príkazového riadku -e . |
.GetWCInfo2 | Rovnaké ako GetWCInfo() ale so štvrtým parametrom, ktorý nastavuje ekvivalent k prepínaču príkazového riadku -E . |
.Revision | Najvyššia odovzdaná revízia v pracovnej kópii. Zhodná s $WCREV$ . |
.Date | Dátum/čas odovzdania najvyššej odovzdanej revízie. Ekvivalent pre $WCDATE$ . |
.Author | Autor najvyššej revízie odovzdania, to znamená, posledný človek, ktorý sa odovzdal zmeny v pracovnej kópii. |
.MinRev | Minimálna revízia aktualizácie, ako je uvedené v $WCRANGE$ |
.MaxRev | Maximálna revízia aktualizácie, ako je uvedené v $WCRANGE$ |
.HasModifications | True, ak existujú miestne úpravy |
.HasUnversioned | True, ak existujú bezverziové položky |
.Url | Nahradené s URL úložiska cesty pracovnej kópie použitej v GetWCInfo . Ekvivalent $WCURL$ . |
.IsSvnItem | True, ak je položka verziová. |
.NeedsLocking | True, ak má položka nastavenú vlastnosť svn:needs-lock . |
.IsLocked | True, ak je položka uzamknutá. |
.LockCreationDate | Reťazec predstavujúci dátum, kedy bol zámok vytvorený, alebo prázdny reťazec, ak položka nie je uzamknutá. |
.LockOwner | Reťazec predstavujúci vlastníka zámku, alebo prázdny reťazec, ak položka nie je uzamknutá. |
.LockComment | Správa zadaná pri vytvorení zámku. |
Nasledujúci príklad ukazuje, ako sa dá rozhranie použiť.
// testCOM.js - súbor java skriptu // testovací skript pre objekt COM/automatizácie SubWCRev 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 = "Revizia = " + revObject1.Revision + "\nMin Revizia = " + revObject1.MinRev + "\nMax Revizia = " + revObject1.MaxRev + "\nDatum = " + revObject1.Date + "\nURL = " + revObject1.Url + "\nAutor = " + revObject1.Autor + "\nMaZmeny = " + revObject1.MaZmeny + "\nJePolozkaSvn = " + revObject1.JePolozkaSvn + "\nNutneZamknut = " + revObject1.NutneZamknut + "\nJeZamknute = " + revObject1.JeZamknute + "\nDatumVytvoreniaZamku = " + revObject1.DatumVytvoreniaZamku + "\nVlastnikZamku = " + revObject1.VlastnikZamku + "\nKomentarZamku = " + revObject1.KomentarZamku; wcInfoString2 = "Revizia = " + revObject2.Revision + "\nMin Revizia = " + revObject2.MinRev + "\nMax Revizia = " + revObject2.MaxRev + "\nDatum = " + revObject2.Date + "\nURL = " + revObject2.Url + "\nAuthor = " + revObject2.Autor + "\nMaZmeny = " + revObject2.MaZmeny + "\nJePolozkaSvn = " + revObject2.JePolozkaSvn + "\nNutneZamnut = " + revObject2.NutneZamknut + "\nJeZamknute = " + revObject2.JeZamknute + "\nDatumVytvoreniaZamku = " + revObject2.DatumVytvoreniaZamku + "\nVlastnikZamku = " + revObject2.VlastnikZamku + "\nKomentarZamku = " + revObject2.KomentarZamku; wcInfoString3 = "Revizia = " + revObject3.Revision + "\nMin Revizia = " + revObject3.MinRev + "\nMax Revizia = " + revObject3.MaxRev + "\nDatum = " + revObject3.Date + "\nURL = " + revObject3.Url + "\nAutor = " + revObject3.Autor + "\nMaZmeny = " + revObject3.MaZmeny + "\nJePolozkaSvn = " + revObject3.JePolozkaSvn + "\nNutneZamknut = " + revObject3.NutneZamknut + "\nJeZamknute = " + revObject3.JeZamknute + "\nDatumVytvoreniaZamku = " + revObject3.DatumVytvoreniaZamku + "\nVlastnikZamku = " + revObject3.VlastnikZamku + "\nKomentarZamku = " + revObject3.KomentarZamku; wcInfoString4 = "Revizia = " + revObject4.Revision + "\nMin Revizia = " + revObject4.MinRev + "\nMax Revizia = " + revObject4.MaxRev + "\nDatum = " + revObject4.Date + "\nURL = " + revObject4.Url + "\nAutor = " + revObject4.Autor + "\nMaZmeny = " + revObject4.MaZmeny + "\nJePolozkaSvn = " + revObject4.JePolozkaSvn + "\nNutneZamknut = " + revObject4.NutneZamknut + "\nJeZamknute = " + revObject4.JeZamknute + "\nDatumVytvoreniaZamku = " + revObject4.DatumVytvoreniaZamku + "\nVlastnikZamku = " + revObject4.VlastnikZamku + "\nKomentarZamku = " + revObject4.KomentarZamku; WScript.Echo(wcInfoString1); WScript.Echo(wcInfoString2); WScript.Echo(wcInfoString3); WScript.Echo(wcInfoString4);
Nasledujúci zoznam je príkladom toho, ako používať objekt SubWCRev COM z C #:
using LibSubWCRev; SubWCRev sub = new SubWCRev(); sub.GetWCInfo("C:\\CestakMojmuSuboru\\MojSubor.cc", true, true); if (sub.JePolozkaSvn == true) { MessageBox.Show("verziová"); } else { MessageBox.Show("bezverziová"); }
Ak chcete dosiahnuť tesnejšiu integráciu so sledovačmi problémov, ako len použitím vlastnosti bugtraq:
, TortoiseSVN môže využívať rozšírenia COM. Pomocou takýchto rozšírení je možné načítať informácie priamo z nástroja na sledovanie problémov, komunikovať s užívateľom a poskytovať TortoiseSVN informácie o otvorených problémoch, overovať správy zadané užívateľom a dokonca aj spúšťať akcie po úspešnom odovzdaní, napr. uzatvoriť problém .
Nemôžeme poskytnúť informácie a návody, ako musíte implementovať objekt COM vo vašom preferovanom programovacom jazyku, ale máme ukážky doplnkov v C++/ATL a C# v našom úložisku v priečinku contrib/issue-tracker-plugins
. V tomto priečinku nájdete aj požadované súbory na zahrnutie, ktoré potrebujete na zostavenie svojho doplnku. (Časť “Licencia” vysvetľuje, ako získať prístup do úložiska.)
Mali by ste poskytnúť 32-bitovú aj 64-bitovú verziu vášho rozšírenia. Pretože verzia x64 TortoiseSVN nemôže používať 32-bitový rozšírenia a naopak.
Ak vydáte rozšírenie na sledovanie problémov pre TortoiseSVN, nezvite ho, prosím, Tortoise<Niečo>. Radi by sme si rezervovali predponu Tortoise pre klienta na správu verzií integrovaného do systému Windows. Napríklad: TortoiseCVS, TortoiseSVN, TortoiseHg, TortoiseGit a TortoiseBzr sú všetci klienti na správu verzií.
Pomenujte, prosím, svoje rozšírenie pre klienta Tortoise Turtle<Niečo>, kde <Niečo> odkazuje na sledovač problémov, ku ktorému sa pripájate. Prípadne vyberte názov, ktorý znie Turtle ale má iné prvé písmeno. Pekné príklady sú:
Gurtle - rozšírenie sledovania problémov pre kód Google
TurtleMine - rozšírenie sledovania problémov pre Redmine
VurtleOne - rozšírenie sledovania problémov pre VersionOne
TortoiseSVN 1.5 a novší môže používať rozšírenia, ktoré implementujú rozhranie IBugtraqProvider. Rozhranie poskytuje niekoľko metód, pomocou ktorých môžu rozšírenia pracovať s nástrojom na sledovanie problémov.
HRESULT ValidateParameters ( // Nadradené okno pre akékoľvek užívateľské rozhranie, // ktorý je potrebné zobraziť v priebehu overovania. [in] HWND hParentWnd, // Reťazec parametru, ktorý je potrebné overiť. [in] BSTR parameters, // Je tento reťazec platný? [out, retval] VARIANT_BOOL *valid );
Táto metóda sa volá z dialógového okna nastavení, kde môže používateľ pridať a nakonfigurovať rozšírenie. Reťazec parameters
môže byť použitý rozšírením na získanie ďalších požadovaných informácií, napríklad adresy URL sledovača problémov, prihlasovacích informácií atď. Doplnok by mal overiť reťazec parameters
a zobraziť dialógové okno chyby, ak reťazec nie je platný. Parameter hParentWnd
by sa mal použiť pre akýkoľvek dialóg, ktorý rozšírenie zobrazuje ako nadradené okno. Rozšírenia musí vrátiť hodnotu TRUE, ak je overenie reťazca parameters
úspešné. Ak rozšírenie vráti hodnotu FALSE, dialógové okno nastavení neumožní užívateľovi pridať rozšírenie na cestu pracovnej kópie.
HRESULT GetLinkText ( // Nadradené okno pre akékoľvek (chybové) užívateľské rozhrania, // ktoré je potrebné zobraziť. [in] HWND hParentWnd, // Reťazec parametra len pre prípad, že musíte hovoriť // webovou službou (napr.) na vyhľadanie správneho textu. [in] BSTR parameters, // Ktorý text chcete zobraziť? // Použiť aktuálne lokálne vlákno. [out, retval] BSTR *linkText );
Rozšírenie tu môže poskytnúť reťazec, ktorý sa použije v dialógovom okne odovzdania TortoiseSVN pre tlačidlo, ktoré vyvolá rozšírenie, napr. „Vybrať problém“ alebo „Vybrať lístok“. Uistite sa, že reťazec nie je príliš dlhý, inak by sa nemusel vojsť na tlačidlo. Ak metóda vráti chybu (napr.E_NOTIMPL
), pre tlačidlo sa použije predvolený text.
HRESULT GetCommitMessage ( // Nadradené okno pre užívateľské rozhranie poskytovateľa. [in] HWND hParentWnd, // Parametere pre vášho poskytovateľa. [in] BSTR parameters, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Text nachádzajúci sa už v správe odovzdania. // Podľa potreby by mal váš poskytovateľ zahrnúť túto správu, // do novej správy. [in] BSTR originalMessage, // Nový text správy odovzdania. // Ten nahradí pôvodnú správu. [out, retval] BSTR *newMessage );
Toto je hlavná metóda rozšírenia. Táto metóda sa volá z dialógového okna odovzdania TortoiseSVN, keď užívateľ klikne na tlačidlo rozšírenia.
Reťazec parameters
je reťazec, ktorý musí užívateľ zadať v dialógovom okne nastavení pri konfigurácii rozšírenia. Rozšírenie to zvyčajne použije na vyhľadanie adresy URL sledovača problémov a/alebo prihlasovacích údajov alebo ďalších.
Reťazec commonRoot
obsahuje nadradenú cestu všetkých položiek, vybraných na vyvolanie dialógového okna odovzdania. Všimnite si, že je to nie je koreňová cesta ku všetkým položkám, ktoré si užívateľ vybral v dialógovom okne odovzdania. V dialógovom okne vetva/príznak je to cesta, ktorá sa má skopírovať.
Parameter pathList
obsahuje pole ciest (ako reťazce), ktoré si užívateľ vybral pre odovzdania.
Parameter originalMessage
obsahuje text zadaný do okna správy v dialógovom okne odovzdania. Ak používateľ zatiaľ nezadal žiadny text, bude tento reťazec prázdny.
Návratový reťazec newMessage
sa skopíruje do editačného poľa správy záznamu v dialógovom okne odovzdania a nahradí všetko, čo už existuje. Ak rozšírenie nezmení reťazec originalMessage
, musí tu znova vrátiť rovnaký reťazec, inak sa stratí akýkoľvek text, ktorý užívateľ zadá.
V TortoiseSVN 1.6 bolo pridané nové rozhranie, ktoré pridáva viac funkcií pre rozšírenia. Toto rozhranie IBugtraqProvider2 je zdedené z IBugtraqProvider.
HRESULT GetCommitMessage2 ( // Nadradené okno pre užívateľské rozhranie vášho poskytovateľa. [in] HWND hParentWnd, // Parametre vášho poskytovateľa. [in] BSTR parameters, // Spoločná adresa URL odovzdania [in] BSTR commonURL, [in] BSTR commonRoot, [in] SAFEARRAY(BSTR) pathList, // Text, ktorý je už prítomný v správe odovzdania. // Podľa potreby by mal váš poskytovateľ zahrnúť tento text, // do novej správy. [in] BSTR originalMessage, // Môžete priradiť svoje vlastnosti revízii k odovzdaniu // nastavením následných dvoch parametrov. // Poznámka: Obe safearrays musia mať rovnakú dĺžku. // Pre každý názov vlastnosti musí byť aj jej hodnota! // Obsah poľa bugID (ak je zobrazený) [in] BSTR bugID, // Zmenený obsah poľa bugID [out] BSTR * bugIDOut, // Zoznam názvov vlastností revízie. [out] SAFEARRAY(BSTR) * revPropNames, // Zoznam hodnôt vlastností revízie. [out] SAFEARRAY(BSTR) * revPropValues, // Nový text pre správu odovzdania. // Ten nahradí pôvodný text [out, retval] BSTR * newMessage );
Táto metóda sa volá z dialógového okna odovzdania TortoiseSVN, keď používateľ klikne na tlačidlo rozšírenia. Táto metóda sa volá namiesto GetCommitMessage()
. Prečítajte si dokumentáciu ku GetCommitMessage
pre parametre, ktoré sa tam tiež používajú.
Parameter commonURL
je nadradená adresa URL všetkých položiek vybraných na vyvolanie dialógového okna odovzdania. Toto je v podstate adresa URL cesty commonRoot
.
Parameter bugID
obsahuje obsah poľa ID chyby (ak je zobrazené, nakonfigurované s vlastnosťou bugtraq:message
).
Návratový parameter bugIDOut
sa používa na vyplnenie poľa ID chyby, keď sa metóda vráti.
Návratové parametre revPropNames
a revPropValues
môžu obsahovať páry názov/hodnota pre vlastnosti revízie, ktoré by mal odovzdania nastaviť. Rozšírenie sa musí uistiť, že obe polia majú pri návrate rovnakú veľkosť! Každý názov vlastnosti revPropNames
musí mať zodpovedajúcu hodnotu aj v revPropValues
. Ak sa nemajú nastavovať žiadne vlastnosti revízie, musí rozšírenie vrátiť prázdne polia.
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 );
Táto metóda sa volá tesne predtým, ako sa zavrie dialógové okno odovzdania a začne sa odovzdania. Rozšírenie môže pomocou tejto metódy overiť vybrané súbory/priečinky pre odovzdanie a/alebo správu odovzdania zadanú užívateľom. Parametre sú rovnaké ako pre GetCommitMessage2()
, s tým rozdielom, že commonURL
je teraz spoločnou adresou URL všetkých zaškrtnutých položiek a commonRoot
je koreňová cesta všetkých zaškrtnutých položiek.
V dialógovom okne vetva/príznak je commonURL
je zdrojová adresa URL kópie a commonRoot
je nastavená na cieľovú adresu URL kópie.
Návratový parameter errorMessage
musí obsahovať chybové hlásenie, ktoré TortoiseSVN zobrazuje užívateľovi, alebo musí byť prázdne, aby mohlo dôjsť k odovzdaniu. Ak sa vráti chybové hlásenie, TortoiseSVN zobrazí chybový reťazec v dialógovom okne a ponechá dialógové okno odovzdania otvorené, aby mohol užívateľ opraviť všetko, čo je zlé. Doplnok by mal preto vrátiť chybový reťazec, ktorý informuje užívateľa čo je nesprávne a ako to napraviť.
HRESULT OnCommitFinished ( // Nadradené okno pre akékoľvek (chybové) užívateľské rozhranie, // ktoré je potrebné zobraziť. [in] HWND hParentWnd, // Spoločný koreň všetkých ciest, ktoré boli odovzdané. [in] BSTR commonRoot, // Všetky cesty, ktoré boli odovzdané. [in] SAFEARRAY(BSTR) pathList, // Text, ktorý je už v správe záznamu zadaný. [in] BSTR logMessage, // Revízia odovzdania. [in] ULONG revision, // Chyba, ktorá sa má zobraziť užívateľovi, pokiaľ táto funkcia // vráti niečo iné ako S_OK [out, retval] BSTR * error );
Táto metóda je zavolaná po úspešnom odovzdaní. Rozšírenie môže pomocou tejto metódy napríklad uzavrieť vybraný problém alebo pridať informácie o odovzdaní problému. Parametre sú rovnaké ako pre GetCommitMessage2
.
HRESULT HasOptions( // Či poskytovateľ ponúka možnosti [out, retval] VARIANT_BOOL *ret );
Táto metóda je zavolaná z dialógového okna Nastavenia, kde môže užívateľ konfigurovať rozšírenia. Ak rozšírenie poskytuje svoje vlastné konfiguračné dialógové okno s ShowOptionsDialog
, musí tu vrátiť hodnotu TRUE, inak musí vrátiť hodnotu FALSE.
HRESULT ShowOptionsDialog( // Nadradené okno dialógu možností [in] HWND hParentWnd, // Parametre vášho pokytovateľa. [in] BSTR parameters, // Reťazec parametrov [out, retval] BSTR * newparameters );
Táto metóda sa volá z dialógového okna nastavení, keď používateľ klikne na tlačidlo „Možnosti“, ktoré sa zobrazí, ak HasOptions
vráti TRUE. Rozšírenie môže zobraziť dialógové okno s možnosťami, ktoré uľahčí užívateľovi konfiguráciu rozšírenia.
Reťazec parameters
obsahuje reťazec parametrov rozšírenia, ktorý je už nastavený/zadaný.
Návratový parameter newparameters
musí obsahovať reťazec parametrov, ktorý rozšírenie zostavilo z informácií získaných v dialógovom okne možností. Tento reťazec parameter
je odovzdaný všetkým ostatným metódam IBugtraqProvider a IBugtraqProvider2.
Pretože TortoiseSVN sa neustále vyvíja, je niekedy ťažké udržiavať dokumentáciu úplne aktuálnu. Udržiavame stránku online FAQ, ktorá obsahuje výber otázok, ktoré sa nás najčastejšie pýtajú na zoznamoch adresátov TortoiseSVN https://groups.google.com/forum/#!forum/tortoisesvn a https://groups.google.com/forum/#!forum/tortoisesvn-dev
Ak máte otázku, ktorá nie je zodpovedaná nikde inde, najlepšie je položiť si ju na jednej z e-mailových diskusií:
Stránka https://groups.google.com/forum/#!forum/tortoisesvn je tá, ktorú použite, ak máte otázky týkajúce sa používania TortoiseSVN.
Ak chcete pomôcť s vývojom TortoiseSVN, mali by ste sa zúčastniť diskusií na stránke https://groups.google.com/forum/#!forum/tortoisesvn-dev
Obsah
Táto príloha obsahuje riešenia na problémy a otázky, ktoré môžete mať pri používaní TortoiseSVN.
Presun/kopírovanie jednotlivých súborov je možné vykonať použitím
→ . Ak ale chcete presunúť/kopírovať veľa súborov, je tento spôsob príliš pomalý a príliš prácny.Odporúčaný spôsob je pretiahnutie pri stlačenom pravom tlačidle súborov na nové miesto. Jednoducho kliknite pravým tlačidlom myši na súbory, ktoré chcete presunúť kopírovať bez uvoľnenia tlačidla myši. Potom súbory presuňte na nové miesto a uvoľnite tlačidlo myši. Zobrazí sa kontextová ponuka, kde si môžete vybrať → , alebo → .
Sú dve možnosti ako zabrániť užívateľom odovzdanie s prázdnou správou záznamu. Jedna je špecifická pre TortoiseSVN, druhá funguje so všetkými klientami Subversion, ale je nutný priamy prístup na server.
Ak máte priamy prístup k úložnému serveru, môžete si nainštalovať skript háku pred odovzdaním, ktorý odmietne všetky odovzdania s prázdnou alebo príliš krátkou správou záznamu.
V priečinku úložiska na serveri je podpriečinok hooks
, ktorý obsahuje niektoré príklady skriptov háku, ktoré môžete použiť. Súbor pre-commit.tmpl
obsahuje vzorový skript, ktorý odmietne odovzdanie, ak nie je dodaná žiadna správa záznamu alebo je správa príliš krátka. Súbor obsahuje aj poznámky o tom, ako nainštalovať/používať tento skript. Postupujte podľa pokynov v danom súbore.
Táto metóda je odporúčaným spôsobom, ak vaši používatelia používajú aj iných klientov Subversion ako TortoiseSVN. Nevýhodou je, že server odmietne odovzdanie a vďaka tomu sa užívateľom zobrazí chybové hlásenie. Klient nemôže pred odovzdaním vedieť, že bude odmietnutý. Ak chcete, aby TortoiseSVN mal tlačidlo
deaktivované, kým nie je správa záznamu dostatočne dlhá, potom použite nižšie popísanú metódu.TortoiseSVN používa vlastnosti na riadenie niektorých svojich funkcií. Jednou z týchto vlastností je vlastnosť tsvn:logminsize
.
+Ak nastavíte túto vlastnosť na priečinok, potom TortoiseSVN deaktivuje tlačidlo
vo všetkých dialógových oknách odovzdania, kým užívateľ nezadá správu záznamu s minimálnou dĺžkou uvedenou vo vlastnosti.Podrobné informácie o týchto vlastnostiach projektu nájdete v časti “Nastavenia Projektu”.
Za normálnych okolností svoju pracovnú kópiu aktualizujete použitím
→ . Ak však chcete vyzdvihnúť iba niektoré nové súbory, ktoré pridal kolega, bez toho, aby ste súčasne zlúčili akékoľvek zmeny s inými súbormi, potrebujete iný prístup.Použite
→ a kliknite na pre zistenie, čo sa zmenilo v úložisku. Vyberte súbory, ktoré chcete aktualizovať lokálne, potom použitím kontextovej ponuky aktualizujte iba tieto súbory.Zďaleka najjednoduchší spôsob, ako vrátiť zmeny z jednej alebo viacerých revízií, je použiť dialógové okno záznamu revízií.
Vyberte súbor alebo priečinok, v ktorom chcete zmeny vrátiť späť. Ak chcete vrátiť všetky zmeny, mal by to byť priečinok najvyššej úrovne.
Vyberte ponuku
→ na zobrazenie zoznamu revízií. Možno budete musieť použiť alebo na zobrazenie revízií, ktoré vás zaujímajú.Vyberte revíziu, ktorú chcete vrátiť. Ak chcete vrátiť späť celý rad revízií, vyberte prvú a pridržte Shift pri výbere posledného. Ak chcete zvoliť jednotlivé revízie a rozsahy, pri výbere revízií použite Ctrl. Kliknite pravým tlačidlom myši na vybrané revízie, potom vyberte → .
Alebo ak chcete vykonať staršiu revíziu ako novú, kliknite pravým tlačidlom myši na vybranú revíziu a potom vyberte → . Týmto sa zahodia všetky zmeny po vybranej revízii.
Vrátili ste zmeny späť v pracovnej kópii. Skontrolujte výsledky a potom vykonajte zmeny.
Ak chcete zadať čísla revízií ako zoznam, môžete použiť dialógové okno Zlúčiť. Predchádzajúca metóda používa zlúčenie v zákulisí; táto metóda to používa explicitne (doslova).
V pracovnej kópii vyberte
→ .V dialógovom okne Typ zlúčenia vyberte Zlúčiť celý rad revízií .
Do poľa Z: zadajte úplnú adresu URL svojho priečinka pracovnej kópie. Toto by sa malo zobraziť ako predvolená adresa URL.
Do poľa Rozsah revízií na zlúčenie zadajte zoznam revízií, ktoré sa majú vrátiť späť (alebo ich vyberte použitím dialógového okna záznamu, ako je opísané vyššie).
Uistite sa, že zaškrtnuté políčko Spätné zlúčenie.
V dialógovom okne Možnosti zlúčenia akceptujte predvolené hodnoty.
Kliknite na
pre dokončenie zlúčenia.Vrátili ste zmeny späť v pracovnej kópii. Skontrolujte, či sú výsledky podľa očakávania a potom vykonajte zmeny.
Pretože TortoiseSVN nikdy nestratí údaje, vaše revízie “vrátené späť” stále existujú ako priebežné revízie v úložisku. Iba verzia HEAD bola zmenená na predošlý stav. Ak chcete, aby revízie úplne zmizli z vášho úložiska a vymazali sa všetky stopy, ktoré kedy existovali, musíte použiť extrémnejšie opatrenia. Pokiaľ na to nie je skutočne dobrý dôvod, je to neodporúčané. Jedným z možných dôvodov by mohlo byť to, že niekto odovzdal dôverný dokument do verejného úložiska.
Jediným spôsobom, ako odstrániť údaje z úložiska, je použiť nástroj príkazového riadku Subversion svnadmin
. Popis toho, ako to funguje, nájdete v časti Údržba úložiska.
Ak chcete porovnať dve revízie v histórii položky, napríklad revízie 100 a 200 toho istého súboru, stačí použiť
→ pre zoznam histórie revízií pre tento súbor. Vyberte dve revízie, ktoré chcete porovnať a potom použite → .Ak chcete porovnať tú istú položku v dvoch rôznych stromoch, napríklad v kmeni a vetve, môžete pomocou prehliadača úložiska otvoriť oba stromy, vybrať súbor na oboch miestach a potom použiť
→ .Ak chcete porovnať dva stromy a zistiť, čo sa zmenilo, napríklad kmeň stromu a označené vydanie, môžete použiť “Porovnávanie priečinkov”. Prípadne použite → na zobrazenie súhrnu všetkých odlišností s minimálnym kontextom.
→ . Vyberte dva uzly, ktoré chcete porovnať a potom použite → . Zobrazí sa zoznam zmenených súborov a potom môžete vybrať jednotlivé súbory, aby ste mohli zmeny detailne zobraziť. Môžete tiež exportovať stromovú štruktúru obsahujúcu všetky zmenené súbory alebo jednoducho zoznam všetkých zmenených súborov. Pre viac informácií si prečítajte časťNiekedy budete chcieť do svojej pracovnej kópie zahrnúť ďalší projekt, možno nejaký kód knižnice. Existujú minimálne 4 spôsoby riešenia tejto situácie.
Nastavte vo svojom projekte vlastnosť priečinka svn:externals
. Táto vlastnosť pozostáva z jedného alebo viacerých riadkov; každý riadok má názov podpriečinka, ktorý chcete použiť ako priečinok overenia spoločného kódu a adresu URL úložiska, ktoré chcete overiť. Úplné informácie nájdete v časti “Externé položky”.
Odovzdajte nový priečinok. Teraz, keď aktualizujete, Subversion stiahne kópiu tohto projektu zo svojho úložiska do vašej pracovnej kópie. Ak je to potrebné, podpriečinka sa vytvoria automaticky. Zakaždým, keď aktualizujete svoju hlavnú pracovnú kópiu, dostanete tiež najnovšiu verziu všetkých externých projektov.
Ak je externý projekt v rovnakom úložisku, všetky zmeny, ktoré v ňom vykonáte, sa zahrnú do zoznamu odovzdania, keď budete potvrdzovať svoj hlavný projekt.
Ak je externý projekt v inom úložisku, všetky zmeny, ktoré vykonáte v externom projekte, sa zobrazia alebo označia pri odovzdaní hlavného projektu, ale tieto externé zmeny musíte vykonať osobitne.
Z troch opísaných metód je to jediná, ktorá nevyžaduje žiadne nastavenie na strane klienta. Po zadaní externých údajov vo vlastnostiach priečinka dostanú všetci klienti pri aktualizácii naplnené priečinky.
Vytvorte vo svojom projekte nový priečinok, ktorý bude obsahovať spoločný kód, ale nepridávajte ho do Subversion.
Vyberte
→ pre nový priečinok a overte doňho kópiu spoločného kódu. Teraz máte vo svojej hlavnej pracovnej kópii vnorenú samostatnú pracovnú kópiu.Tieto dve pracovné kópie sú nezávislé. Keď vykonáte zmeny pre nadradenú pracovnú kópiu, zmeny vo vnorenej sú ignorované. Podobne keď aktualizujete nadradenú pracovnú kópiu, vnorená nie je aktualizovaná.
Ak používate rovnaký spoločný základný kód vo viacerých projektoch a nechcete si ponechať jeho viac pracovných kópií pre každý projekt, ktorý ho používa, môžete si ho jednoducho skontrolovať na samostatnom mieste, ktoré súvisí so všetkými ostatnými projektmi. použi to. Napríklad:
C:\Projects\Proj1 C:\Projects\Proj2 C:\Projects\Proj3 C:\Projects\Common
a odkazovať na spoločný kód pomocou relatívnej cesty, napr. ..\..\Common\DSPcore
.
Ak sú vaše projekty rozptýlené na nesúvisiacich miestach, môžete použiť ich alternatívu, ktorá spočíva v umiestnení spoločného kódu na jedno miesto a nahradení písmena jednotky mapovaním tohto miesta na niečo, čo môžete vo svojich projektoch naprogramovať napevno, napr. Overiť spoločný kód do D:\Documents\Framework
alebo C:\Dokumenty a nastavenia\{login}\Moje dokumenty\framework
potom použite
SUBST X: "D:\Documents\framework"
na vytvorenie mapovania jednotky použitého vo vašom zdrojovom kóde. Váš kód potom môže používať absolútne polohy.
#include "X:\superio\superio.h"
Táto metóda bude fungovať iba v prostredí všetkých počítačov a budete musieť zdokumentovať požadované priradenia jednotiek, aby váš tím vedel, kde sú tieto záhadné súbory. Táto metóda je striktne používaná v uzavretých vývojových prostrediach a neodporúča sa na všeobecné použitie.
Možno najjednoduchším spôsobom je jednoducho pridať projekt do podpriečinka do vlastnej pracovnej kópie projektu. Má to však nevýhodu, že musíte tento externý projekt aktualizovať a inovovať ručne.
Na pomoc s aktualizáciou poskytuje TortoiseSVN príkaz v kontextovej ponuke prieskumníka kliknutím pravým tlačidlom myši. Jednoducho pretiahnite priečinok, v ktorom ste rozbalili novú verziu externej knižnice, do priečinka v pracovnej kópii a potom vyberte
→ . To potom skopíruje nové súbory do cieľového priečinka a zároveň automaticky pridá nové súbory a odstráni súbory, ktoré už nie sú v novej verzii.Ak často potrebujete otvárať prehliadač úložiska na konkrétnom mieste, môžete vytvoriť zástupcu na ploche použitím automatizačného rozhrania pre TortoiseProc. Stačí vytvoriť novú skratku a nastaviť cieľ na:
TortoiseProc.exe /command:repobrowser /path:"url/na/úložisko"
Samozrejme musíte zahrnúť skutočnú adresu URL úložiska.
Ak ste omylom pridali niektoré súbory, ktoré mali byť ignorované, ako ich získate zo správy verzií bez straty? Možno máte svoj vlastný konfiguračný súbor IDE, ktorý nie je súčasťou projektu, ale ktorý vám zabral množstvo času nastaviť ho tak, ako to máte radi.
Ak ste ešte rozšírenie nespustili, potom musíte iba použiť
→ pre vrátenie pridania. Potom by ste mali pridať súbory do zoznamu ignorovaných, aby neboli neskôr omylom pridané.Ak sú súbory už v úložisku, musia sa z úložiska vymazať a pridať do zoznamu ignorovaných. Našťastie má TortoiseSVN na to pohodlnú skratku.
→ najskôr označí súbor/priečinok na odstránenie z úložiska, pričom si ponechá miestnu kópiu. Túto položku tiež pridá do zoznamu ignorovaných, aby nebola omylom nepridaná späť do Subversion. Akonáhle je to hotové, stačí odovzdať nadradený priečinok.Ak máte pracovnú kópiu, ktorú chcete konvertovať späť na obyčajný strom priečinkov bez priečinka .svn
, môžete ho jednoducho exportovať do seba. Pre zistenie, ako na to, si prečítajte časť “Odstránenie pracovnej kópie zo správy verzií”.
Ak máte pracovnú kópiu, ktorú už nepotrebujete, ako sa jej čisto zbavíte? Jednoduché - stačí ju odstrániť v programe Windows Explorer! Pracovné kópie sú súkromné miestne subjekty a sú samostatné. Odstránenie pracovnej kópie v programe Windows Prieskumník nemá vôbec vplyv na údaje v úložisku.
Obsah
Táto príloha obsahuje riešenia problémov/otázok, ktoré by ste mohli mať, keď ste zodpovední za nasadenie TortoiseSVN na viac klientských počítačov.
Inštalátor TortoiseSVN sa dodáva ako súbor MSI, čo znamená, že by ste nemali mať problémy s pridaním tohto súboru MSI do skupinových politík vášho radiča domény.
Dobrý návod, ako to urobiť, nájdete v článku databázy Knowledge Base 314934 od spoločnosti Microsoft: http://support.microsoft.com/?kbid=314934.
TortoiseSVN musí byť nainštalovaný pod Konfigurácia počítača a nie pod Konfigurácia užívateľa. Je to tak preto, lebo TortoiseSVN potrebuje DLL CRT a MFC, ktoré je možné nasadiť iba na počítač a nie na užívateľa. Ak skutočne musíte nainštalovať TortoiseSVN na základe jednotlivých užívateľov, musíte najskôr nainštalovať balík MFC a CRT verzie 12 od spoločnosti Microsoft na každý počítač, na ktorý chcete nainštalovať TortoiseSVN pre každého užívateľa zvlášť.
Súbor MSI môžete prispôsobiť, ak chcete, aby mali všetci vaši používatelia rovnaké nastavenia. Nastavenia TSVN sú uložené v registri pod HKEY_CURRENT_USER \ Software \ TortoiseSVN
a všeobecné nastavenia Subversion (ktoré ovplyvňujú všetkých klientov Subversion) sú uložené v konfiguračných súboroch pod %APPDATA%\Subversion
. Ak potrebujete pomoc s prispôsobením MSI, vyskúšajte jedno z fór pre transformáciu MSI alebo vyhľadajte web “MSI transformácia” .
TortoiseSVN každých pár dní kontroluje, či je k dispozícii nová verzia. Ak je k dispozícii novšia verzia, v dialógovom okne odovzdania sa zobrazí upozornenie.
Ak ste zodpovední za veľa užívateľov vo vašej doméne, možno budete chcieť, aby vaši užívatelia používali iba verzie, ktoré ste schválili a nenecháte ich, aby si inštalovali vždy najnovšiu verziu. Pravdepodobne nechcete, aby sa toto upozornenie na aktualizáciu zobrazovalo, aby vaši užívatelia nešli okamžite aktualizovať.
Verzie TortoiseSVN verzie 1.4.0 a novšej vám umožňujú presmerovať túto kontrolu aktualizácie na váš intranetový server. Môžete nastaviť kľúč registra HKCU\Software\TortoiseSVN\UpdateCheckURL
(hodnota reťazec) na adresu URL smerujúcu na textový súbor vo vašom intranete. Tento textový súbor musí mať nasledujúci formát:
1.9.1.6000 Dostupná je nová verzia TortoiseSVN na stiahnutie! http://192.168.2.1/downloads/TortoiseSVN-1.9.1.6000-svn-1.9.1.msi
Prvý riadok v tomto súbore je reťazec verzie. Musíte sa ubezpečiť, že sa zhoduje s presným reťazcom verzie inštalačného balíka TortoiseSVN. Druhý riadok je vlastný text, ktorý sa zobrazuje v dialógovom okne odovzdania. Môžete si tam písať, čo chcete. Upozorňujeme, že priestor v dialógovom okne na odovzdanie je obmedzený. Príliš dlhé správy budú skrátené! Tretím riadkom je adresa URL nového inštalačného balíka. Táto adresa URL sa otvorí, keď používateľ klikne na vlastný štítok správy v dialógovom okne odovzdania. Môžete tiež iba nasmerovať používateľa na webovú stránku namiesto súboru MSI priamo. Adresa URL sa otvára predvoleným webovým prehliadačom, takže ak zadáte webovú stránku, otvorí sa a zobrazí sa užívateľovi. Ak zadáte balík MSI, prehľadávač požiada užívateľa o lokálne uloženie súboru MSI.
Od verzie 1.4.0 a novšej verzie neposkytuje inštalátor TortoiseSVN užívateľovi možnosť nastaviť premennú prostredia SVN_ASP_DOT_NET_HACK
, pretože to spôsobilo veľa problémov a zmätok pre užívateľov, ktorí si vždy inštalujú všetko bez ohľadu na to, či vedia, na čo to slúži.
Táto funkcia je ale stále k dispozícii v TortoiseSVN a ďalších klientoch svn. Aby ste to povolili, musíte nastaviť premennú prostredia Windows s názvom ASPDOTNETHACK
na 1
. V skutočnosti nezáleží na hodnote tejto premennej prostredia: ak premenná existuje, funkcia je aktívna.
Upozorňujeme, že táto obchádzka je nevyhnutná len pokiaľ stále používate VS.NET2002. Všetky novšie verzie pre Visual Studio nepotrebujú toto nastavenie. Takže pokiaľ nepoužívate tento zastaralý nástroj TOTO NEPOUŽÍVAJTE!
Od verzie 1.5.0 a novšej umožňuje TortoiseSVN zakázať (vlastne skryť) položky kontextovej ponuky. Pretože sa jedná o funkciu, ktorá by sa nemala ľahkovážne používať, ale iba ak je na to pádny dôvod, neexistuje pre to žiadne grafické užívateľské rozhranie a musí sa to robiť priamo v registri. To sa dá použiť na zakázanie určitých príkazov pre užívateľov, ktorí by ich nemali používať. Upozorňujeme však, že iba položky kontextovej ponuky v prieskumníkovi sú skryté a príkazy sú stále k dispozícii inými prostriedkami, napríklad príkazovým riadkom alebo dokonca inými dialógovými oknami v samotnom TortoiseSVN!
Kľúče registra, ktoré obsahujú informácie o tom, ktoré kontextové ponuky sa majú zobraziť sú:
HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow
HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh
.
Každá z týchto položiek registra je hodnota DWORD
, pričom každý bit zodpovedá konkrétnej položke ponuky. Nastavený bit znamená, že príslušná položka ponuky je deaktivovaná.
Tabuľka C.1. Položky ponuky a ich hodnoty
Hodnota | Položka ponuky |
---|---|
0x0000000000000001 | Overiť |
0x0000000000000002 | Aktualizovať |
0x0000000000000004 | Odovzdať |
0x0000000000000008 | Pridať |
0x0000000000000010 | Vrátiť |
0x0000000000000020 | Vyčistiť |
0x0000000000000040 | Vyriešiť |
0x0000000000000080 | Prepínač |
0x0000000000000100 | Import |
0x0000000000000200 | Exportovať |
0x0000000000000400 | Vytvoriť úložisko tu |
0x0000000000000800 | Vetva/príznak |
0x0000000000001000 | Zlúčiť |
0x0000000000002000 | Odstrániť |
0x0000000000004000 | Premenovať |
0x0000000000008000 | Aktualizovať na revíziu |
0x0000000000010000 | Porovnať odlišnosti |
0x0000000000020000 | Zobraziť záznam |
0x0000000000040000 | Upraviť konflikty |
0x0000000000080000 | Premiestniť |
0x0000000000100000 | Skontrolovať zmeny |
0x0000000000200000 | Ignorovať |
0x0000000000400000 | Prehliadač úložiska |
0x0000000000800000 | Vyvodiť zodpovednosť |
0x0000000001000000 | Vytvoriť opravnú záplatu |
0x0000000002000000 | Použiť opravnú záplatu |
0x0000000004000000 | Graf revízií |
0x0000000008000000 | Zamknúť |
0x0000000010000000 | Odstrániť zámok |
0x0000000020000000 | Vlastnosti |
0x0000000040000000 | Porovnanie odlišnosti s adresou URL |
0x0000000080000000 | Vymazať bezverziové položky |
0x0000000100000000 | Zlúčiť všetko |
0x0000000200000000 | Porovnať s predošlou verziou |
0x0000000400000000 | Prilepiť |
0x0000000800000000 | Povýšiť pracovnú kópiu |
0x0000001000000000 | Porovnanie odlišnosti neskôr |
0x0000002000000000 | Porovnať odlišnosti s 'názovsúboru' |
0x0000004000000000 | Zjednotené odlišnosti |
0x2000000000000000 | Nastavenia |
0x4000000000000000 | Pomoc |
0x8000000000000000 | O programe |
Príklad: pre zakázanie “Premiestniť”, “Odstrániť bezverziové položky” a položky ponuky “Nastavenia”, pridajte hodnoty priradené k položkám takto:
0x0000000000080000 + 0x0000000080000000 + 0x2000000000000000 = 0x2000000080080000
Nižší hodnota DWORD
(0x80080000
) potom musí byť uložená v
HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow
vyššia hodnota DWORD
hodnota (0x20000000
) v
HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh
.
Ak chcete znova povoliť položky ponuky, jednoducho odstráňte dva kľúče registra.
Obsah
Pretože všetky príkazy pre TortoiseSVN sú ovládané prostredníctvom parametrov príkazového riadku, môžete ich automatizovať dávkovými skriptmi alebo spustiť konkrétne príkazy a dialógy z iných programov (napr. Obľúbeného textového editora).
Pamätajte, že TortoiseSVN je klient s grafickým užívateľským rozhraním a tento sprievodca automatizáciou vám ukáže, ako vytvoriť dialógové okná TortoiseSVN, ktoré zhromažďujú vstupy užívateľov. Ak chcete napísať skript, ktorý nevyžaduje žiadny vstup, mali by ste namiesto toho použiť oficiálneho klienta príkazového riadku Subversion.
Program TortoiseSVN GUI sa nazýva TortoiseProc.exe
. Všetky príkazy sú určené parametrom /command:abcd>
kde abcd
je požadovaný názov príkazu. Väčšina z týchto príkazov vyžaduje aspoň jeden argument cesty, ktorý je uvedený spolu s /path:"nejaká\cesta"
. V nasledujúcej tabuľke príkaz odkazuje na parameter /command:abcd
a cesta sa vzťahuje na parameter /path:"nejaká\cesta"
.
Existuje špeciálny príkaz, ktorý nevyžaduje parameter /command:abcd
, ale ak na príkazovom riadku nie je nič uvedené, spustí sa namiesto toho monitor projektu. Ak je zadané /tray
, monitor projektu sa spustí na pozadí a iba pridá svoju ikonu na systémovú lištu.
Pretože niektoré z príkazov môžu obsahovať zoznam cieľových ciest (napr. odovzdanie niekoľkých konkrétnych súborov), parameter /path
môže mať niekoľko ciest, oddelených znakom *
.
Môžete tiež určiť súbor, ktorý obsahuje zoznam ciest oddelených novými riadkami. Súbor musí byť vo formáte UTF-16 bez BOM (Bill Of Materials). Ak odovzdáte takýto súbor, použite /pathfile
namiesto /path
. Ak chcete, aby TortoiseProc odstránil tento súbor po dokončení príkazu, môžete zadať parameter /deletepathfile
. Ak neprejde /deletepathfile>
, musíte súbor odstrániť sami, inak súbor zostane pozadu.
Dialógové okno priebehu, ktoré sa používa pre odovzdanie, aktualizácie a mnoho ďalších príkazov, zvyčajne zostáva otvorené po dokončení príkazu, kým užívateľ nestlačí tlačidlo
. Toto je možné zmeniť zaškrtnutím príslušnej možnosti v dialógovom okne nastavení. Použitím tohto nastavenia sa však dialógové okno priebehu zavrie bez ohľadu na to, či príkaz spustíte z dávkového súboru alebo z kontextovej ponuky TortoiseSVN.Ak chcete určiť iné umiestnenie konfiguračného súboru, použite parameter /configdir:"cesta\na\priečinok\konfigurácie"
. Týmto prepíšete predvolenú cestu vrátane všetkých nastavení registra.
Ak chcete automaticky zavrieť dialógové okno priebehu na konci príkazu bez použitia trvalého nastavenia, môžete prejsť na parameter /closeonend
.
/closeonend:0
nezatvárať dialógové okno automaticky
/closeonend:1
zavrieť dialógové okno automaticky ak nenastali chyby
/closeonend:2
zavrieť dialógové okno automaticky ak nenastali chyby, alebo konflikty
/closeonend:3
zavrieť dialógové okno automaticky ak nenastali chyby, konflikty, alebo zlúčenia
Ak chcete zavrieť dialógové okno priebehu pre miestne operácie, ak nedošlo k žiadnym chybám alebo konfliktom, odošlite parameter /closeforlocal
.
V nasledujúcej tabuľke je uvedený zoznam všetkých príkazov, ku ktorým je možné získať prístup použitím príkazového riadku TortoiseProc.exe. Ako je opísané vyššie, mali by sa používať vo forme /command:abcd
. V tabuľke je predpona /command
vynechaná kvôli šetreniu miesta.
Tabuľka D.1. Zoznam dostupných príkazov a možností
Príkaz | Popis |
---|---|
:about | Zobrazuje dialógové okno s informáciami. Toto sa tiež zobrazí, ak nie je zadaný žiadny príkaz. |
:log |
Otvorí dialógové okno záznamu. Voľba
An svn date revision can be in one of the following formats:
|
:checkout |
Otvára dialógové okno overenia. Parameter Ak zadáte |
:import | Otvorí dialógové okno importu. Parameter /path určuje priečinok s údajmi, ktoré sa majú importovať. Môžete tiež určiť prepínač /logmsg na predanie preddefinovanej správy záznamu dialógovému oknu importu. Alebo ak nechcete odovzdať správu záznamu na príkazovom riadku, použite /logmsgfile:path , kde path ukazuje na súbor, ktorý obsahuje správu. |
:update | Aktualizuje pracovnú kópiu v /path na HEAD. Ak je zadaná možnosť /rev , potom sa zobrazí dialógové okno so žiadosťou, aby užívateľ vybral revíziu, na ktorú by aktualizácia mala ísť. Aby ste sa vyhli dialógu, zadajte číslo revízie /rev:1234 . Ďalšie možnosti sú /nonrecursive , /ignoreexternals a /includeexternals . Parameter /stickydepth označuje, že zadaná hĺbka by mala byť lepivá, čím sa vytvorí roztrúsené overenie. Parameter /skipprechecks je možné nastaviť na preskočenie všetkých kontrol vykonaných pred aktualizáciou. Ak je to určené, potom tlačidlo Zobraziť záznam je zakázané a po aktualizácii je zakázané aj kontextová ponuka zobrazenie odlišností. |
:commit | Otvorí dialógové okno odovzdania. Parameter /path určuje cieľový priečinok alebo zoznam súborov, ktoré sa majú odovzdať. Môžete tiež určiť prepínač /logmsg na odoslanie preddefinovanej správy záznamu dialógovému oknu odovzdania. Alebo ak nechcete odovzdať správu záznamu na príkazovom riadku, použite /logmsgfile:path , kde path ukazuje na súbor, ktorý obsahuje správu. Na vyplnenie poľa pre ID chyby (v prípade, že ste správne nastavili integráciu so sledovačmi chýb), môžete to urobiť použitím /bugid:"ID chyby tu" . |
:add | Pridá súbory do /path na správu verzií. |
:revert | Vráti miestne úpravy pracovnej kópie. Parameter /path hovorí, ktoré položky sa majú vrátiť. |
:cleanup | Vyčistí prerušené alebo zrušené operácie a odomkne pracovnú kópiu v /path . Musíte tiež prejsť /cleanup pre vykonanie aktuálneho vyčistenia. Použite /noui na zabránenie vyskočenia dialógového okna s výsledkami (buď o dokončení čistenia, alebo o zobrazení chybovej správy). Parameter /noprogressui tiež zakáže dialógové okno priebehu. Parameter /nodlg zakáže zobrazovanie dialógového okna čistenia, kde si užívateľ môže zvoliť, čo by sa malo pri čistení urobiť. Dostupné akcie je možné určiť možnosťou /cleanup na vyčistenie stavu, /breaklocks na prelomenie všetkých zámkov, parameter /revert na vrátenie neodovzdaných zmien, /delunversioned , /delignored , /refreshshell , /externals , /fixtimestamps a /vacuum . |
:resolve | Označí konfliktný súbor uvedený v /path ako vyriešený. Ak je daný parameter /noquestion , potom sa vyriešenie uskutoční bez toho, aby ste sa užívateľa najskôr opýtali, či by to skutočne malo urobiť. |
:repocreate | Vytvorí úložisko v /path |
:switch | Otvorí dialógové okno prepínača. /path určuje cieľový priečinok a /url adresu URL, na ktorú sa chcete prepnúť. |
:export | Exportuje pracovnú kópiu do priečinka /path do iného priečinka. Ak /path odkazuje na bezverziový priečinok, v dialógovom okne sa zobrazí výzva na zadanie adresy URL na export do priečinka v /path . Ak zadáte kľúč /blockpathadjustments , automatické úpravy cesty exportu sú blokované. |
:dropexport | Exportuje pracovnú kópiu v /path do priečinka určeného v /droptarget . Tento export nepoužíva dialógové okno exportu, ale je vykonávaný priamo. Možnosť /overwrite určuje, že existujúce súbory sa prepíšu bez potvrdenia používateľom a táto možnosť /autorename určuje, že ak súbory už existujú, exportované súbory sa automaticky premenujú, aby sa neprepísali. Možnosť /extended môže určiť buď localchanges pre export iba súborov, ktoré sa zmenili lokálne, alebo unversioned pre export aj všetkých bezverziových položiek. |
:dropvendor | Skopíruje rekurzívne priečinok v /path do priečinka uvedeného v /droptarget . Nové súbory sa pridávajú automaticky a chýbajúce súbory sa odstránia v cieľovej pracovnej kópii, čím sa v podstate zabezpečí, že zdroj a cieľ budú úplne rovnaké. Určením /noui sa preskočí potvrdzovací dialóg a /noprogressui zakáže aj zobrazovanie dialógového okna priebehu. |
:merge | Otvorí dialógové okno zlúčenia. Parameter /path určuje cieľový priečinok. Pre zlúčenie rozsahu revízií sú k dispozícii nasledujúce možnosti: /fromurl:URL , /revrange:string . Pre zlúčenie dvoch stromov úložiska sú k dispozícii nasledujúce možnosti: /fromurl:URL , /tourl:URL , /fromrev:xxx a /torev:xxx . |
:mergeall | Otvorí dialógové okno zlúčiť všetko. /path určuje cieľový priečinok. |
:copy | Vyvolá dialógové okno vetvy/príznaku. /path je pracovná kópia, z ktorej má byť vytvorená vetva/príznak a /url je cieľová adresa URL. Ak adresy URL začínajú znakom ^ predpokladá sa, že sú relatívne ku koreňu úložiska. Pre zaškrtnutie možnosti Prepnúť pracovnú kópiu na novú vetvu/príznak môžete pridať prepínač /switchaftercopy . Pre zaškrtnutie možnosti Vytvoriť dočasné priečinky pridajte prepínač /makeparents . Môžete tiež určiť prepínač /logmsg na odoslanie preddefinovanej správy záznamu do dialógového okna vetvy/príznaku. Alebo ak nechcete odovzdať správu záznamu na príkazovom riadku, použite /logmsgfile:path , kde path ukazuje na súbor, ktorý obsahuje správu. |
:settings | Otvorí dialógové okno nastavenia. |
:remove | Odstráni súbory v priečinku /path zo správy verzií. |
:rename | Premenuje súbor v /path . Nový názov súboru sa zobrazí s dialógovým oknom. Ak sa chcete vyhnúť otázkam o premenovaní podobných súborov v jednom kroku, pridajte /noquestion . |
:diff | Spustí externý program porovnania odlišností uvedený v nastaveniach TortoiseSVN. Parameter /path určuje prvý súbor. Ak je nastavená možnosť /path2 , potom sa program porovnania odlišností spustí s týmito dvoma súbormi. Ak je parameter /path2 vynechaný, potom sa porovnanie vykoná medzi súborom v /path a jeho bázou (BASE). Ak má zadaný súbor aj úpravy vlastností, spustí sa pre každú upravenú vlastnosť externý nástroj porovnania odlišností. Ak tomu chcete zabrániť, pridajte voľbu /ignoreprops . Ak chcete explicitne nastaviť čísla revízií, použite /startrev:xxx a /endrev:xxx a pre voliteľnú zavesenú revíziu použite /pegrevision:xxx . Ak je nastavený parameter /blame a /path2 nie je, potom sa porovnanie odlišností vykoná tak, že sa najskôr vyvodí zodpovednosť súborov s danými revíziami. Parameter /line:xxx určuje riadok, na ktorý sa má preskočiť, keď je zobrazený rozdiel. |
:shelve | Odloží na policu s určenými cestami do novej police. Možnosť /shelfname:name určuje názov police. Voliteľnú správu záznamu je možné určiť pomocou /logmsg:message . Ak je pridaná možnosť /checkpoint , úpravy súborov sa zachovajú. |
:unshelve | Aplikuje policu s názvom /shelfname:name do cesty pracovnej kópie. V predvolenom nastavení je použitá posledná verzia police, ale môžete určiť verziu parametrom /version:X . |
:showcompare |
V závislosti na adresách URL a revíziách, ktoré sa majú porovnať, sa buď zobrazuje zjednotený rozdiel (ak je nastavená možnosť Možnosti Ak má zadaná adresa URL tiež úpravy vlastností, spustí sa pre každú upravenú vlastnosť aj externý nástroj porovnania odlišností. Ak tomu chcete zabrániť, odovzdajte voľbu Ak sa požaduje zjednotené porovnanie odlišností, voliteľne môže byť zadaná možnosť |
:conflicteditor | Spustí editor konfliktov zadaný v nastaveniach TortoiseSVN so korigovanými súbormi pre konfliktný súbor v /path . |
:relocate | Otvorí dialóg premiestnenia. /path udáva cestu pracovnej kópie na premiestnenie. |
:help | Otvorí súbor pomocníka. |
:repostatus | Otvára dialógové okno kontroly zmien. Parameter /path určuje priečinok pracovnej kópie. Ak je zadaný /remote , dialógové okno kontaktuje úložisko okamžite po štarte, akoby užívateľ klikol na tlačidlo Skontrolovať úložisko. |
:repobrowser |
Spustí dialógové okno prehliadača úložiska, ktoré ukazuje na adresu URL pracovnej kópie uvedenej v možnosti Ďalšia možnosť Ak Ak je zadaný |
:ignore | Pridá všetky ciele do /path do zoznamu ignorovaných, t. j. do vlastnosti svn:ignore týchto súborov. |
:blame |
Otvorí dialóg o vyvodení zodpovednosti pre súbor určený v Ak sú nastavené možnosti Ak je nastavená možnosť Podporované sú aj možnosti |
:cat | Uloží súbor z adresy URL alebo cesty pracovnej kópie uvedenej v /path na miesto uvedené v /savepath:path . Revízia je uvedená v /revision:xxx . To možno použiť na získanie súboru s konkrétnou revíziou. |
:createpatch | Vytvorí súbor opravnej záplaty pre cestu uvedenú v /path . Ak chcete preskočiť dialógové okno Uložiť ako, môžete pridať /savepath:path na určenieť cesty, kam sa má súbor opravnej záplaty priamo uložiť. Ak chcete zabrániť spusteniu zobrazenia súboru opravnej záplaty v prehliadači zjednotených odlišností, pridajte /noview . Ak sa požadujú zjednotené porovnanie odlišností, voliteľne môže byť zadaná možnosť prettyprint , ktorá zobrazí vlastnosti merge-info v užívateľsky čitateľnejšom formáte. |
:revisiongraph |
Zobrazí graf revízie pre cestu uvedenú v Ak chcete vytvoriť súbor obrázka grafu revízie pre konkrétnu cestu, ale bez zobrazenia okna grafu, musíte pridať Pretože má graf revízií veľa možností, ktoré ovplyvňujú jeho zobrazovanie, môžete tiež nastaviť možnosti, ktoré sa majú použiť pri vytváraní výstupného obrazového súboru. Pridajte tieto možnosti pomocou |
:lock | Zamkne súbor alebo všetky súbory v priečinku uvedenom v /path . Zobrazí sa dialógové okno „uzamknutia“, aby mohol užívateľ zadať komentár k zámku. |
:unlock | Odomkne súbor alebo všetky súbory v priečinku uvedenom v priečinku /path . |
:rebuildiconcache | Znovu vytvorí zásobník ikon systému Windows. Toto použite iba v prípade, že sú ikony systému Windows poškodené. Vedľajším efektom toho (čomu sa nedá vyhnúť) je, že sú prehádzané ikony na pracovnej ploche. Ak chcete potlačiť okno so správou, pridajte /noquestion . |
:properties |
Zobrazí dialógové okno vlastností pre cestu uvedenú v Pre prácu s verziovými vlastnosťami vyžaduje tento príkaz pracovnú kópiu. Vlastnosti revízie je možné zobraziť/zmeniť, ak Ak chcete otvoriť dialógové okno vlastností priamo pre konkrétnu vlastnosť, zadajte názov vlastnosti ako |
:sync |
Exportuje/importuje nastavenia, buď podľa toho, či sú aktuálne nastavenia alebo exportované nastavenia novšie, alebo podľa zadania. Ak je pridaná cesta v Parameter Ak nie je určený ani jeden z parametrov Ak je určený parameter Ak je určený parameter Parameter |
Príklady (ktoré je potrebné zadať do jedného riadku):
TortoiseProc.exe/command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt" /logmsg:"správa protokolu testu" /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
Použitím špeciálnych adries URL je tiež možné zavolať TortoiseProc z webovej stránky.
TortoiseSVN zaregistruje nový protokol tsvncmd:
ktorý možno použiť na vytvorenie hypertextových odkazov, ktoré vykonávajú príkazy TortoiseSVN. Príkazy a parametre sú rovnaké ako pri automatizácii TortoiseSVN z príkazového riadku.
Formát súboru tsvncmd:
URL je takýto:
tsvncmd:command:cmd?parameter:paramvalue?parameter:paramvalue
kde cmd
ako jeden z povolených príkazov, parameter
je názov parametra ako path
alebo revision
a paramvalue
predstavuje hodnotu, ktorá sa použije pre tento parameter. Zoznam povolených parametrov závisí od použitého príkazu.
Nasledujúce príkazy sú povolené pomocou tsvncmd:
adresami URL:
:update
:commit
:diff
:repobrowser
:checkout
:export
:blame
:repostatus
:revisiongraph
:showcompare
:log
:properties
Jednoduchý príklad adresy URL môže vyzerať takto:
<a href="tsvncmd:command:update?path:c:\svn_wc?rev:1234">Update</a>
alebo v zložitejšom prípade:
<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>
Nástroj na porovnávanie obrázkov má niekoľko možností príkazového riadku, použitím ktorých môžete ovládať jeho spustenie. Program sa volá TortoiseIDiff.exe
.
V nasledujúcej tabuľke sú uvedené všetky možnosti, ktoré je možné odovzdať nástroju na rozdiel obrázkov v príkazovom riadku.
Tabuľka D.2. Zoznam dostupných možností
Voľba | Popis |
---|---|
:left | Cesta k súboru zobrazenému vľavo. |
:lefttitle | Reťazec názvu. Tento reťazec sa používa v názve zobrazenia obrázka namiesto celej cesty k súboru s obrázkom. |
:right | Cesta k súboru zobrazenému vpravo. |
:righttitle | Reťazec názvu. Tento reťazec sa používa v názve zobrazenia obrázka namiesto celej cesty k súboru s obrázkom. |
:overlay | Ak je zadané, nástroj na porovnanie odlišností obrázkov sa prepne do režimu prekrytia (alfa zmiešavanie). |
:fit | Ak je zadané, nástroj na porovnanie odlišností obrázkov zapadá do obidvoch obrázkov. |
:showinfo | Zobrazuje informačné pole obrázka. |
Príklad (ktorý by mal byť uvedený na jednom riadku):
TortoiseIDiff.exe /left:"c:\images\img1.jpg" /lefttitle:"image 1" /right:"c:\images\img2.jpg" /righttitle:"image 2" /fit /overlay
Prehliadač zjednotených rozdielov má iba dve možnosti príkazového riadku:
Tabuľka D.3. Zoznam dostupných možností
Voľba | Popis |
---|---|
:patchfile | Cesta k súboru porovnania zjednotených odlišností. |
:p | Aktivuje režim potrubia. Porovnanie zjednotených odlišností sa načíta zo vstupu konzoly. |
Príklady (ktoré je potrebné zadať do jedného riadku):
TortoiseUDiff.exe /patchfile:"c:\diff.patch"
Ak vytvoríte porovnaie odlišností z iného príkazu, môžete použiť TortoiseUDiff na zobrazenie tohto rozdielu priamo:
svn diff | TortoiseUDiff.exe /u
to funguje aj keď vynecháte parameter /p
:
svn diff | TortoiseUDiff.exe
Obsah
Tento manuál vás niekedy odkazuje na hlavnú dokumentáciu Subversion, ktorá popisuje Subversion z hľadiska rozhrania príkazového riadku (CLI). Aby sme vám to pomohli pochopiť, čo TortoiseSVN robí v zákulisí, zostavili sme zoznam zobrazujúci ekvivalentné príkazy CLI pre každú z operácií GUI TortoiseSVN.
Aj keď existujú ekvivalenty CLI k tomu, čo TortoiseSVN robí, pamätajte, že TortoiseSVN to robí nevolá CLI, ale používa priamo knižnicu Subversion.
Ak si myslíte, že ste našli chybu v TortoiseSVN, môžeme vás požiadať, aby ste sa pokúsili ju reprodukovať pomocou CLI, aby sme mohli rozlíšiť problémy TortoiseSVN od problémov Subversion. Táto referencia vám povie, ktorý príkaz chcete vyskúšať.
V nasledujúcich popisoch je adresa URL umiestnenia úložiska zobrazená jednoducho ako URL
a príklad môže byť https://svn.code.sf.net/p/tortoisesvn/code/trunk/
. Cesta pracovnej kópie je zobrazená jednoducho ako CESTA
a príklad môže byť C:\TortoiseSVN\trunk
.
Pretože TortoiseSVN je rozšírenie prostredia systému Windows, nemôže používať predstavu aktuálneho pracovného priečinka. Všetky cesty pracovnej kópie musia byť zadané použitím absolútnej, nie relatívnej cesty.
Niektoré položky sú voliteľné a často sa ovládajú zaškrtávacími políčkami alebo prepínačmi v TortoiseSVN. Tieto možnosti sú zobrazené v [hranatých zátvorkách] v definíciách príkazového riadku.
svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH
Položky rozvinovacieho textového poľa s hĺbkou sa vzťahujú na argument -depth
.
Ak je zaškrtnuté políčko Vynechať externé, použite prepínač --ignore-externals
.
Ak overujete konkrétnu revíziu, zadajte ju použitím adresy URL s prepínačom -r
.
svn info URL_of_WC svn update [-r rev] PATH
Aktualizácia viacerých položiek v súčasnosti nie je atómovou operáciou v Subversion. Takže TortoiseSVN najskôr nájde HEAD revíziu úložiska a potom aktualizuje všetky položky na konkrétne číslo revízie, aby nevytvoril pracovnú kópiu zmiešanej revízie.
Ak je na aktualizáciu vybraná iba jedna položka alebo vybrané položky nie sú všetky z rovnakého úložiska, TortoiseSVN aktualizuje iba HEAD.
Nepoužívajú sa tu žiadne možnosti príkazového riadku. Aktualizovať na revíziu implementuje aj príkaz na aktualizáciu, ale ponúka viac možností.
svn info URL_of_WC svn update [-r rev] [-depth ARG] [--ignore-externals] PATH
Položky rozvinovacieho textového poľa s hĺbkou sa vzťahujú na argument -depth
.
Ak je zaškrtnuté políčko Vynechať externé, použite prepínač --ignore-externals
.
V TortoiseSVN používa dialógové okno odovzdania niekoľko príkazov Subversion. Prvou fázou je kontrola stavu, ktorá určuje položky vo vašej pracovnej kópii, ktoré môžu byť potenciálne odovzdané. Môžete prezrieť zoznam, porovnať súbory proti BASE a vybrať položky, ktoré chcete zahrnúť do odovzdania.
svn status -v CESTA
Ak je zaškrtnuté políčko Zobraziť bezverziové súbory, TortoiseSVN tiež zobrazí všetky bezverziové súbory a priečinky v hierarchii pracovných kópií, berúc do úvahy pravidlá ignorovania. Táto konkrétna vlastnosť nemá v Subversion žiadny priamy ekvivalent, ako príkaz svn status
nezostupuje do bezverziových priečinkov.
Ak zaškrtnete všetky bezverziové súbory a priečinky, tieto položky sa najskôr pridajú do vašej pracovnej kópie.
svn add CESTA...
Keď kliknete na OK, dôjde k odovzdaniu Subversion. Ak ste ponechali všetky zaškrtávacie políčka výberu súborov v predvolenom stave, použije TortoiseSVN jeden rekurzívny zápis pracovnej kópie. Ak zrušíte výber niektorých súborov, použije sa nerekurzívny príkaz (-N
) a každá cesta musí byť zadaná jednotlivo v príkazovom riadku odovzdania.
svn commit -m "Správa záznamu" [-depth ARG] [--no-unlock] CESTA...
Správa záznamu
tu predstavuje obsah editačného poľa na úpravu správ záznamu. Môže to byť prázdne.
Ak je zaškrtnuté políčko Uchovať zámky, použije sa prepínač --no-unlock
.
svn diff CESTA
Ak použijete porovnanie odlišností z hlavnej kontextovej ponuky, budete porovnávať upravený súbor s jeho BASE revíziou. Robí to aj výstup z príkazu CLI vyššie, ktorý produkuje výstup vo formáte zjednotených odlišností. To však nie je to, čo TortoiseSVN používa. TortoiseSVN používa TortoiseMerge (alebo iný program podľa vášho výberu) na vizuálne zobrazenie rozdielov medzi fulltextovými súbormi, takže neexistuje priamy ekvivalent CLI.
Pomocou TortoiseSVN môžete tiež porovnať odlišnosti ľubovoľných 2 súborov, bez ohľadu na to, či sú alebo nie pod správou verzií. TortoiseSVN iba zavedie dva súbory do zvoleného programu porovnania odlišností a nechá ho zistiť, kde sú odlišnosti.
svn log -v -r 0:N --limit 100 [--stop-on-copy] CESTA or svn log -v -r M:N [--stop-on-copy] CESTA
V predvolenom nastavení sa TortoiseSVN pokúša načítať 100 správ záznamu metódou --limit. Ak je v nastaveniach nariadené používať staré rozhrania API, potom sa druhý formulár použije na načítanie správ záznamu pre 100 revízií úložiska.
Ak je zaškrtnuté políčko Zastaviť kopírovanie/premenovanie, použije sa prepínač --stop-on-copy
.
svn status -v CESTA or svn status -u -v CESTA
Počiatočná kontrola stavu sa zameriava iba na vašu pracovnú kópiu. Ak kliknete na -u
.
Ak je zaškrtnuté políčko Zobraziť bezverziové súbory, TortoiseSVN tiež zobrazí všetky bezverziové súbory a priečinky v hierarchii pracovných kópií, berúc do úvahy pravidlá ignorovania. Táto konkrétna vlastnosť nemá v Subversion žiadny priamy ekvivalent, ako príkaz svn status
nezostupuje do bezverziových priečinkov.
Graf revízií je vlastnosťou iba TortoiseSVN. V klientovi príkazového riadku neexistuje ekvivalent.
Čo robí TortoiseSVN, je
svn info URL_of_WC svn log -v URL
kde URL je koreňové úložisko a potom analyzuje vrátené údaje.
svn info URL_pracovnej_kópie svn list [-r rev] -v URL
Môžeš použiť svn info
na určenie koreňa úložiska, čo je najvyššia úroveň zobrazená v prehľadávači úložiska. Nemôžete navigovať hore
nad túto úroveň. Tento príkaz tiež vráti všetky informácie o uzamknutí zobrazené v prehliadači úložiska.
Volanie svn list
vypíše obsah priečinka, danej adresy URL a revízie.
Tento príkaz nemá ekvivalent CLI. Vyvolá TortoiseMerge alebo externý nástroj trojcestného porovnania odlišnosti/zlúčenia, aby sa pozrel na súbory zapojené do konfliktu a vytriedil, ktoré riadky sa majú použiť.
svn status -v CESTA
Prvou fázou je kontrola stavu, ktorá určuje položky vo vašej pracovnej kópii, ktoré je možné potenciálne vrátiť späť. Môžete skontrolovať zoznam, porovnať súbory proti BASE a vybrať položky, ktoré chcete zahrnúť na vrátenie.
Keď kliknete na OK, dôjde k vráteniu Subversion. Ak ste ponechali všetky zaškrtávacie políčka výberu súborov v predvolenom stave, TortoiseSVN použije jedine rekurzívne (-R
) vrátenie v pracovnej kópii. Ak zrušíte výber niektorých súborov, potom musí byť každá cesta zadaná jednotlivo v príkazovom riadku pre vrátenie.
svn revert [-R] CESTA...
svn status -v CESTA
Prvou fázou je kontrola stavu, ktorá určuje súbory vo vašej pracovnej kópii, ktoré je možné potenciálne uzamknúť. Môžete vybrať položky, ktoré chcete uzamknúť.
svn lock -m "Správa uzamknutia" [--force] CESTA...
Správ uzamknutia
tu predstavuje obsah editačného poľa správy uzamknutia. Môže to byť prázdne.
Ak zaškrtnuté políčko Ukradnúť zámky, použije sa prepínač --force
.
svn copy -m "LogMessage" URL URL alebo svn copy -m "LogMessage" URL@rev URL@rev alebo svn copy -m "LogMessage" PATH URL
Dialógové okno vetva/príznak vykoná kópiu do úložiska. K dispozícii sú 3 prepínače možnosti:
ktoré zodpovedajú 3 variantom príkazového riadku vyššie.
Správa záznamu
tu predstavuje obsah editačného poľa na úpravu správ záznamu. Môže to byť prázdne.
svn merge [--dry-run] --force Z_URL@revN Do_URL@revM CESTA
--dry-run
.
svn diff Z_URL@revN Do_URL@revM
zobrazia operáciu porovnania odlišností, ktorá sa použije na zlúčenie.
svn export [-r rev] [--ignore-externals] URL CESTA_exportu
Tento formulár sa používa pri prístupe z bezverziového priečinka a priečinok sa používa ako cieľový.
Export pracovnej kópie na iné miesto sa vykonáva bez použitia knižnice Subversion, takže neexistuje žiadny ekvivalent ekvivalentného príkazového riadku.
TortoiseSVN robí to, že skopíruje všetky súbory do nového umiestnenia a zároveň vám ukáže priebeh operácie. Bezverziové súbory alebo priečinky je možné voliteľne exportovať tiež.
V obidvoch prípadoch, ak je zaškrtnuté políčko Vynechať externé, použije sa prepínač --ignore-externals
.
svn add CESTA...
Ak ste vybrali priečinok, TortoiseSVN ho najskôr rekurzívne prehľadá a vyhľadá položky, ktoré je možné pridať.
svn import -m LogMessage CESTA URL
Správa záznamu
tu predstavuje obsah editačného poľa na úpravu správ záznamu. Môže to byť prázdne.
svn blame -r N:M -v CESTA svn log -r N:M CESTA
Ak používate TortoiseBlame na zobrazenie informácií vyvodení zodpovednosti, na zobrazenie správ záznamu sa vyžaduje aj popis súboru. Ak zobrazíte vyvodenie zodpovednosti ako za textový súbor, tieto informácie nie sú potrebné.
svn propget svn:ignore CESTA > dočasnýsúbor {upraviť novú ignorovanú položku do dočasného súboru} svn propset svn:ignore -F dočasnýsúbor CESTA
Pretože vlastnosť svn:ignore
je často viacriadková hodnota, zobrazuje sa tu ako zmenená prostredníctvom textového súboru, nie priamo v príkazovom riadku.
svn diff CESTA > súboropravnejzáplaty
TortoiseSVN vytvorí súbor opravnej záplaty vo formáte zjednotených odlišností porovnaním pracovnej kópie s jej verziou BASE.
Obsah
Táto príloha obsahuje podrobnejšiu diskusiu o implementácii niektorých funkcií TortoiseSVN.
Každý súbor a priečinok má hodnotu stavu Subversion, ako ju uvádza knižnica Subversion. V klientovi príkazového riadku sú tieto reprezentované jednopísmenovými kódmi, ale v TortoiseSVN sú zobrazené graficky pomocou prekrytia ikon. Pretože počet prekrytí je veľmi obmedzený, každé prekrytie môže predstavovať jednu z niekoľkých stavových hodnôt.
Prekrytie Konfliktné sa používa na vyjadrenie konfliktného
stavu, keď aktualizácia alebo prepínač vedie ku konfliktom medzi lokálnymi zmenami a zmenami stiahnutými z úložiska. Používa sa tiež na označenie stavu zablokované
, ktorý môže nastať, keď operáciu nie je možné dokončiť.
Prekrytie Zmenené predstavuje zmenený
stav, kde ste vykonali miestne úpravy, zlúčený
stav, kde boli zmeny z úložiska zlúčené s miestnymi zmenami a nahradený
stav, keď bol súbor odstránený a nahradený iným odlišným súborom s rovnakým názvom.
Prekrytie Zmazané predstavuje odstránený
stav, kde je naplánované odstránenie položky, alebo chýbajúci
stav, v ktorom sa položka nenachádza. Prirodzene, že položka, ktorá chýba, nemôže mať samotné prekrytie, ale nadradený priečinok je možné označiť, ak chýba jedna z jeho podradených položiek.
Prekrytie Pridané sa jednoducho používa na vyjadrenie doplneného
stavu, keď bola položka pridaná do správy verzií.
Prekrytie V Subversion sa používa na predstavenie položky, ktorá je v normálnom
stave alebo verziová položka, ktorej stav ešte nie je známy. Pretože TortoiseSVN používa na získanie stavu proces ukladania do zásobníka na pozadí, môže trvať niekoľko sekúnd, kým sa prekrytia aktualizujú.
Prekrytie Potrebný zámok sa používa na označenie, kedy má súbor nastavenú vlastnosť svn:needs-lock
.
Prekrytie Zamknuté sa používa, keď je v miestnej pracovnej kópii uzamknutý tento súbor.
Prekrytie Ignorované sa používa na predstavenie položky, ktorá je v ignorovanom
stave, buď z dôvodu globálneho vzoru ignorovania, alebo vlastnosť nadradeného priečinka je svn:ignore
. Toto prekrytie je voliteľné.
Prekrytie Bezverziové sa používa na predstavenie položky, ktorá je v bezverziovom
stave. Toto je položka vo verziovom priečinku, ktorý však nepodlieha samotnej správe verzií. Toto prekrytie je voliteľné.
Ak má položka stav Subversion žiadny
(položka nie je v pracovnej kópii), potom sa nezobrazí žiadne prekrytie. Ak ste sa rozhodli vypnúť ignorované a bezverziové prekrytia, potom sa pre tieto súbory nezobrazia žiadne prekrytia.
Položka môže mať iba jednu hodnotu stavu Subversion. Napríklad súbor môže byť lokálne upravený a súčasne môže byť označený na odstránenie. Subversion vráti jednu hodnotu stavu - v tomto prípade zmazané
. Tieto priority sú definované v samotnom Subversion.
Keď TortoiseSVN zobrazuje stav rekurzívne (predvolené nastavenie), každý priečinok zobrazuje prekrytie odrážajúce jeho vlastný stav a stav všetkých jeho potomkov. Aby sa zobrazilo jedno prekrytie zhrnutia, použitím vyššie uvedeného poradia priorít určíme, ktoré prekrytie sa má použiť, prekrytie konflikt má najvyššiu prioritu.
V skutočnosti môžete zistiť, že nie všetky tieto ikony sa vo vašom systéme používajú. Je to preto, že počet prekrytí povolených systémom Windows je obmedzený na 15. Systém Windows používa 4 z nich a zvyšných 11 môžu používať ďalšie aplikácie. Ak nie je k dispozícii dostatok slotov na prekrytie, TortoiseSVN sa pokúsi byť dobrým občanom (TM) a obmedzuje použitie prekrytí, aby mali šancu ďalšie aplikácie.
Pretože pre ďalšie systémy na správu verzií sú k dispozícii klienti Tortoise, vytvorili sme zdieľanú súčasť, ktorá je zodpovedná za zobrazovanie ikon prekrytia. Technické podrobnosti tu nie sú dôležité. Všetko, čo potrebujete vedieť, je, že táto zdieľaná súčasť umožňuje všetkým klientom Tortoise používať rovnaké prekrytia a preto sa limit 11 dostupných slotov nevyčerpá inštaláciou viac ako jedného klienta Tortoise. Existuje samozrejme jedna malá nevýhoda: všetci klienti Tortoise používajú rovnaké ikony prekrytia, takže podľa ikon prekrytia nemôžete zistiť, aký systém správy verzií pracovná kópia používa.
Normálne, Zmenené a Konfliktné sú vždy načítané a viditeľné.
Vymazané sa načíta, ak je to možné, ale vráti sa na Zmenené ak nie je dostatok zásuviek.
Iba na čítanie sa načíta, ak je to možné, ale vráti sa na Normálne ak nie je dostatok zásuviek.
Zamknuté sa načíta, ak je to možné, ale vráti sa na Normálne ak nie je dostatok zásuviek.
Pridané sa načíta, ak je to možné, ale vráti sa na Zmenené ak nie je dostatok zásuviek.
Štandardný inštalátor podporuje iba angličtinu, ale po inštalácii si môžete stiahnuť samostatné jazykové balíčky a slovníky na kontrolu pravopisu.
Užívateľské rozhranie TortoiseSVN bolo preložené do mnohých rôznych jazykov, takže si možno budete môcť stiahnuť jazykový balíček podľa svojich potrieb. Jazykové balíčky nájdete na našej stránke so stavom prekladu. A ak nie je k dispozícii žiadny jazykový balík, prečo sa nepripojiť k tímu a odoslať vlastný preklad ;-)
Každý jazykový balík je zbalený ako inštalátor .msi
. Stačí spustiť inštalačný program a postupovať podľa pokynov. Po dokončení inštalácie bude preklad k dispozícii.
Dokumentácia bola tiež preložená do niekoľkých rôznych jazykov. Preložené manuály si môžete stiahnuť zo stránky podpory na našej webovej stránke.
TortoiseSVN používa kontrolu pravopisu systému Windows, ak je k dispozícii (Windows 8 alebo novší). Čo znamená, že ak chcete, aby kontrola pravopisu fungovala v inom jazyku, ako je predvolený jazyk operačného systému, musíte si nainštalovať modul kontroly pravopisu v nastaveniach systému Windows (Nastavenia > Čas a jazyk > Oblasť a jazyk
).
TortoiseSVN použije túto kontrolu pravopisu, ak je správne nakonfigurovaný vo vlastnosti projektu tsvn:projectlanguage
.
V prípade, že nie je k dispozícii kontrola pravopisu Windows, môže TortoiseSVN použiť aj slovníky kontroly pravopisu zo stránky OpenOffice a Mozilla .
Inštalačný program automaticky pridá angličtinu a anglické slovníky. Ak chcete iné jazyky, najjednoduchšou možnosťou je jednoducho nainštalovať jeden z jazykových balíkov TortoiseSVN. Týmto sa nainštalujú príslušné súbory slovníka a miestne užívateľské rozhranie TortoiseSVN. Po dokončení inštalácie bude k dispozícii aj slovník.
Alebo si môžete slovníky nainštalovať sami. Ak máte nainštalovaný OpenOffice alebo Mozilla, môžete skopírovať tieto slovníky, ktoré sa nachádzajú v inštalačných priečinkoch pre tieto aplikácie. V opačnom prípade si musíte stiahnuť požadované súbory slovníka zo stránky http://wiki.services.openoffice.org/wiki/Dictionaries.
Po získaní súborov slovníka ich pravdepodobne budete musieť premenovať, aby názvy súborov obsahovali iba miestne znaky. Príklad:
en_US.aff
en_US.dic
Potom ich stačí skopírovať do priečinka %APPDATA%\TortoiseSVN\dic
. Ak tento priečinok nie je, musíte ho najskôr vytvoriť. TortoiseSVN tiež prehľadá podpriečinok Languages
inštalačného priečinka TortoiseSVN (zvyčajne to je C:\ Program Files\TortoiseSVN\Languages
); na tomto mieste umiestňujú jazykové balíčky svoje súbory. Priečinok %APPDATA% však nevyžaduje oprávnenie správcu a má teda vyššiu prioritu. Pri ďalšom spustení TortoiseSVN bude k dispozícii kontrola pravopisu.
Ak inštalujete viac slovníkov, TortoiseSVN pomocou týchto pravidiel vyberie, ktorý z nich sa má použiť.
Skontrolujte nastavenia tsvn:projectlanguage
. Pre viac informácií si pozrite časť “Nastavenia Projektu” o nastavení vlastností projektu.
Ak nie je nastavený žiadny projektový jazyk alebo tento jazyk nie je nainštalovaný, vyskúšajte jazyk zodpovedajúci miestnemu miestu Windows.
Ak presné miestne nastavenie systému Windows nefunguje, skúste “základný” jazyk, napr. de_CH
(švajčiarska nemčina) vrátením späť do de_DE
(nemčina).
Ak nič z vyššie uvedeného nefunguje, predvoleným jazykom je angličtina, ktorá je súčasťou štandardnej inštalácie.
Príkaz Subversion, ktorý sa používa na pridanie súboru alebo priečinka do pracovnej kópie. Nové položky sa do úložiska pridajú, keď ich odovzdáte.
Aktuálna základná revízia súboru alebo priečinka vo vašej pracovnej kópii. Toto je revízia, v ktorej bol súbor alebo priečinok, keď bola spustená posledné overenia, aktualizácia alebo odovzdania. BASE revízia sa normálne nerovná revízii HEAD.
Tento príkaz je iba pre textové súbory a popisuje každý riadok, aby sa zobrazila revízia úložiska, v ktorej bola naposledy zmenená a autor, ktorý túto zmenu vykonal. Naša implementácia grafického užívateľského rozhrania sa nazýva TortoiseBlame a tiež ukazuje dátum a čas odovzdania a správu, keď podržíte kurzor myši nad číslom revízie.
Termín často používaný v systémoch kontroly revízií na opísanie toho, čo sa stane, keď sa vývoj v určitom bode rozvetvuje a sleduje dve samostatné cesty. Môžete vytvoriť vetvu mimo hlavnej vývojovej línie, aby ste vyvinuli novú funkciu bez toho, aby bola hlavná línia nestabilná. Alebo môžete vytvoriť stabilné vydanie, v ktorom urobíte iba opravy chýb, zatiaľ čo nový vývoj sa deje na nestabilnom kmeni. V Subversion je pobočka implementovaná ako “roztrúsená kópia” .
Príkaz Subversion, ktorý vytvorí lokálnu pracovnú kópiu v prázdnom priečinku stiahnutím verziových súborov z úložiska.
Citovať z knihy Subversion: “Rekurzívne vyčistí pracovnú kópiu, odstráni zámky a pokračuje v nedokončených operáciách. Ak niekedy dostanete chybu pracovná kópia uzamknutá, spustite tento príkaz, aby ste odstránili zastaralé zámky a dostali svoju pracovnú kópiu znova do použiteľného stavu.” Upozorňujeme, že v tejto súvislosti zámok označuje uzamknutie lokálneho súborového systému, nie uzamknutie úložiska.
Tento príkaz Subversion sa používa na prenos zmien vo vašej lokálnej pracovnej kópii späť do úložiska, čím sa vytvorí nová revízia úložiska.
Keď sa zmeny z úložiska zlúčia s miestnymi zmenami, niekedy sa tieto zmeny vyskytnú na rovnakých riadkoch. V takom prípade Subversion nemôže automaticky rozhodnúť, ktorú verziu použije a súbor je údajne v konflikte. Pred vykonaním akýchkoľvek ďalších zmien musíte súbor manuálne upraviť a vyriešiť konflikt.
V úložisku Subversion môžete vytvoriť kópiu jedného súboru, alebo celého stromu. Tieto sú implementované ako “roztrúsené kópie”, ktoré sa správajú trochu ako odkaz na pôvodný súbor, takže nezaberajú veľa miesta. Vytváranie kópií zachováva históriu jednotlivých kopírovaných objektov, takže môžete sledovať zmeny, ktoré boli vykonané pred vytvorením kópie.
Keď odstránite verziovú položku (a odovzdáte zmenu), položka po vykonanej revízii už v úložisku neexistuje. Ale samozrejme stále existuje v starších revíziách úložiska, takže k nemu máte stále prístup. V prípade potreby môžete skopírovať odstránenú položku a “vzkriesiť” ju pre kompletnosť histórie.
Skratka pre “Zobraziť odlišnosti”. Veľmi užitočné, keď chcete presne vidieť, aké zmeny boli urobené.
Tento príkaz vytvorí kópiu verziového priečinka, rovnako ako pracovná kópia, ale bez lokálnych .svn
priečinkov.
Proprietárny koncový systém súborov Subversion pre úložiská. Možno použiť na zdieľanie v sieti. Predvolené pre 1.2 a novšie archívy.
Objekt skupinovej politiky.
Posledná revízia súboru alebo priečinka v úložisku .
Príkaz Subversion na import celej hierarchie priečinkov do úložiska v jednej revízii.
Keď vyberiete zámok na verziovej položke, označíte ju v úložisku ako nezáväznú, s výnimkou pracovnej kópie, kde bol zámok odstránený.
Zobrazí istóriu revízií súboru alebo priečinka. Taktiež známy ako “história”.
Zobraziť históriu revízií súboru alebo priečinka. Taktiež známy ako “záznam” .
Proces, pri ktorom sa zmeny z úložiska pridávajú do vašej pracovnej kópie bez toho, aby boli narušené zmeny, ktoré ste už vykonali lokálne. Niekedy tieto zmeny nie je možné automaticky zosúladiť a pracovná kópia je údajne v rozpore.
K zlúčeniu dôjde automaticky, keď aktualizujete svoju pracovnú kópiu. Pomocou príkazu Zlúčiť TortoiseSVN môžete tiež zlúčiť konkrétne zmeny z inej vetvy.
Ak má pracovná kópia zmeny iba v textových súboroch, je možné použiť príkaz Subversion Porovnať odlišnosti na vygenerovanie jedného súhrnu súborov s týmito zmenami vo formáte Zjednotené odlišnosti. Súbor tohto typu sa často nazýva “Opravná záplate” a je možné ho poslať e-mailom niekomu inému (alebo do zoznamu adresátov) a použiť na inú pracovnú kópiu. Niekto bez prístupu na odovzdanie môže vykonať zmeny a odoslať súbor opravy pre oprávneného účastníka, ktorý sa môže prihlásiť. Ak si nie ste istí zmenou, môžete odoslať opravu pre ostatných na preskúmanie.
Okrem verziovania priečinkov a súborov vám Subversion umožňuje pridávať verziové metaúdaje - označované ako “vlastnosti” do každého z vašich verziových priečinkov a súborov. Každá vlastnosť má názov a hodnotu, podobne ako kľúč registra. Subversion má niektoré špeciálne vlastnosti, ktoré interne využíva, ako napr. svn:eol-style
. TortoiseSVN má niektoré tiež, ako napr. tsvn:logminsize
. Môžete pridať svoje vlastné vlastnosti s ľubovoľným názvom a hodnotou, ktorú vyberiete.
Ak sa vaše úložisko presunulo, možno preto, že ste ho presunuli do iného priečinka na serveri alebo sa zmenil názov domény servera, musíte “premiestniť” svoju pracovnú kópiu tak, aby jej adresy URL úložiska smerovali na nové miesto.
Poznámka: Tento príkaz by ste mali použiť, iba ak vaša pracovná kópia odkazuje na rovnaké miesto v rovnakom úložisku, ale samotné úložisko sa presunulo. Za akýchkoľvek iných okolností pravdepodobne budete musieť namiesto toho použiť príkaz “Prepnúť”.
Úložisko je centrálne miesto, kde sa údaje ukladajú a udržiavajú. Úložiskom môže byť miesto, kde je umiestnených viac databáz alebo súborov určených na distribúciu po sieti, alebo úložiskom môže byť miesto, ktoré je priamo prístupné užívateľovi bez nutnosti cestovania po sieti.
Keď sú súbory v pracovnej kópii po zlúčení ponechané v konfliktnom stave, tieto konflikty musí vyriešiť človek pomocou editora (alebo možno TortoiseMerge). Tento proces sa označuje ako “Riešenie konfliktov”. Po dokončení môžete konfliktné súbory označiť ako vyriešené, čo umožní ich odovzdanie.
Subversion udržuje miestnu “nedotknutú” kópiu každého súboru, aká bola pri poslednej aktualizácii pracovnej kópie. Ak ste vykonali zmeny a rozhodli ste sa ich vrátiť späť, môžete použiť príkaz “Vrátiť” pre návrat k pôvodnej kópii.
Zakaždým, keď vykonáte sústavu zmien, vytvoríte jednu novú “revíziu” v úložisku. Každá revízia predstavuje stav stromu úložiska v určitom okamihu jeho histórie. Ak sa chcete vrátiť v čase, môžete preskúmať úložisko tak, ako to bolo pri revízii N.
V inom zmysle sa revízia môže vzťahovať na sústavu zmien, ktoré sa vykonali pri vytvorení tejto revízie.
Rovnako ako súbory môžu mať vlastnosti, tak aj každá revízia v úložisku. Niektoré špeciálne vlastnosti revízie sa pridajú automaticky pri vytvorení revízie, menovite: svn:date svn:author svn:log
, ktoré predstavujú dátum/čas odovzdania, odovzdávajúceho a správu záznamu. Tieto vlastnosti je možné upravovať, ale nie sú verziové, takže každá zmena je trvalá a nemožno ju vrátiť späť.
Často používaná skratka pre Subversion.
Názov vlastného protokolu Subversion, ktorý používa server úložiska “svnserve”.
Rovnako ako “Aktualizácia na revíziu” zmení časové okno pracovnej kópie tak, aby sa pozeralo na iné miesto v histórii, takže príkaz “Prepnúť” zmení priestorové okno pracovnej kópie tak, aby ukazovalo na inú časť úložiska. Je to obzvlášť užitočné pri práci na kmeni a vetvách, kde sa líši iba niekoľko súborov. Môžete prepínať pracovnú kópiu medzi týmito dvoma a prenesú sa iba zmenené súbory.
Tento príkaz Subversion stiahne najnovšie zmeny z úložiska do vašej pracovnej kópie a zlúči všetky zmeny vykonané inými s miestnymi zmenami v pracovnej kópii.
Toto je vaše miestne “pieskovisko”, oblasť, kde pracujete na verziových súboroch a zvyčajne sa nachádza na vašom lokálnom pevnom disku. Pracovnú kópiu vytvoríte vykonaním príkazu “Overiť” z úložiska a svoje zmeny vrátite späť do úložiska použitím príkazu “Odovzdať” .