TortoiseSVN

Windows klient pre Subversion

Version 1.14

Stefan Küng

Lübbe Onken

Simon Large

Jozef Matta (jozef.m923[at]gmail[dot]com)

prekladateľ-preklad 

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


Obsah

Predhovor
Čo je TortoiseSVN?
Funkcie TortoiseSVN
Licencia
Vývoj
História TortoiseSVN
Poďakovania
Sprievodca čítaním
Terminológia použitá v tomto dokumente
1. Začíname
Inštalácia TortoiseSVN
Požiadavky na systém
Inštalácia
Základné princípy
Poďme na skúšobnú jazdu
Vytvorenie úložiska
Importovanie projektu
Overenie pracovnej kópie
Vykonávanie zmien
Pridávanie ďalších súborov
Prezeranie histórie projektu
Zrušenie zmien
Pohnime sa ďalej...
2. Základné koncepty správy verzií
Úložisko
Modely verziovania
Problém zdieľania súborov
Riešenie Zamknúť-Upraviť-Odomknúť
Riešenie Kopírovať-Upraviť-Zlúčiť
Čo robí Subversion?
Subversion v Akcii
Pracovné kópie
URL úložiska
Revízie
Ako pracovné kópie sledujú úložisko
Súhrn
3. Úložisko
Vytvorenie úložiska
Vytvorenie úložiska klientom príkazového riadku
Vytvorenie úložiska aplikáciou TortoiseSVN
Lokálny prístup do úložiska
Prístup k úložisku pri sieťovom zdieľaní
Rozloženie úložiska
Záloha úložiska
Skripty háku na strane servera
Odkazy overenia
Prístup do úložiska
4. Sprievodca každodenným používaním
Všeobecné funkcie
Prekrytie ikon
Kontextové ponuky
Ťahaj a pusť
Bežné skratkové klávesy
Autentifikácia
Maximalizácia okien
Import údajov do úložiska
Import
Import na miesto
Špeciálne súbory
Overenie pracovnej kópie
Hĺbka overenia
Odovzdávanie svojich zmien do úložiska
Dialóg odovzdania
Zoznamy zmien
Odovzdať iba časti súborov
Vylúčenie položiek zo zoznamu odovzdania
Odovzdanie správ záznamu
Priebeh odovzdávania
Aktualizujte svoju pracovnú kópiu zmenami od ostatných
Riešenie konfliktov
Konflikty súborov
Konflikty vlastností
Konflikty stromov
Získavanie informácií o stave
Prekrytie ikon
Podrobný stav
Lokálny a vzdialený stav
Prezeranie odlišností
Zoznamy zmien
Odloženie na policu
Dialógové okno záznamu revízií
Vyvolanie dialógového okna Záznam revízií
Akcie Záznamu revízií
Získanie prídavných informácií
Získavanie viac správ záznamu
Aktuálna revízia pracovnej kópie
Funkcie sledovania zlúčenia
Zmena záznamu a autora
Filtrovanie správ záznamu
Štatistické informácie
Režim offline (bez pripojenia)
Obnova pohľadu
Prezeranie odlišností
Odlišností v súboroch
Ukončenia riadkov a biele znaky
Porovnávanie priečinkov
Porovnanie odlišností obrázkov použitím TortoiseIDiff
Porovnanie odlišností kancelárskych dokumentov
Externé nástroje na porovnanie odlišností/zlúčenie
Pridávanie nových súborov a priečinkov
Kopírovanie/presúvanie/premenovanie súborov a priečinkov
Ignorovanie súborov a adresárov
Zhodnosť vzorov v zoznamoch ignorovaných
Odstránenie, presun a premenovanie
Vymazanie súborov a priečinkov
Presun súborov a priečinkov
Prejednanie konfliktov veľkosti písma názvov súborov
Oprava premenovania súborov
Vymazávanie bezverziových súborov
Vrátiť zmeny
Vyčistiť
Nastavenia Projektu
Vlastnosti Subversion
Vlastnosti projektu TortoiseSVN
Editory vlastností
Externé položky
Externé priečinky
Externé súbory
Vytváranie externých súborov použitím funkcie Ťahaj a pusť
Vetvenie / Označenie príznakom
Vytvorenie vetvy / príznaku
Iné spôsoby na vytvorenie vetvy alebo príznaku
Na overenie alebo na prepnutie...
Zlúčenie
Zlúčenie rozsahu revízií
Zlúčenie dvoch rôznych stromov
Možnosti zlúčenia
Kontrola výsledkov zlúčenia
Sledovanie zlučovania
Manipulácia s konfliktami po zlúčení
Údržba funkcií vetvy
Zamknutie
Ako zamykanie funguje v Subversion
Získanie zámku
Uvoľnenie zámku
Kontrola stavu zámku
Vytváranie nezamknutých súborov iba na čítanie
Skripty háku Zamknutia
Vytváranie a aplikácia opravných záplat
Tvorba súboru opravnej záplaty
Použitie súboru opravnej záplaty
Kto zmenil ktorý riadok?
Zodpovednosť za súbory
Odlišnosti vyvodenia zodpovednosti
Prehliadač úložiska
Graf revízií
Uzly grafu revízií
Zmena pohľadu
Použitie grafu
Obnova pohľadu
Orezávanie stromov
Export pracovnej kópie Subversion
Odstránenie pracovnej kópie zo správy verzií
Premiestnenie pracovnej kópie
Integrácia so systémami sledovania chýb/sledovačmi problémov
Pridávanie čísla problémov do správ záznamu
Získavanie informácií z nástroja na sledovanie problémov
Integrácia s prehliadačmi úložiska založených na webe
TortoiseSVN Nastavenia
Všeobecné nastavenia
Nastavenia grafu revizií
Nastavenie Prekrytie ikon
Nastavenie siete
Nastavenie Externé programy
Nastavenia Uložené údaje
Uchovanie záznamu
Skripty hákov na strane klienta
Nastavenia TortoiseBlame
Nastavenia TortoiseUDiff
Exportovanie nastavenia TSVN
Pokročilé nastavenia
Posledný krok
5. Monitor projektu
Pridávanie projektov na sledovanie
Dialógové okno Monitor
Hlavné operácie
6. Program SubWCRev
Príkazový riadok SubWCRev
Nahradzovanie kľúčových slov
Príklad kľúčového slova
COM rozhranie
7. Rozhranie IBugtraqProvider
Konvencie pomenovania
Rozhranie IBugtraqProvider
Rozhranie IBugtraqProvider2
A. Často kladené otázky (FAQ)
B. Ako na to...
Presunúť/kopírovať viacero súborov naraz
Donútiť užívateľov, aby zadali správu záznamu
Skripty háku na serveri
Vlastnosti projektu
Aktualizovať vybrané súbory z úložiska
Vrátiť vzad (späť) revízie v úložisku
Použitím dialógového okna záznamu revízií
Použitím dialógového okna zlúčenia
Použitím nástroja svndumpfilter
Porovnať dve verzie súboru alebo priečinka
Zahrnúť spoločný podprojekt
Použitím svn:externals
Použitím vnorenej pracovnej kópie
Použitím relatívnej cesty
Pridaním projektu do úložiska
Vytvoriť skratku na úložisko
Ignorovať súbory, ktoré sú už verziové
Odstrániť verziu pracovnej kópie
Odstrániť pracovnú kópiu
C. Užitočné tipy pre správcov
Nasadenie TortoiseSVN prostredníctvom skupinových politík
Presmerovať kontrolu aktualizácie
Nastavenie systémovej premennej SVN_ASP_DOT_NET_HACK
Zakázať položky kontextovej ponuky
D. Automatizácia TortoiseSVN
Príkazy TortoiseSVN
Obslužná rutina adresy URL Tsvncmd
Príkazy TortoiseIDiff
Príkazy TortoiseUDiff
E. Krížový odkaz na rozhranie príkazového riadku
Konvencia a základné pravidlá
Príkazy TortoiseSVN
Overiť
Aktualizovať
Aktualizovať na revíziu
Odovzdať
Porovnať odlišnosti
Zobraziť záznam
Skontrolovať zmeny
Graf revízií
Prehliadač úložiska
Upraviť konflikty
Vyriešené
Premenovať
Odstrániť
Vrátiť
Vyčistiť
Získať zámok
Uvoľniť zámok
Vetva/príznak
Prepínač
Zlúčiť
Exportovať
Premiestniť
Vytvoriť úložisko tu
Pridať
Import
Vyvodiť zodpovednosť
Pridať do zoznamu ignorovaných
Vytvoriť opravnú záplatu
Použiť opravnú záplatu
F. Implementačné detaily
Prekrytie ikon
G. Jazykové balíčky a kontrola pravopisu
Jazykové balíčky
Kontrola pravopisu
Slovník
Zoznam

Zoznam obrázkov

1.1. Ponuka TortoiseSVN pre bezverziové priečinky
1.2. Dialógové okno importu
1.3. Prehliadač odlišností súborov
1.4. Dialóg záznamu
2.1. Typický systém klient/server
2.2. Problém, ktorému sa treba vyhnúť
2.3. Riešenie Zamknúť-Upraviť-Odomknúť
2.4. Riešenie Kopírovať-Upraviť-Zlúčiť
2.5. ...pokračovanie Kopírovať-Upraviť-Zlúčiť
2.6. Súborový systém úložiska
2.7. Úložisko
3.1. Ponuka TortoiseSVN pre bezverziové priečinky
4.1. Prekrytie ikon zobrazované v Prieskumníkovi
4.2. Kontextová ponuka pre priečinok pod správoi verzie
4.3. Ponuka súborov Prieskumníka pre skratku vo verziovom priečinku
4.4. Ťahajte ponuku pravým pre priečinok pod správou verzie
4.5. Dialógové okno autentifikácie
4.6. Dialógové okno importu
4.7. Dialóg overenia
4.8. Dialóg odovzdania
4.9. Kontrola pravopisu v dialógovom okne odovzdania
4.10. Dialógové okno priebehu zobrazujúce prebiehajúce odovzdanie
4.11. Dialógové okno priebehu zobrazujúce dokončenú aktualizáciu
4.12. Prekrytie ikon zobrazované v Prieskumníkovi
4.13. Stránka vlastností prieskumníka, karta Subversion
4.14. Skontrolovať zmeny
4.15. Dialóg odovzdania so zoznamom zmien
4.16. Dialógové okno police
4.17. Dialógové okno výberu z police
4.18. Dialógové okno Záznamu revízií
4.19. Dialógové okno Záznamu revízií - horný panel s kontextovou ponukou
4.20. Dialógové okno nastavení spolupracovníka kódu
4.21. Kontextová ponuka horného panela pre 2 vybrané revízie
4.22. Dolný panel dialógu Záznamu s kontextovou ponukou
4.23. Dolný panel dialógového okna Záznamu s kontextovou ponukou, keď je vybraných viac súborov.
4.24. Dialógové okno záznamu zobrazujúce revízie sledovania zlúčenia
4.25. Histogram odovzdania podľa autora
4.26. Koláčový graf odovzdania podľa autorov
4.27. Graf odovzdaní podľa dátumu
4.28. Prejdite do dialógového okna offline
4.29. Dialógové okno Porovnanie revízií
4.30. Prehliadač odlišností obrázkov
4.31. Kontextová ponuka prieskumníka pre bezverziové súbory
4.32. Ťahajte ponuku pravým pre priečinok pod správou verzie
4.33. Kontextová ponuka prieskumníka pre bezverziové súbory
4.34. Kontextová ponuka prieskumníka pre verziové súbory
4.35. Dialóg Vrátiť
4.36. Dialóg Vyčistiť
4.37. Stránka vlastností Subversion
4.38. Pridávanie vlastností
4.39. Dialógové okno vlastností pre skripty háku
4.40. Stránka vlastnosti svn:externals
4.41. Stránka vlastnosti svn:keywords
4.42. Stránka vlastnosti svn:eol-style
4.43. Stránka vlastnosti tsvn:bugtraq
4.44. Stránka vlastnosti veľkosť správy záznamu
4.45. Stránka vlastnosti jazyka
4.46. Stránka vlastnosti svn:mime-type
4.47. Stránka vlastností svn:needs-lock
4.48. Stránka vlastnosti svn:executable
4.49. Šablóny dialóg vlastností dialóg záznamu
4.50. Dialóg vetvy/príznaku
4.51. Dialógové okno prehodenia
4.52. Sprievodca zlúčením - výber rozsahu revízií
4.53. Sprievodca zlúčením - Zlúčenie stromu
4.54. Dialógové okno Zlúčiť konflikt
4.55. Dialógové okno Konflikt zlúčenia stromov
4.56. Dialóg Zlúčiť všetko
4.57. Dialóg Zamykanie
4.58. Dialógové okno Kontrola zmien
4.59. Dialógové okno Vytvoriť opravnú záplatu
4.60. Dialóg poznámky/zdpovednosti
4.61. TortoiseBlame
4.62. Prehliadač úložiska
4.63. Graf revízií
4.64. Dialógové okno Export z URL
4.65. Dialógové okno premiestnenia
4.66. Dialógové okno Vlastnosti Bugtraq (sledovania chýb)
4.67. Príklad dialógového okna sledovania problémov
4.68. Dialógové okno Nastavenia, Všeobecná stránka
4.69. Dialógové okno Nastavenia, stránka kontextovej ponuky
4.70. Dialógové okno Nastavenia, Dialógy stránka 1
4.71. Dialógové okno Nastavenia, strana Dialógy 2
4.72. Dialógové okno Nastavenia, stránka Dialógové okno 3
4.73. Dialógové okno Nastavenia, stránka Farby
4.74. Dialógové okno Nastavenia, stránka Graf revízií
4.75. Dialógové okno Nastavenia, stránka Farby grafu revízií
4.76. Dialógové okno Nastavenia, stránka Prekrytie ikon
4.77. Dialógové okno Nastavenia, stránka Sústava ikon
4.78. Dialógové okno Nastavenia, stránka Manipulátory ikon
4.79. Dialógové okno Nastavenia, stránka Sieť
4.80. Dialógové okno Nastavenia, stránka Prehliadač odlišností
4.81. Dialógové okno Nastavenia, dialóg Pokročilé porovnanie odlišností/zlúčenie
4.82. Dialógové okno Nastavenia, stránka Uložené údaje
4.83. Dialógové okno Nastavenia, stránka Uchovanie záznamov
4.84. Dialógové okno Nastavenia, Štatistika zásobníka záznamu
4.85. Dialógové okno Nastavenia, stránka Skripty hákov
4.86. Dialógové okno Nastavenia, Konfigurácia skriptov háku
4.87. Dialógové okno Nastavenia, stránka Integrácia sledovača problémov
4.88. Dialógové okno Nastavenia, stránka TortoiseBlame
4.89. Dialógové okno Nastavenia, stránka TortoiseUDiff
4.90. Dialógové okno Nastavenia, stránka Synchronizácia
4.91. Hlavný panel s predvoleným zoskupením
4.92. Hlavný panel so zoskupením úložiska
4.93. Hlavný panel so zoskupením úložiska
4.94. Zoskupenie na hlavnom paneli s farbami prekrytia úložiska
5.1. Dialógové okno úprav projektu na monitore projektu
5.2. Hlavné dialógové okno monitora projektu
B.1. Kontextová ponuka pre presun súborov TortoiseSVN
C.1. Dialógové okno odovzdania s upozornením na aktualizáciu

Zoznam tabuliek

2.1. Prístupové adresy URL úložiska
4.1. Pripnutá revízia
6.1. Zoznam dostupných prepínačov príkazového riadku
6.2. Zoznam chybových kódov SubWCRev
6.3. Zoznam dostupných kľúčových slov
6.4. Podporované metódy COM/automatizácie
C.1. Položky ponuky a ich hodnoty
D.1. Zoznam dostupných príkazov a možností
D.2. Zoznam dostupných možností
D.3. Zoznam dostupných možností

Predhovor

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 .

Čo je TortoiseSVN?

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.

Funkcie TortoiseSVN

Čo robí TortoiseSVN tak dobrým klientom Subversion? Tu je krátky zoznam funkcií.

Integrácia do prostredia

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

Prekrytie ikon

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.

Grafické užívateľské rozhranie

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.

Ľahký prístup k príkazom Subversion

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:

Verziovanie priečinkov

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.

Nedeliteľné odovzdania

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.

Verziové metasúbory

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.

Výber sieťovej vrstvy

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.

Dôsledné zaobchádzanie s údajmi

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.

Efektívne vetvenie a značenie príznakmi

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.

Licencia

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

Vývoj

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.

História TortoiseSVN

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.

Poďakovania

Tim KEMP

za spustenie projektu TortoiseSVN

Stefan KÜNG

za tvrdú prácu, aby TortoiseSVN bol tým, čím je teraz a vedenie projektu

Lübbe ONKEN

za nádherné ikonky, logo, vychytávanie chýb, preklad a organizovanie prekladov

Simon LARGE

za pomoc s dokumentaciou

Stefan FUHRMANN

za zásobník denníka a graf revízií

Kniha Subversion

za úžasný úvod do Subversion a kapitolu 2, ktorú sme sem okopírovali

Projekt štýlu Tigris

za niektoré štýly, ktoré sa použili v dokumentácií

Naši spolupracovní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

Naši darcovia

za mnoho hodín dobrej hudby, ktoré nám poslali

Sprievodca čítaním

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 .

Terminológia použitá v tomto dokumente

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. TortoiseSVNZobraziť záznam spôsob: vybrať Zobraziť záznam z kontextovej ponuky TortoiseSVN.

Ak sa v jednom z dialógových okien TortoiseSVN objaví lokálna kontextová ponuka, zobrazí sa takto:Kontextová ponukaUložiť ako...

Tlačidlá užívateľského rozhrania sú označené takto: Stlačte Ok 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é

Dôležité poznámky sú označené ikonou.

Tip

Tipy, ktoré vám uľahčia život.

Výstraha

Miesta, kde musíte byť opatrní pritom, čo robíte.

Varovanie

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.

Kapitola 1. Začíname

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.

Inštalácia TortoiseSVN

Požiadavky na systém

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.

Inštalácia

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

Dôležité

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 .

Základné princípy

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.

Úložisko

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.

Pracovná kópia

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:

Obrázok 1.1. Ponuka TortoiseSVN pre bezverziové priečinky

Ponuka TortoiseSVN pre bezverziové priečinky


Poďme na skúšobnú jazdu

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.

Vytvorenie úložiska

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 TortoiseSVNTu vytvoriť úložisko.... Ú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 Vytvoriť štruktúru priečinkov.

Dôležité

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.

Importovanie projektu

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 TortioiseSVNImportovať..., ktorý vyvolá dialógové okno:

Obrázok 1.2. Dialógové okno importu

Dialógové okno importu


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 OK a priečinok je pridaný do vášho úložiska.

Overenie pracovnej kópie

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 TortoiseSVNOveriť.... V takom prípade zadajte adresu URL úložiska file:///c:/svn_repos/trunk/Widget1 a kliknite na OK. Náš vývojový priečinok je potom naplnený súbormi z úložiska.

Dôležité

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é: SVN overenie...

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.

Vykonávanie zmien

Č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ť TortoiseSVN Odlišnosti. Spustí sa nástroj na porovnávanie súborov TortoiseSVN, ktorý vám presne ukáže, ktoré riadky sa zmenili.

Obrázok 1.3. Prehliadač odlišností súborov

Prehliadač odlišností súborov


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 TortoiseSVNOdovzdať. 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 OK. Dialógové okno priebehu zobrazuje súbory, ktoré sa nahrávajú do úložiska a ste hotoví.

Pridávanie ďalších súborov

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

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

Prezeranie histórie projektu

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

Obrázok 1.4. Dialóg záznamu

Dialóg záznamu


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.

Zrušenie zmien

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, TortoiseSVNVrátiť 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 Kontextová ponukaVrátiť zmeny od tejto revízie a tieto zmeny sa vrátia späť.

Pohnime sa ďalej...

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.

Kapitola 2. Základné koncepty správy verzií

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.

Úložisko

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.

Obrázok 2.1. Typický systém klient/server

Typický systém klient/server

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? , alebokto 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.

Modely verziovania

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.

Problém zdieľania súborov

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úť!

Obrázok 2.2. Problém, ktorému sa treba vyhnúť

Problém, ktorému sa treba vyhnúť

Riešenie Zamknúť-Upraviť-Odomknúť

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

Obrázok 2.3. Riešenie Zamknúť-Upraviť-Odomknúť

Riešenie Zamknúť-Upraviť-Odomknúť

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.

Riešenie Kopírovať-Upraviť-Zlúčiť

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.

Obrázok 2.4. Riešenie Kopírovať-Upraviť-Zlúčiť

Riešenie Kopírovať-Upraviť-Zlúčiť

Obrázok 2.5. ...pokračovanie Kopírovať-Upraviť-Zlúčiť

...pokračovanie Kopírovať-Upraviť-Zlúčiť

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.

Čo robí Subversion?

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.

Subversion v Akcii

Pracovné kópie

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.

Obrázok 2.6. Súborový systém úložiska

Súborový systém úložiska

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

URL úložiska

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émaMetó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.

Revízie

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.

Obrázok 2.7. Úložisko

Úložisko

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.

Ako pracovné kópie sledujú úložisko

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:

Nezmenený a aktuálny

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

Lokálne zmenené a aktuálne

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

Nezmenené a neaktuálne

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.

Lokálne zmenené a zastarané

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.

Súhrn

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.

Kapitola 3. Úložisko

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.

Vytvorenie úložiska

Vytvorenie úložiska klientom príkazového riadku

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

  2. Vytvorte ďalší priečinok MyNewRepository vnútri D:\SVN\ .

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

Vytvorenie úložiska aplikáciou TortoiseSVN

Obrázok 3.1. Ponuka TortoiseSVN pre bezverziové priečinky

Ponuka TortoiseSVN pre bezverziové priečinky

  1. Otvorte Prieskumníka Windows

  2. Vytvorte nový priečinok a pomenujte ho napr. SVNReposity

  3. Kliknite pravým tlačidlom myši na novovytvorený priečinok a vyberte TortoiseSVNTu vytvoriť úložisko....

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

Tip

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.

Lokálny prístup do úložiska

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.

Prístup k úložisku pri sieťovom zdieľaní

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.

Rozloženie úložiska

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:

  1. vytvorte nový prázdny priečinok na pevnom disku

  2. vytvorte si v tomto priečinku požadovanú štruktúru priečinkov na najvyššej úrovni - zatiaľ doň nevkladajte žiadne súbory!

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

Záloha úložiska

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.

Skripty háku na strane servera

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 .

Nadradené háky

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

Odkazy overenia

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>

Prístup do úložiska

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.

Kapitola 4. Sprievodca každodenným používaním

Obsah

Všeobecné funkcie
Prekrytie ikon
Kontextové ponuky
Ťahaj a pusť
Bežné skratkové klávesy
Autentifikácia
Maximalizácia okien
Import údajov do úložiska
Import
Import na miesto
Špeciálne súbory
Overenie pracovnej kópie
Hĺbka overenia
Odovzdávanie svojich zmien do úložiska
Dialóg odovzdania
Zoznamy zmien
Odovzdať iba časti súborov
Vylúčenie položiek zo zoznamu odovzdania
Odovzdanie správ záznamu
Priebeh odovzdávania
Aktualizujte svoju pracovnú kópiu zmenami od ostatných
Riešenie konfliktov
Konflikty súborov
Konflikty vlastností
Konflikty stromov
Získavanie informácií o stave
Prekrytie ikon
Podrobný stav
Lokálny a vzdialený stav
Prezeranie odlišností
Zoznamy zmien
Odloženie na policu
Dialógové okno záznamu revízií
Vyvolanie dialógového okna Záznam revízií
Akcie Záznamu revízií
Získanie prídavných informácií
Získavanie viac správ záznamu
Aktuálna revízia pracovnej kópie
Funkcie sledovania zlúčenia
Zmena záznamu a autora
Filtrovanie správ záznamu
Štatistické informácie
Režim offline (bez pripojenia)
Obnova pohľadu
Prezeranie odlišností
Odlišností v súboroch
Ukončenia riadkov a biele znaky
Porovnávanie priečinkov
Porovnanie odlišností obrázkov použitím TortoiseIDiff
Porovnanie odlišností kancelárskych dokumentov
Externé nástroje na porovnanie odlišností/zlúčenie
Pridávanie nových súborov a priečinkov
Kopírovanie/presúvanie/premenovanie súborov a priečinkov
Ignorovanie súborov a adresárov
Zhodnosť vzorov v zoznamoch ignorovaných
Odstránenie, presun a premenovanie
Vymazanie súborov a priečinkov
Presun súborov a priečinkov
Prejednanie konfliktov veľkosti písma názvov súborov
Oprava premenovania súborov
Vymazávanie bezverziových súborov
Vrátiť zmeny
Vyčistiť
Nastavenia Projektu
Vlastnosti Subversion
Vlastnosti projektu TortoiseSVN
Editory vlastností
Externé položky
Externé priečinky
Externé súbory
Vytváranie externých súborov použitím funkcie Ťahaj a pusť
Vetvenie / Označenie príznakom
Vytvorenie vetvy / príznaku
Iné spôsoby na vytvorenie vetvy alebo príznaku
Na overenie alebo na prepnutie...
Zlúčenie
Zlúčenie rozsahu revízií
Zlúčenie dvoch rôznych stromov
Možnosti zlúčenia
Kontrola výsledkov zlúčenia
Sledovanie zlučovania
Manipulácia s konfliktami po zlúčení
Údržba funkcií vetvy
Zamknutie
Ako zamykanie funguje v Subversion
Získanie zámku
Uvoľnenie zámku
Kontrola stavu zámku
Vytváranie nezamknutých súborov iba na čítanie
Skripty háku Zamknutia
Vytváranie a aplikácia opravných záplat
Tvorba súboru opravnej záplaty
Použitie súboru opravnej záplaty
Kto zmenil ktorý riadok?
Zodpovednosť za súbory
Odlišnosti vyvodenia zodpovednosti
Prehliadač úložiska
Graf revízií
Uzly grafu revízií
Zmena pohľadu
Použitie grafu
Obnova pohľadu
Orezávanie stromov
Export pracovnej kópie Subversion
Odstránenie pracovnej kópie zo správy verzií
Premiestnenie pracovnej kópie
Integrácia so systémami sledovania chýb/sledovačmi problémov
Pridávanie čísla problémov do správ záznamu
Získavanie informácií z nástroja na sledovanie problémov
Integrácia s prehliadačmi úložiska založených na webe
TortoiseSVN Nastavenia
Všeobecné nastavenia
Nastavenia grafu revizií
Nastavenie Prekrytie ikon
Nastavenie siete
Nastavenie Externé programy
Nastavenia Uložené údaje
Uchovanie záznamu
Skripty hákov na strane klienta
Nastavenia TortoiseBlame
Nastavenia TortoiseUDiff
Exportovanie nastavenia TSVN
Pokročilé nastavenia
Posledný krok

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.

Všeobecné funkcie

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.

Prekrytie ikon

Obrázok 4.1. Prekrytie ikon zobrazované v Prieskumníkovi

Prekrytie ikon zobrazované v Prieskumníkovi


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

Kontextové ponuky

Obrázok 4.2. Kontextová ponuka pre priečinok pod správoi verzie

Kontextová ponuka pre priečinok pod správoi verzie


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.

Tip

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!

Obrázok 4.3. Ponuka súborov Prieskumníka pre skratku vo verziovom priečinku

Ponuka súborov Prieskumníka pre skratku vo verziovom priečinku


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.

Ťahaj a pusť

Obrázok 4.4. Ťahajte ponuku pravým pre priečinok pod správou verzie

Ťahajte ponuku pravým pre priečinok pod správou verzie


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

Bežné skratkové klávesy

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.

F1

Pomoc, samozrejme.

F5

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.

Ctrl-A

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

Ctrl-C

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.

Autentifikácia

Ak je úložisko, do ktorého sa pokúšate dostať, chránené heslom, zobrazí sa dialógové okno autentifikácie.

Obrázok 4.5. Dialógové okno autentifikácie

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čidloVyčistiť všetko vyčistí autentifikačné údaje zo zásobníka pre všetky úložiská. Tlačidlo Vyčistiť... 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”.

Maximalizácia okien

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.

Import údajov do úložiska

Import

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:

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

  2. 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 TortoiseSVNImport..., čo vyvolá dialógové okno:

Obrázok 4.6. Dialógové okno importu

Dialógové okno importu


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

Import na miesto

Za predpokladu, že už máte úložisko a chcete doň pridať novú štruktúru priečinkov, postupujte podľa týchto krokov:

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

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

  3. Použite ponuku TortoiseSVNPridať... v tomto verziovom priečinku na pridanie časti alebo celého obsahu. Môžete pridávať a odstraňovať súbory, nastavovať vlastnosti priečinkov na svn: ignore a vykonávať ďalšie potrebné zmeny.

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

Špeciálne súbory

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

Overenie pracovnej kópie

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 TortoiseSVNOveriť..., ktoré vyvolá nasledujúce dialógové okno:

Obrázok 4.7. Dialóg overenia

Dialóg overenia


Ak zadáte názov priečinka, ktorý ešte neexistuje, vytvorí sa priečinok s týmto názvom.

Dôležité

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é: SVN overenie...

Hĺbka overenia

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.

Plne rekurzívne

Overí celý strom vrátane všetkých podradených priečinkov a podpriečinkov.

Priamo podradené, vrátane priečinkov

Overí určený priečinok vrátane všetkých súborov a podradených priečinkov, ale nevyplňuje podradené priečinky.

Iba podradené súbory

Overí určený priečinok vrátane všetkých súborov, ale neoverí žiadne podradené priečinky.

Iba túto položku

Overí len priečinok. Nevyplňujte ho súbormi ani podradenými priečinkami.

Pracovná kópia

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.

Vylúčenie

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 Vybrať položky.... Otvorí sa nové dialógové okno, kde môžete overiť všetky požadované položky v pracovnej kópii a zrušiť zaškrtnutie všetkých položiek, ktoré nechcete. Výsledná pracovná kópia je potom známa ako 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.

Roztrúsená aktualizácia použitím Aktualizácie na revíziu

Kliknite pravým tlačidlom myši na overovaný priečinok a potom použite ponuku TortoiseSVNAktualizácia na revíziu a vyberte Vybrať položky.... 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.

Roztrúsená aktualizácia použitím prehliadača úložiska

Kliknutím pravým tlačidlom myši na overovaný priečinok a použitím ponuky TortoiseSVNPrehliadač úložiska otvoríte prehliadač úložiska. Nájdite podpriečinok, ktorý chcete pridať do svojej pracovnej kópie a potom použite kontextovú ponukuAktualizovať položku na revíziu... .

Roztrúsená aktualizácia použitím možnosti Overiť úpravy

V dialógovom okne overenie zmien najprv stlačte Shift kliknite na tlačidlo Overiť úložisko. 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 kontextovú ponukaAktualizácia .

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 Projekt01Project99 a chcete iba overiť Projekt03, Projekt25 a Projekt76/SubProj. Použite tieto kroky:

  1. Overenie nadradeného priečinka s hĺbkou Iba táto položka. Teraz máte prázdny priečinok najvyššej úrovne.

  2. Vyberte nový priečinok a použite TortoiseSVNPrehliadač úložiska na zobrazenie obsahu úložiska.

  3. Kliknite pravým tlačidlom myši na Projekt03 a kontextovú ponukuAktualizovať položku na revíziu.... Ponechajte predvolené nastavenia a kliknite na OK. Teraz máte tento priečinok úplne naplnený.

    Rovnaký postup opakujte pre Projekt25 .

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

Zmena hĺbky pracovnej kópie

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 kontextovej ponukyAktualizovať položku na revíziu.... V tomto dialógovom okne nezabudnite skontrolovať zaškrtávacie políčko Vytvoriť lepkavú hĺbku.

Používanie staršieho servera

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

Dôležité

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 TortoiseSVNAktualizovať na verziu... namiesto TortoiseSVNAktualizácia. Š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!

Exportovanie

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

Odovzdávanie svojich zmien do úložiska

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 TortoiseSVNAktualizácia, alebo môžete najprv použiť ponuku TortoiseSVNOverenie úprav, na prezretie lokálne zmenených súborov alebo na zmenených súborov na serveri.

Dialóg odovzdania

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

Obrázok 4.8. Dialóg odovzdania

Dialóg odovzdania


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!

Odovzdať súbory alebo priečinky?

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.

V dialógovom okne odovzdania je veľa bezverziových súborov

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 TortoiseSVNPridať na zoznam ignorovaných. 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 TortoiseSVNPridať do zoznamu ignorovaných (rekurzívne). 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.

Varovanie pri odovzdávaní značky

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í”

Ťahaj a pusť

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.

Oprava externých premenovaní

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 kontextovej ponukyOpraviť presun spárujete tieto dva súbory ako premenované.

Oprava externých kópií

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 kontextovej ponukyOpraviť kópiu spárovať tieto dva súbory ako kópiu.

Zoznamy zmien

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

Odovzdať iba časti súborov

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 kontextovú ponukuObnoviť po odovzdaní. 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ť.

Používanie TortoiseMerge

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 kontextovej ponukyOznačiť túto zmenu zahrniete túto zmenu. Nakoniec kliknutím pravým tlačidlom myši a použitím kontextovej ponukyPonechať iba označené zmeny 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äť.

Vylúčenie položiek zo zoznamu odovzdania

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.

Odovzdanie správ záznamu

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.

Obrázok 4.9. Kontrola pravopisu v dialógovom okne odovzdania

Kontrola pravopisu v dialógovom okne odovzdania


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 Posledné správy 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 kontextová ponukaPrilepiť zoznam názvov súborov.

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

Špeciálne vlastnosti priečinka

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

Integrácia s nástrojmi na sledovanie chýb

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

Priebeh odovzdávania

Po stlačení OK sa zobrazí dialógové okno s priebehom odovzdania.

Obrázok 4.10. Dialógové okno priebehu zobrazujúce prebiehajúce odovzdanie

Dialógové okno priebehu zobrazujúce prebiehajúce odovzdanie


Dialógové okno priebehu používa farebné značenie zvýraznenie rôznych akcií odovzdania

Modrá

Odovzdávanie zmien.

Fialová

Odovzdávanie nového prídavku.

Tvamo červená

Odovzdanie odstránenia alebo nahradenia.

Čierna

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

Aktualizujte svoju pracovnú kópiu zmenami od ostatných

Obrázok 4.11. Dialógové okno priebehu zobrazujúce dokončenú aktualizáciu

Dialógové okno priebehu zobrazujúce dokončenú aktualizáciu


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 TortoiseSVNAktualizácia 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

Fialová

Nová položka pridaná do vašej pracovnej kópie.

Tvamo červená

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.

Zelená

Zmeny z úložiska sa úspešne zlúčili s lokálnymi zmenami.

Svetlo červená

Zmeny z úložiska sa zlúčili s miestnymi zmenami, čo viedlo ku konfliktom, ktoré musíte vyriešiť.

Čierna

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ť TortoiseSVNAktualizovať na verziu.... 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 Vybrať položky.... 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).

Výstraha

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

Aktualizácia na revíziu 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 kontextovú ponukuUložiť revíziu do... z dialógového okna záznamu pre tento súbor.

Viacero súborov/priečinkov

Ak v prehľadávači vyberiete viacero súborov a priečinkov a potom vyberiete Aktualizáciu, 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.

Riešenie konfliktov

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:

konflikty súborov

Konflikt súboru nastane, ak dvaja (alebo viacerí) vývojári zmenili niekoľko tých istých riadkov súboru.

konflikty stromov

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.

Konflikty súborov

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:

filename.ext.mine

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

filename.ext.rOLDREV

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.

filename.ext.rNEWREV

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 TortoiseSVNUpraviť konflikty alebo môžete na vyriešenie konfliktu použiť ľubovoľný textový editor. Mali by ste sa rozhodnúť, ako by mal kód vyzerať, vykonať potrebné zmeny a uložiť súbor. Použitie nástroja na zlučovanie, ako je TortoiseMerge alebo jedného z ďalších populárnych nástrojov, je vo všeobecnosti ľahšou voľbou, pretože zvyčajne predstavuje súbory zahrnuté v 3-panelovom zobrazení a nemusíte sa obávať označenia konfliktu. Ak používate textový editor, mali by ste vyhľadávať riadky začínajúce reťazcom <<<<<<<.

Potom vykonajte príkaz TortoiseSVNVyriešiť a vykonajte svoje úpravy v úložisku. Upozorňujeme, že príkaz Vyriešiť konflikt skutočne nevyrieši. Iba odstráni súbory 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 TortoiseSVNVyriešené... 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é.

Konflikty vlastností

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

Konflikty stromov

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.

Lokálne odstránenie, prichádzajúce úpravy po aktualizácii

  1. Vývojár A upraví Foo.c a odovzdá ho do úložiska.

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

Lokálna úprava, prichádzajúce odstránenie po aktualizácii

  1. Vývojár A presunie Foo.c do Bar.c a odovzdá zmeny v úložisku.

  2. Vývojár B upraví Foo.c v svojej pracovnej kópii.

Alebo v prípade premiestnenia priečinka...

  1. Vývojár A presunie nadradený priečinok FooFolder do BarFolder a odovzdá ho do úložiska.

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

Lokálne odstránenie, prichádzajúce odstránenie po aktualizácii

  1. Vývojár A presunie Foo.c do Bar.c a odovzdá zmeny v úložisku.

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

Lokálne chýbajúci, prichádzajúce úpravy po zlúčení

  1. Vývojár A pracujúci na kmeni upraví Foo.c a odovzdá ho do úložiska

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

Lokálna úprava, prichádzajúce odstránenie po zlúčení

  1. Vývojár A pracujúci na kmeni presunie súborFoo.c do Bar.c a odovzdá ho do úložiska.

  2. Vývojár B pracujúci na vetve upraví súbor Foo.c a odovzdá ho do úložiska.

  1. Vývojár pracujúci na kmeni presunie nadradený priečinok FooFolder do BarFolder a odovzdá ho do úložiska.

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

Lokálne odstránenie, prichádzajúce odstránenie po zlúčení

  1. Vývojár A pracujúci na kmeni presunie súborFoo.c do Bar.c a odovzdá ho do úložiska.

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

Ostatné konflikty stromov

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.

Získavanie informácií o stave

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

Prekrytie ikon

Obrázok 4.12. Prekrytie ikon zobrazované v Prieskumníkovi

Prekrytie ikon zobrazované v Prieskumníkovi


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

Podrobný stav

Obrázok 4.13. Stránka vlastností prieskumníka, karta Subversion

Stránka vlastností prieskumníka, karta Subversion


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ť ponuku WindowsVlastnosti 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.

Lokálny a vzdialený stav

Obrázok 4.14. Skontrolovať zmeny

Skontrolovať zmeny


Č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 TortoiseSVNSkontrolovať úpravy... 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 Skontrolovať úložisko 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 Skontrolovať úložisko 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ť Shift pri kliknutí na tlačidlo Skontrolovať úložisko.

Dialógové okno používa na zvýraznenie stavu farebné kódovanie.

Modrá

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.

Fialová

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

Tvamo červená

Odstránené alebo chýbajúce položky.

Zelená

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.

Svetlo červená

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.

Čierna

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 kontextovej ponukyPorovnať s bázou. Overte zmeny úložiska vykonané inými používateľmi použitím kontextovej ponukyZobraziť odlišnosti ako zjednotené odlišnosti .

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 kontextovej ponukyOdstrániť. Ak chcete súbory natrvalo odstrániť (obísť odpadkový kôš), pridržte klávesu Shift pri kliknutí na Odstrániť.

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

Tip

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.

Oprava externých premenovaní

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 kontextovej ponukyOpraviť presun spárujete tieto dva súbory ako premenované.

Oprava externých kópií

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 kontextovej ponukyOpraviť kópiu spárovať tieto dva súbory ako kópiu.

Prezeranie odlišností

Č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 Odlišnosť z kontextovej ponuky TortoiseSVN. Spustí sa externý prehliadač odlišností, ktorý potom porovná aktuálny súbor s pôvodnou kópiou ( BASE) bázovou revíziou, ktorá bola uložená po poslednej overení alebo aktualizácii.

Tip

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 Odlišnosti 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ší.

Zoznamy zmien

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 kontextovú ponukuPresunúť do zoznamu zmien 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 OK. 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.

Obrázok 4.15. Dialóg odovzdania so zoznamom zmien

Dialóg odovzdania so zoznamom zmien


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.

Tip

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.

Varovanie

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.

Odloženie na policu

Č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 kontextovú ponukuOdložiť na policu 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ť.

Obrázok 4.16. Dialógové okno police

Dialógové okno police


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 Odložiť na policu, polica sa vytvorí a súbory pracovnej kópie sa resetujú do čistého stavu. Ak kliknete na tlačidlo Kontrolný bod, polica sa vytvorí, ale vaše miestne úpravy sa zachovajú.

Ak chcete svoje zmeny vybrať z police, použite kontextovú ponukuVybrať z police 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 Použiť.

Obrázok 4.17. Dialógové okno výberu z police

Dialógové okno výberu z police


Tip

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.

Experimentálne

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.

Dialógové okno záznamu revízií

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.

Vyvolanie dialógového okna Záznam revízií

Obrázok 4.18. Dialógové okno Záznamu revízií

Dialógové okno Záznamu revízií


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

Akcie Záznamu revízií

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.

Získanie prídavných informácií

Obrázok 4.19. Dialógové okno Záznamu revízií - horný panel s kontextovou ponukou

Dialógové okno Záznamu revízií - horný panel s kontextovou ponukou


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.

Porovnať s pracovnou kópiou

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.

Porovnať a vyvodiť zodpovednosť s pracovnou bázou (BASE)

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)

Zobraziť zmeny ako zjednotené odlišnosti

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.

Porovnať s predošlou revíziou

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.

Porovnať a vyvodiť zodpovednosť s predošlou revíziou

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žiť revíziu do...

Uloží vybranú revíziu do súboru, aby ste mali staršiu verziu tohto súboru. (iba súbory)

Otvoriť / Otvoriť čím...

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)

Vyvodiť zodpovednosť...

Vyvodí zodpovednosť za súbor až po vybranú revíziu. (iba súbory)

Prehliadať úložisko

Otvorí prehliadač úložiska a preskúma vybraný súbor alebo priečinok v úložisku tak, ako to bolo pri vybranej revízii.

Vytvoriť vetvu/príznak z revízie

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

Aktualizovať položku od revízie

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 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ť TortoiseSVNNavrátiť 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ť zmeny tejto revízie

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ť revíziu do...

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.

Overenie...

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.

Export...

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.

Upraviť autora / správu záznamu

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

Zobraziť vlastnosti revízie

Prezrie a upraví všetky vlastnosti revízií, nielen správu záznamu a autora. Odkaz na časť “Zmena záznamu a autora” .

Kopírovať do schránky

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ľadať správy záznamu...

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

Vytvoriť revíziu pre spolupracovníka kódu...

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.

Obrázok 4.20. Dialógové okno nastavení spolupracovníka kódu

Dialógové okno nastavení spolupracovníka kódu


Obrázok 4.21. Kontextová ponuka horného panela pre 2 vybrané revízie

Kontextová ponuka horného panela pre 2 vybrané revízie


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í:

Porovnať revízie

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

Vyvodiť zodpovednosť za revízie

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

Zobraziť odlišnosti ako zjednotené odlišnosti

Zobrazí rozdiely medzi dvoma vybranými revíziami ako súbor zjednotených odlišností. Toto funguje pre súbory a priečinky.

Kopírovať do schránky

Skopírujte správy protokolu do schránky, ako je popísané vyššie.

Vyhľadať správy záznamu...

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

Obrázok 4.22. Dolný panel dialógu Záznamu s kontextovou ponukou

Dolný panel dialógu Záznamu s kontextovou ponukou


Spodný panel dialógového okna Záznamu má tiež kontextovú ponuku, ktorá vám to povolí

Zobraziť zmeny

Zobrazí zmeny vykonané vo vybranej revízii pre vybraný súbor.

Vyvodiť zodpovednosť za zmeny

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

Zobraziť ako zjednotený rozdiel

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

Otvoriť / Otvoriť čím...

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)

Vyvodiť zodpovednosť...

Otvorí dialógové okno Vyvodiť zodpovednosť, ktoré vám umožní vyvodiť zodpovednosť až z vybranej revízie.

Vrátiť zmeny tejto revízie

Vráti zmeny vykonané vo vybranom súbore od tejto revízie.

Zobraziť vlastnosti

Zobrazí vlastnosti Subversion pre vybranú položku.

Zobraziť záznam

Zobrazí záznam revízií pre vybraný jeden súbor.

Získať záznamy zlúčenia

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žiť revíziu do...

Uloží vybranú revíziu do súboru, aby ste mali staršiu verziu tohto súboru.

Export...

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.

Dolný panel dialógového okna Záznamu s kontextovou ponukou, keď je vybraných viac súborov.


Uložiť revíziu do...

Uloží vybranú revíziu do súboru, aby ste mali staršiu verziu tohto súboru.

Zobraziť viacnásobné zmeny...

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.

Otvoriť viacero TAk pridrCtrl pri vyvolanExport...Exportuje vybran

Tip

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 .

Získavanie viac správ záznamu

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 TortoiseSVNNastavenie (“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 Ďalších 100 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 Zobraziť rozsah... 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 Ukázať všetko ak chcete vidieť všetky správy záznamu HEAD hneď späť od revízie 1.

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.

Aktuálna revízia pracovnej kópie

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.

Funkcie sledovania zlúčenia

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

Obrázok 4.24. Dialógové okno záznamu zobrazujúce revízie sledovania zlúčenia

Dialógové okno záznamu zobrazujúce revízie sledovania zlúčenia

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.

Zmena záznamu a autora

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.

Varovanie

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.

Dôležité

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”

Filtrovanie správ záznamu

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ýrazAlica a Bob

""
      

hľadá kdekoľvek v texte dvojité úvodzovky

"Alica hovorí Bobovi ""ahoj"
      

hľadá doslovný výrazAlica 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”.

Bez formátovania záznamu z prehliadača úložiska

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.

Štatistické informácie

Tlačidlo Štatistiky 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 ;-)

Stránka Štatistiky

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.

Stránka odovzdania podľa autora

Obrázok 4.25. Histogram odovzdania podľa autora

Histogram odovzdania podľa autora


Tento graf ukazuje, ktorí autori boli na projekte aktívni, ako jednoduchý histogram, skladaný histogram alebo koláčový graf.

Obrázok 4.26. Koláčový graf odovzdania podľa autorov

Koláčový graf odovzdania podľa autorov


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

Stránka odovzdania podľa dátumu

Obrázok 4.27. Graf odovzdaní podľa dátumu

Graf odovzdaní podľa dátumu


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.

Režim offline (bez pripojenia)

Obrázok 4.28. Prejdite do dialógového okna offline

Prejdite do dialógového okna offline


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:

Teraz bez pripojenia

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.

Trvalo bez pripojenia

Zostáva v režime bez pripojenia, kým nie je výslovne požadovaná kontrola úložiska. Pozrite si časť “Obnova pohľadu”.

Zrušiť

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

Obnova pohľadu

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.

Prezeranie odlišností

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

Odlišností v súboroch

Lokálne zmeny

Ak chcete vidieť, čo ste zmenili vy vo svojej pracovnej kópii, stačí použiť kontextovú ponuku prieskumníka a zvoliť TortoiseSVNOdlišnosti.

Odlišnosti na inej vetve/príznaku

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 TortoiseSVNPorovnanie odlišnosti s adresou URL. 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 Porovnať revízie. Prečítajte si viac v časti “Porovnávanie priečinkov” .

Odlišnosti z predchádzajúcej revízie

Ak 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 Porovnať s pracovnou kópiou.

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 TortoiseSVNPorovnať odlišnosti s predošlou verziou. 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.

Rozdiel medzi dvoma predošlými revíziami

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 Porovnať revízie.

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

Všetky zmeny vykonané v odovzdaní

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 Zobraziť odlišnosti ako Zjednotené odlišnosti.

Porovnanie odlišností medzi súbormi

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 TortoiseSVNPorovnať odlišnosti .

Ak sa porovnávané súbory nenachádzajú v rovnakom priečinku, použite príkaz TortoiseSVNPorovnanie odlišností neskôr označte prvý súbor na porovnanie, potom vyhľadajte druhý súbor a použite TortoiseSVNPorovnanie odlišností s „path/of/marked/file“. Označený súbor odstránite opätovným použitím príkazu TortoiseSVNPorovnanie odlišnosti neskôr, ale s pridržaným tlačidlom modifikátora - Ctrl pri kliknutí na neho.

Rozdiel medzi súborom/priečinkom pracovnej kópie a adresou URL

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 TortoiseSVNPorovnanie odlišností s adresou URL. 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.

Porovnať odlišnosti s informáciami o vyvodení zodpovednosti

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

Porovnanie odlišností medzi priečinkami

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

Ukončenia riadkov a biele znaky

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.

Porovnávanie priečinkov

Obrázok 4.29. Dialógové okno Porovnanie revízií

Dialógové okno Porovnanie revízií


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ť kontextovú ponukuPorovnať revízie .

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 kontextovou ponukouExportovať výber do.... 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 kontextovej ponukyUložiť zoznam vybraných súborov do....

Ak chcete exportovať zoznam súborov a akcie (upravené, pridané, odstránené) tiež, môžete to urobiť použitím kontextovej ponukySkopírovať výber do schránky.

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.

Porovnanie odlišností obrázkov použitím TortoiseIDiff

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.

Obrázok 4.30. Prehliadač odlišností obrázkov

Prehliadač odlišností obrázkov


TortoiseSVNPorovnanie odlišností 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 ZobraziťInformácie o obrázku 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é.

Porovnanie odlišností kancelárskych dokumentov

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é TortoiseSVNNastavenia a kliknutím na Pokročilé v sekcii Externé programy.

Problémy s balíkom Office 2010

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

Externé nástroje na porovnanie odlišností/zlúčenie

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

WinMerge je vynikajúci nástroj na porovnávanie s otvoreným zdrojom, ktorý zvláda aj priečinky.

Perforce Merge

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

KDiff3 je bezplatný nástroj na porovnávanie, ktorý dokáže spracovať aj priečinky. Môžete si ho stiahnuť tu .

SourceGear DiffMerge

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

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 .

Beyond Compare

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

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

Pridávanie nových súborov a priečinkov

Obrázok 4.31. Kontextová ponuka prieskumníka pre bezverziové súbory

Kontextová ponuka prieskumníka pre bezverziové súbory


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

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!

Veľa pridaní

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ť:

  1. vyberte súbory, ktoré chcete pridať

  2. ťahajte so stlačeným pravým tlačidlom na nové miesto vo vnútri pracovnej kópie

  3. uvoľnite pravé tlačidlo myši

  4. vyberte kontextovou ponukouSVN Pridať súbory do tejto pracovnej kópie. 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 TortoiseSVNSpäť pridanie....

Kopírovanie/presúvanie/premenovanie súborov a priečinkov

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

Obrázok 4.32. Ťahajte ponuku pravým pre priečinok pod správou verzie

Ťahajte ponuku pravým pre priečinok pod správou verzie


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ť TortoiseSVNPrilepiť (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 TortoiseSVNVetva/príznak. Viac nájdete v časti “Vytvorenie vetvy / príznaku”.

V 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 kontextovej ponukyVytvoriť vetvu/príznak z revízie. Viac nájdete v časti “Získanie prídavných informácií”.

Môž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”.

Nie je možné kopírovať medzi úložiskami

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.

Ignorovanie súborov a adresárov

Obrázok 4.33. Kontextová ponuka prieskumníka pre bezverziové súbory

Kontextová ponuka prieskumníka pre bezverziové súbory


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 TortoiseSVNPridať do zoznamu ignorovaných 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 TortoiseSVNOdstrániť zo zoznamu ignorovaných 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.

Globálny zoznam ignorovaných

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

Ignorovanie verziových položiek

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

Zhodnosť vzorov v zoznamoch ignorovaných

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 .

V globálnom zozname ignorovaných nie sú žiadne cesty

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.

Odstránenie, presun a premenovanie

Subversion umožňuje premenovanie a presun súborov a priečinkov. V podponuke TortoiseSVN teda existujú položky ponuky na odstránenie a premenovanie.

Obrázok 4.34. Kontextová ponuka prieskumníka pre verziové súbory

Kontextová ponuka prieskumníka pre verziové súbory


Vymazanie súborov a priečinkov

Použite TortoiseSVNVymazať na odstránenie súborov, alebo priečinkov zo Subversion.

Keď použijete TortoiseSVNVymazať 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 prekrytia upravené. Až do vykonania zmeny môžete súbor získať späť použitím ponuky TortoiseSVNVrátiť v nadradenom priečinku.

Ak chcete vymazať položku z úložiska, ale ponechať ju lokálne ako bezverziový súbor/priečinok, použite Rozšírenú kontextovú ponukuOdstrániť (zachovať lokálne). Musíte pridržať 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.

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 TortoiseSVNVymazať, aby Subversion nemusel hádať, čo vlastne chcete robiť.

Získanie vymazaného súboru alebo priečinka späť

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 TortoiseSVNVrátiť 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 kontextovú ponukuKopírovať do... Ako cieľ tejto operácie kopírovania vyberte cestu k svojej pracovnej kópii.

Presun súborov a priečinkov

Ak chcete jednoducho premenovať súbor alebo priečinok na mieste, použite kontextovú ponukuPremenovať... 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:

  1. vyberte súbory alebo priečinky, ktoré chcete presunúť

  2. ťahajte so stlačeným pravým tlačidlom na nové miesto vo vnútri pracovnej kópie

  3. uvoľnite pravé tlačidlo myši

  4. vo vyskakovacej ponuke zvoľte kontextovú ponukuSVN Presunúť verziové súbory sem

Odovzdať nadradený priečinok

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 kontexovú ponukuKopírovať 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 TortoiseSVNPrilepiť. Pre presun súborov vyberte kontextovú ponukuVystrihnúť namiesto kontextovej ponukyKopírovať.

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

Nepremiestňovať externé súbory SVN

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.

Prejednanie konfliktov veľkosti písma názvov súborov

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.

Zabránenie vzniku dvoch súborov s rovnakým názvom

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.

Oprava premenovania súborov

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 kontextovú ponukuOpraviť presun spárujete tieto dva súbory ako premenované.

Vymazávanie bezverziových súborov

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ť Rozšírená kontextová ponukaOdstrániť bezverziové položky. Musíte pridržať 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ť.

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

Vrátiť zmeny

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 TortoiseSVNVrátiť. 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 OK.

Obrázok 4.35. Dialóg Vrátiť

Dialóg Vrátiť


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 TortoiseSVNSpäť pridanie...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.

Vrátenie zmien, ktoré boli odovzdané

Príkaz Vrátiť vráti iba lokálne zmeny. 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.

Návrat je pomalý

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.

Vyčistiť

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 TortoiseSVNVyčistiť. Je dobré to urobiť na najvyššej úrovni pracovnej kópie.

Obrázok 4.36. Dialóg Vyčistiť

Dialóg Vyčistiť


V dialógovom okne Vyčistiť sú aj ďalšie užitočné možnosti, ako dostať pracovnú kópiu do stavu čisté.

Vyčistiť stav pracovnej kópie

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.

Prelomiť zámky zápisu

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

Opraviť časové pečiatky

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.

Vysať nedotknuté kópie

Odstráni nepoužívané pôvodné kópie a skomprimuje všetky zostávajúce pôvodné kópie súborov pracovnej kópie.

Obnoviť prekrytie ikon prostredia Prieskumníka

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.

Zahrnúť externé

Ak je toto zaškrtnuté, akcie sa vykonajú aj pre všetky súbory a priečinky zahrnuté vo vlastnosti svn:externals.

Odstrániť bezverziové súbory a priečinky, Odstrániť ignorované súbory a priečinky

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 TortoiseSVNVrátiť. Tam tiež získate zoznam všetkých bezverziových súborov a priečinkov pre výber na odstránenie.

Vrátiť rekurzívne všetky zmeny

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 TortoiseSVNVrátiť, pretože tam môžete najskôr vidieť a vybrať súbory na vrátenie.

Nastavenia Projektu

Vlastnosti Subversion

Obrázok 4.37. Stránka vlastností Subversion

Stránka vlastností Subversion


Vlastnosti Subversion môžete čítať a nastavovať z dialógového okna Vlastnosti systému Windows, ale aj z okna TortoiseSVNVlastnosti a v zoznamoch stavu TortoiseSVN z kontextovej ponuky Vlastnosti.

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

svn:keywords

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ú:

$Date$

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.

$Revision$

Revízia posledného známeho odovzdania.

$Author$

Autor, ktorý urobil posledné známe odovzdanie.

$HeadURL$

Úplná adresa URL tohto súboru v úložisku.

$Id$

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.

Pridávanie a úprava vlastností

Obrázok 4.38. Pridávanie vlastností

Pridávanie vlastností


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ľtePokročilé z ponuky Nová.... Potom buď vyberte existujúcu vlastnosť v rozvinovacom poli alebo zadajte názov vlastnej vlastnosti.

Ak chcete použiť vlastnosť na viac položiek naraz, vyberte v prehľadávači súbory alebo priečinky a potom vyberte kontextovú ponukuVlastnosti .

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

Ak chcete odstrániť existujúcu vlastnosť, vyberte ju zo zoznamu existujúcich vlastností a potom kliknite na Odstrániť .

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

Upraviť vlastnosti pri revízii HEAD

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.

Export a import vlastností

Č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 TortoiseSVNVlastnosti, vyberte vlastnosti, ktoré chcete exportovať a kliknite na Export.... 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 TortoiseSVNVlastnosti a kliknite na Import.... 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 Upraviť..., zaškrtnite políčko Použiť vlastnosť rekurzívne a kliknite na OK .

Formá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ť.

Binárne vlastnosti

TortoiseSVN dokáže spracovať hodnoty binárnych vlastností použitím súborov. Ak chcete načítať hodnotu binárnej vlastnosti, kliknite na Uložiť... 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 Načítať... 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.

Automatické nastavenie vlastnosti

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.

Odovzdanie vlastností

Vlastnosti Subversion sú verziové. Po zmene alebo pridaní vlastnosti musíte zmeny odovzdať.

Konflikty vlastností

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.

Vlastnosti projektu TortoiseSVN

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ú

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

    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.

    Obrázok 4.39. Dialógové okno vlastností pre skripty háku

    Dialógové okno vlastností pre skripty háku


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

    bool

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

Nastavenia vlastnosti projektu v priečinkoch

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.

Obmedzenia použitím prehliadača úložiska

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.

Výstraha

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

Editory vlastností

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.

Externý obsah

Obrázok 4.40. Stránka vlastnosti svn:externals

Stránka vlastnosti svn:externals


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 Hľadať HEAD revíziu 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.

Kľúčové slová SVN

Obrázok 4.41. Stránka vlastnosti svn:keywords

Stránka vlastnosti svn:keywords


Vyberte kľúčové slová, ktoré chcete rozšíriť do svojho súboru.

Štýl EOL

Obrázok 4.42. Stránka vlastnosti svn:eol-style

Stránka vlastnosti svn:eol-style


Vyberte štýl konca riadku, ktorý chcete použiť a TortoiseSVN použije správnu hodnotu vlastnosti.

Integrácia sledovača problémov

Obrázok 4.43. Stránka vlastnosti tsvn:bugtraq

Stránka vlastnosti tsvn:bugtraq


Veľkosti správ záznamu

Obrázok 4.44. Stránka vlastnosti veľkosť správy záznamu

Stránka vlastnosti veľkosť správy záznamu


Tieto 3 vlastnosti riadia formátovanie správ záznamu. Prvé 2 deaktivujú OK 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.

Jazyk projektu

Obrázok 4.45. Stránka vlastnosti jazyka

Stránka vlastnosti jazyka


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.

Typ MIME

Obrázok 4.46. Stránka vlastnosti svn:mime-type

Stránka vlastnosti svn:mime-type


svn:needs-lock

Obrázok 4.47. Stránka vlastností svn:needs-lock

Stránka vlastností svn:needs-lock


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.

svn:executable

Obrázok 4.48. Stránka vlastnosti svn:executable

Stránka vlastnosti svn:executable


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.

Šablóny správ záznamu zlúčenia

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 Nedávne správy v dialógovom okne odovzdania.

Vygenerovanú správu môžete prispôsobiť použitím nasledujúcich vlastností:

Obrázok 4.49. Šablóny dialóg vlastností dialóg záznamu

Šablóny dialóg vlastností dialóg záznamu


tsvn:mergelogtemplatetitle, tsvn:mergelogtemplatereversetitle

Táto vlastnosť určuje prvú časť vygenerovanej správy záznamu. Môžu byť použité nasledujúce kľúčové slová:

{revisions}

Zoznam zlúčených revízií oddelený čiarkami, napr. 3, 5, 6, 7

{revisionsr}

Ako {revisions}, ale pri každej revízii predchádza znak r, napr. r3, r5, r6, r7

{revrange}

Zoznam zlúčených revízií oddelený čiarkami, podľa možnosti zoskupený do rozsahov, napr. 3, 5-7

{mergeurl}

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.

tsvn:mergelogtemplatemsg

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á:

{msg}

Správa záznamu zlúčenej revízie tak, ako bola zadaná.

{msgoneline}

Ako {msg}, ale všetky nové riadky sú nahradené medzerou pre zobrazenie celej správy záznamu v jednom riadku.

{author}

Autor zlúčenej revízie.

{rev}

Samotná zlúčená revízia.

{bugids}

ID chyby zlúčenej revízie, ak existuje.

tsvn:mergelogtemplatemsgtitlebottom

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.

Dôležité

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.

Externé položky

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

Externé priečinky

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 ponuku WindowsVlastnosti z kontextovej ponuky. Zobrazí sa dialógové okno Vlastnosti. Potom prejdite na kartu Subversion. Tam môžete nastaviť vlastnosti. Kliknite Vlastnosti .... V dialógovom okne vlastností dvakrát kliknite na svn:externals ak už existuje, alebo kliknite na tlačidlo Nová... a vyberte externé z ponuky. Ak chcete pridať nové externé zariadenie, kliknite na tlačidlo Nová... a potom vyplňte požadované informácie v zobrazenom dialógovom okne.

Výstraha

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.

Používanie explicitných čísel revízií

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.

Relatívne k nadradenému priečinku

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.

Relatívne k kmeňu úložiska

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.

Relatívne k schéme

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 .

Relatívne k názvu servera hostiteľa

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.

Dôležité

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

Externé súbory

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

Vytváranie externých súborov použitím funkcie Ťahaj a pusť

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: SVN Pridať ako externý sem 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.

Vetvenie / Označenie príznakom

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.

Vytvorenie vetvy / príznaku

Ak ste importovali svoj projekt s odporúčanou štruktúrou priečinkov, vytvorenie verzie pobočky alebo príznaku je veľmi jednoduché:

Obrázok 4.50. Dialóg vetvy/príznaku

Dialóg vetvy/príznaku


Vyberte priečinok vo svojej pracovnej kópii, ktorý chcete skopírovať do vetvy alebo príznaku a potom vyberte príkaz TortoiseSVNVetva/príznak....

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.

medziľahlé priečinky

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:

HEAD revízia v úložisku

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.

Konkrétna revízia v úložisku

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.

Pracovná kópia

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ópiePripnutá revízia
HEAD revízia v úložiskuHEAD revízie externého úložiska
Určená revízia v úložiskuHEAD revízie externého úložiska
Pracovná kópiaexterná revízia bázy pracovnej kópie


externé v rámci externých

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 OK pre odovzdanie novej kópie do úložiska. Nezabudnite uviesť správu záznamu. Upozorňujeme, že kópia je vytvorená vnútri úložiska.

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.

Iné spôsoby na vytvorenie vetvy alebo príznaku

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 vytvoriť vetvu/príznak z revízie....

Na overenie alebo na prepnutie...

...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, TortoiseSVNPrehodiť... 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:

  • TortoiseSVNOveriť 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 TortoiseSVNPrehodiť... z kontextovej ponuky.

    V nasledujúcom dialógovom okne zadajte adresu URL práve vytvorenej vetvy. Vyberte prepínač HEAD revízia kliknite na OK. 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 TortoiseSVNPrehodiť... to skopírujete do svojej novej vetvy.

Obrázok 4.51. Dialógové okno prehodenia

Dialógové okno prehodenia


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.

Zlúčenie

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 TortoiseSVNZlúčiť....

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.

Zlúčenie rozsahu revízií

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.

Zlúčiť dva odlišné stromy

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.

Zlúčenie rozsahu revízií

Obrázok 4.52. Sprievodca zlúčením - výber rozsahu revízií

Sprievodca zlúčením - výber rozsahu revízií


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.

Dôležité

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 Zobraziť záznam, 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átorom Shift). Kliknite na OK a naplní sa zoznam čísel revízií, ktoré sa majú zlúčiť.

Ak 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ť Zobraziť záznam 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 Ďalej a prejdite do “Možnosti zlúčenia” .

Zlúčenie dvoch rôznych stromov

Obrázok 4.53. Sprievodca zlúčením - Zlúčenie stromu

Sprievodca zlúčením - Zlúčenie stromu


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ť Zobraziť záznam na výber revízie.

Možnosti zlúčenia

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 Zlúčiť. Ak chcete zobraziť náhľad výsledkov Testovať zlúčenie simuluje operáciu zlúčenia, ale vôbec 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.

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

Kontrola výsledkov zlúčenia

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.

Tip

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 Nedávne správy 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.

Tip

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.

Dôležité

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.

Sledovanie zlučovania

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 .

Manipulácia s konfliktami po zlúčení

Dôležité

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.

Obrázok 4.54. Dialógové okno Zlúčiť konflikt

Dialógové okno 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ť.

Odložiť

Teraz sa konflikt nerieši. Nechajte zlúčenie pokračovať a konflikty vyriešte po dokončení zlúčenia.

Akceptovať základ

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.

Akceptovať prichádzajúce

Týmto sa zahodia všetky miestne zmeny a použije sa súbor, ktorý prichádza zo zdroja zlúčenia.

Odmietnuť prichádzajúce

Týmto sa zahodia všetky zmeny zo zdroja zlúčenia a ponechá sa súbor s miestnymi úpravami.

Akceptovať prichádzajúce konflikty

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.

Odmietnuť konflikty

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čiť ako vyriešené

Označí konflikty ako vyriešené. Toto tlačidlo je deaktivované, kým ho nepoužijete tlačidlo Upraviť, aby ste konflikt upravili manuálne a uložili tieto zmeny späť do súboru. Po uložení zmien sa tlačidlo aktivuje.

Upraviť

Spustí editor zlúčenia, aby ste mohli konflikty vyriešiť manuálne. Nezabudnite súbor uložiť, preto tlačidlo Označiť ako vyriešené 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:

Obrázok 4.55. Dialógové okno Konflikt zlúčenia stromov

Dialógové okno Konflikt zlúčenia stromov


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 Odložiť pre neskoršie vyriešenie konfliktu.

Údržba funkcií vetvy

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 TortoiseSVNZlúčiť všetko... z rozšírenej kontextovej ponuky (pridržte stlačené tlačidlo Shift a kliknite pravým tlačidlom myši na súbor).

Obrázok 4.56. Dialóg Zlúčiť všetko

Dialóg Zlúčiť všetko


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.

Zamknutie

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.

Tri významy Zamknutia

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

Ako zamykanie funguje v Subversion

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.

Dôležité

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.

Získanie zámku

Vyberte súbory vo svojej pracovnej kópii, pre ktoré chcete získať zámok, a potom vyberte príkaz TortoiseSVNZískať zámok....

Obrázok 4.57. Dialóg Zamykanie

Dialóg Zamykanie


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

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 TortoiseSVNZískať zámok... dialógové okno uzamknutia otvorí 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...

Uvoľnenie zámku

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 TortoiseSVNUvoľniť zámok. 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.

Kontrola stavu zámku

Obrázok 4.58. Dialógové okno Kontrola zmien

Dialógové okno Kontrola zmien


Pre pozretie zabratia zámku vami alebo inými, môžete použiť TortoiseSVNKontrola úprav.... 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 Skontrolovať úložisko.

Z kontextovej ponuky môžete tiež získať a uvoľniť zámky, ako aj prelomiť a ukradnúť zámky držané inými.

Zabrániť prelomeniu a krádeži zámkov

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.

Vytváranie nezamknutých súborov iba na čítanie

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

Skripty háku Zamknutia

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

Vytváranie a aplikácia opravných záplat

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.

Tvorba súboru opravnej záplaty

Najprv musíte urobiť a otestovať vaše zmeny. Potom namiesto použitia TortoiseSVNOdovzdať... v nadradenom priečinku vyberiete TortoiseSVNVytvoriť opravnú záplatu...

Obrázok 4.59. Dialógové okno Vytvoriť opravnú záplatu

Dialógové okno Vytvoriť opravnú záplatu

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.

Tip

Neukladajte súbor opravnej záplaty s príponou .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.

Použitie súboru opravnej záplaty

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 TortoiseSVNPoužiť opravnú záplatu... Zobrazí sa dialógové okno na otvorenie súboru, ktoré vám umožní vybrať súbor opravnej záplaty, ktorý sa má použiť. Zobrazia sa iba predvolené .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 Otvoriť zo schránky.... Táto možnosť sa zobrazí, iba ak ste opravu uložili do schránky použitím TortoiseSVNVytvoriť opravnú záplatu.... 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ť TortoiseSVNPoužiť opravnú záplatu.... 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.

Kto zmenil ktorý riadok?

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 TortoiseSVNVyvodiť zodpovednosť..., 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ý.

Zodpovednosť za súbory

Obrázok 4.60. Dialóg poznámky/zdpovednosti

Dialóg poznámky/zdpovednosti


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

Obrázok 4.61. TortoiseBlame

TortoiseBlame


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 UpraviťHľadať.... 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 UpraviťPrejsť na riadok....

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. Kontextová ponukaZodpovednosť za predošlú revíziu 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. Kontextová ponukaZobraziť zmeny spustí váš prehliadač odlišnosí a zobrazí vám, čo sa zmenilo v referenčnej revízii. Kontextová ponukaZobraziť záznam 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 ZobraziťFarebný vek riadka. 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 ZobraziťCesty zlúčenia. 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 TortoiseSVNNastavenie... na karte TortoiseBlame. Odvolávka na časť “Nastavenia TortoiseBlame”.

Odlišnosti vyvodenia zodpovednosti

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

Revízie vyvodenia zodpovednosti

Na hornom paneli vyberte 2 revízie a potom vyberte kontextovú ponukuRevízie vyvodenie zodpovednosti. 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.

Zmeny vyvodenia zodpovednosti

Vyberte jednu revíziu na hornom paneli, potom vyberte jeden súbor na spodnom paneli a vyberte kontextovú ponukuZmeny vyvodenia zodpovednosti. 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.

Porovnať a vyvodiť zodpovednosť s pracovnou bázou

Zobrazte záznam pre jeden súbor a na hornom paneli vyberte jednu revíziu a potom vyberte kontextovú ponukuPorovnať a vyvodiť zodpovednosť s pracovnou bázou. 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.

Prehliadač úložiska

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.

Obrázok 4.62. Prehliadač úložiska

Prehliadač ú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ť kontextovú ponukuZobraziť záznam... 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ť kontextovú ponukuSkopírovať chybové hlásenie do schránky, alebo jednoducho použiť Ctrl+C.

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 kontextovú ponukuPridať do záložiek. Kliknutím na záložku prejdete do daného úložiska a súboru/priečinka.

Graf revízií

Obrázok 4.63. Graf revízií

Graf revízií


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ť TortoiseSVNGraf revízií...

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

Dôležité

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.

Uzly grafu revízií

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 TortoiseSVNNastavenia

Pridané alebo skopírované položky

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

Zmazané položky

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

Premenované položky sa tiež zobrazujú pomocou osemuholníka, predvolená farba je však modrá.

Revízia vrcholov vetvy

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.

Revízia pracovnej kópie

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.

Upravená pracovná kópia

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.

Normálna položka

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

Zmena pohľadu

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.

Skupina vetiev

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

Najstaršie navrchu

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.

Zarovnajte stromy na vrch

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.

Zredukovať kríženie čiar

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

Odlišnosti názvov ciest

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.

Zobraziť všetky revízie

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.

Zobraziť HEAD revízie

To zaisťuje, že najnovšia revízia každej pobočky sa vždy zobrazí v grafe.

Presná kópia zdrojov

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.

Zahaliť KeUpozorSkrySkryje cesty, ktorAk ste vybrali moZahali potom sa bude naAk vyberiete moSkry potom tieto vetvy opSkrySkryje vetvy, v ktortejto jej ZobraziOznaZobraziAk vaF5 na zachytenie poslednFiltrovaGraf revAk skryjete konkrOdstr.PAk graf obsahuje niekoZobraziZobraz

Použitie grafu

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 kontextovú ponukuPorovnať revízie zobrazí sa vám zoznam zmenených súborov. 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í.

Ak kliknite pravým tlačidlom myši na revíziu môžete použiť kontextovú ponukuZobraziť záznam 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.

Naučte sa čítať graf revízií

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.

Obnova pohľadu

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.

Orezávanie stromov

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

Export pracovnej kópie Subversion

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 TortoiseSVNExport.... S exportom z adresy URL a exportom z pracovnej kópie sa zaobchádza trochu inak.

Obrázok 4.64. Dialógové okno Export z URL

Dialógové okno Export z URL


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 kontextovú ponukuExport. Dostanete dialógové okno Exportovať z adresy URL popísané vyššie.

Ak 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 Kontextová ponukaSVN Exportovať verziové položky sem alebo Kontextová ponukaSVN Exportovať všetky položky sem alebo Kontextová ponukaSVN Exportovať zmenené položky sem. 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).

Export jednotlivých súborov

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.

Export zmien stromu

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.

Odstránenie pracovnej kópie zo správy verzií

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.

Premiestnenie pracovnej kópie

Obrázok 4.65. Dialógové okno premiestnenia

Dialógové okno premiestnenia


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, TortoiseSVNPremiestniť 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.

Poznámka

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.

Varovanie

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 TortoiseSVNPrepnúť.... Pre viac informácií si prečítajte časť “Na overenie alebo na prepnutie...”.

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.

Integrácia so systémami sledovania chýb/sledovačmi problémov

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:

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

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

Pridávanie čísla problémov do správ záznamu

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

Obrázok 4.66. Dialógové okno Vlastnosti Bugtraq (sledovania chýb)

Dialógové okno Vlastnosti Bugtraq (sledovania chýb)


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ú:

bugtraq:url

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.

bugtraq:warnifnoissue

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.

Číslo problému v textovom poli

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.

bugtraq:message

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.

bugtraq:label

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.

bugtraq:number

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.

bugtraq:append

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.

Číslo problému použitím regulárnych výrazov

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.

bugtraq:logregex

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

Tip

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.

Nastavenie vlastnosti v priečinkoch

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.

Žiadne informácie o sledovači problémov z prehliadača úložiska

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

Získavanie informácií z nástroja na sledovanie problémov

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.

Obrázok 4.67. Príklad dialógového okna sledovania problémov

Príklad dialógového okna sledovania problémov


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.

Integrácia s prehliadačmi úložiska založených na webe

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

webviewer:revision

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 Kontextová ponukaZobraziť revíziu vo web prehliadači.

webviewer:pathrevision

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 Kontextová ponukaZobraziť revíziu cesty vo web prehliadači. 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”.

Nastavenie vlastnosti v priečinkoch

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.

Obmedzenia použitím prehliadača úložiska

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.

TortoiseSVN Nastavenia

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.

Všeobecné nastavenia

Obrázok 4.68. Dialógové okno Nastavenia, Všeobecná stránka

Dialógové okno Nastavenia, Všeobecná stránka


Toto dialógové okno umožňuje určiť preferovaný jazyk a nastavenia špecifické pre Subversion.

Jazyk

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.

Skontrolovať akutalizácie

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 Skontrolovať hneď ak chcete okamžitú odpoveď. Nová verzia sa nestiahne; jednoducho okienko s informáciou, že je k dispozícii nová verzia.

Systémové zvuky

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úť). Konfigurovať je odkaz na Ovládací panel.

Použiť Aero dialógy

V systémoch Windows Vista a novších sa toto určuje, či dialógové okná používajú štýl Aero.

Vytvoriť knižnicu

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

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.

Výstraha

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 Upraviť 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”.

Nastaviť dátum súborov na čas posledného odovzdania

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.

Konfiguračný súbor Subversion

Použite tlačidlo Upraviť pre priamu úpravu konfiguračného súboru Subversion. Niektoré nastavenia nemôže TortoiseSVN upravovať priamo a je potrebné ich namiesto toho vykonať tu. Pre viac informácií o súbore 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.

Použitie miestnych úprav na svn:externals pri aktualizácii

Táto voľba povie TortoiseSVN, aby vždy použil miestne úpravy vlastnosti svn:externals pri aktualizácii pracovnej kópie.

Nastavenia Kontextová ponuka

Obrázok 4.69. Dialógové okno Nastavenia, stránka kontextovej ponuky

Dialógové okno Nastavenia, stránka kontextovej ponuky


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.

Nastavenia TortoiseSVN Dialógové okno 1

Obrázok 4.70. Dialógové okno Nastavenia, Dialógy stránka 1

Dialógové okno Nastavenia, Dialógy stránka 1


Toto dialógové okno umožňuje konfigurovať niektoré dialógové okná TortoiseSVN tak, ako sa vám páčia.

Prednastavený počet správ záznamu

Obmedzuje počet správ záznamu, ktoré TortoiseSVN načíta pri prvom výbere TortoiseSVNZobraziť záznam. Užitočné pre pomalé pripojenie k serveru. Vždy môžete použiť Ukázať všetko alebo Ďalších 100, aby ste získali viac správ.

Písmo správ záznamu

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.

Krátky formát dátumu/času v správach záznamu

Ak štandardné dlhé správy zaberajú na obrazovke príliš veľa miesta, použite krátky formát.

Možnosť dvojkliku v zozname záznamu pre porovnanie s predošlou revíziou

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

Automatické zatváranie

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

Vždy zavrieť dialógové okná po lokálnych operáciách

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.

Pri vrátení použiť odpadkový kôš

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.

Použiť adresu URL pracovnej kópie ako predvolenú Z: URL

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.

Predvolená cesta overenia

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.

Predvolená adresa URL overenia

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.

Nastavenia TortoiseSVN Dialógové okno 2

Obrázok 4.71. Dialógové okno Nastavenia, strana Dialógy 2

Dialógové okno Nastavenia, strana Dialógy 2


Rekurzívne vnútri bezverziových priečinkoch

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.

Použiť automatické dopĺňanie ciest súborov a kľúčových slov

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.

Časový limit v sekundách na zastavenie analýzy automatického dokončovania

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

Kontrolu pravopisu používajte iba vtedy, keď je nastavená vlastnosť 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.

Max. počet položiek pre uchovanie v pamäti záznamu

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.

Automatický výber položiek

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.

Po odovzdaní znova otvoriť dialógové okno, ak zostanú neodovzdané položky

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.

Pri spustení kontaktovať úložisko

Dialógové okno Skontrolovať zmeny štandardne kontroluje pracovnú kópiu a kontaktuje úložisko iba po kliknutí na Skontrolovať úložisko. Ak chcete vždy skontrolovať úložisko, pooužitím tohto nastavenia môžete vykonať túto akciu automaticky.

Zobraziť Dialógové okno zamykania pred zamknutím súborov

Keď vyberiete jeden alebo viac súborov a potom použijete TortoiseSVNZamknúť 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 TortoiseSVN Dialógové okno 3

Obrázok 4.72. Dialógové okno Nastavenia, stránka Dialógové okno 3

Dialógové okno Nastavenia, stránka Dialógové okno 3


Nastavenia prehliadača úložiska:

Predbežné načítanie priečinkov pre rýchlejšie prehliadanie

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.

Zobraziť externé

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.

V2

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.

V3

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.

Nastavenia farieb TortoiseSVN

Obrázok 4.73. Dialógové okno Nastavenia, stránka Farby

Dialógové okno Nastavenia, stránka Farby


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.

možné alebo skutočné konflikty / prekážky

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é súbory

Pridané položky do úložiska.

chýbajúce / odstránené / nahradené

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.

zlúčené

Zmeny úložiska po úspešnom zlúčení do pracovnej kópie bez vytvorenia akýchkoľvek konfliktov.

zmenené / skopírované

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.

Odstránený uzol

Položka, ktorá bola odstránená z úložiska.

Pridaný uzol

Položka, ktorá bola pridaná do úložiska operáciou pridania, kopírovania alebo presunu.

Premenovaný uzol

Položka, ktorá bola v úložisku premenovaná.

Nahradený uzol

Pôvodná položka bola odstránená a nahradila ju nová položka s rovnakým názvom.

Prispôsobené filtrom

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:

Tmavý motív

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.

Dôležité

Upozorňujeme, že nie všetky ovládacie prvky vo všetkých dialógových oknách sú zobrazené v tmavej téme.

Nastavenia grafu revizií

Obrázok 4.74. Dialógové okno Nastavenia, stránka Graf revízií

Dialógové okno Nastavenia, stránka Graf revízií


Klasifikačné vzory

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.

Zistenie príznaku odovzdania

Upozorňujeme, že tieto vzory sa tiež používajú na zisťovanie príznaku odovzdania, nielen pre graf revízií.

Upraviť farby

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.

Farby grafu revízií

Obrázok 4.75. Dialógové okno Nastavenia, stránka Farby grafu revízií

Dialógové okno Nastavenia, stránka Farby grafu revízií


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.

Odstránený uzol

Položky, ktoré boli odstránené a neboli skopírované nikde inde v rovnakej revízii.

Pridaný uzol

Položky novo pridané alebo skopírované (pridané históriou).

Premenovaný uzol

Položky odstránené z jedného miesta a pridané na iné v rovnakej revízii.

Upravený uzol

Jednoduché úpravy bez nutnosti pridávať alebo odstrániť.

Nezmenený uzol

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

HEAD uzol

Aktuálna HEAD revízia v úložisku.

Uzol pracovnej kópie

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.

Okraj uzla pracovnej kópie

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 príznakov

Uzly klasifikované ako príznaky môžu byť zmiešané s touto farbou.

Uzly kmeňa

Uzly klasifikované ako kmeň môžu mať primiešanú túto farbu.

Skladané značky príznakov

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.

Značky vybraného uzla

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.

Pruhy

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.

Nastavenie Prekrytie ikon

Obrázok 4.76. Dialógové okno Nastavenia, stránka Prekrytie ikon

Dialógové okno Nastavenia, stránka Prekrytie ikon


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:

Predvolené

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

Prostredie

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.

Žiadne

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

Vylúčiť disky 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.

Výber sústavy ikon

Obrázok 4.77. Dialógové okno Nastavenia, stránka Sústava ikon

Dialógové okno Nastavenia, stránka Sústava ikon


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.

Povolené manipulátory prekrytia

Obrázok 4.78. Dialógové okno Nastavenia, stránka Manipulátory ikon

Dialógové okno Nastavenia, stránka Manipulátory ikon


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.

Nastavenie siete

Obrázok 4.79. Dialógové okno Nastavenia, stránka Sieť

Dialógové okno Nastavenia, stránka Sieť


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 Upraviť. 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 Prehľadávať 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.

Nastavenie Externé programy

Obrázok 4.80. Dialógové okno Nastavenia, stránka Prehliadač odlišností

Dialógové okno Nastavenia, stránka Prehliadač odlišností


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.

Prehliadač odlišností

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

%base

Pôvodný súbor bez vašich zmien

%bname

Názov okna pre základný súbor

%nqbname

Názov okna pre základný súbor, bez úvodzoviek

%mine

Váš vlastný súbor, s vašimi zmenami

%yname

Názov okna pre váš súbor

%nqyname

Názov okna pre váš súbor, bez úvodzoviek

%burl

URL pôvodného súboru, ak je k dispozícii

%nqburl

URL pôvodného súboru, ak je k dispozícii, bez úvodzoviek

%yurl

URL druhého súboru, ak je k dispozícii

%nqyurl

URL druhého súboru, ak je k dispozícii, bez úvodzoviek

%brev

Revízia pôvodného súboru, ak je k dispozícii

%nqbrev

Revízia pôvodného súboru, ak je k dispozícii, bez úvodzoviek

%yrev

Revízia druhého súboru, ak je k dispozícii

%nqyrev

Revízia druhého súboru, ak je k dispozícii, bez úvodzoviek

%peg

Zavesená revízia, ak je k dispozícii

%nqpeg

Zavesená revízia, ak je k dispozícii, bez úvodzoviek

%fname

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.

%nqfname

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. Kontextová ponukaPorovnať odlišnosti používa primárny nástroj na porovnanie odlišností Shift + Kontextová ponukaPorovnať odlišnosti 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.

Nástroj na zlúčenie

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í

%base

pôvodný súbor bez vašich alebo ostatných zmien

%bname

Názov okna pre základný súbor

%nqbname

Názov okna pre základný súbor, bez úvodzoviek

%mine

váš vlastný súbor, s vašimi zmenami

%yname

Názov okna pre váš súbor

%nqyname

Názov okna pre váš súbor, bez úvodzoviek

%theirs

súbor, aký je v úložisku

%tname

názov okna pre súbor v úložisku

%nqtname

názov okna pre súbor v úložisku bez úvodzoviek

%merged

konfliktný súbor, výsledok operácie zlúčenia

%mname

názov okna pre zlúčený súbor

%nqmname

názov okna pre zlúčený súbor bez úvodzoviek

%fname

názov konfliktného súboru

%nqfname

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
       

Pokročilé nastavenia porovnania odlišností/zlúčenia

Obrázok 4.81. Dialógové okno Nastavenia, dialóg Pokročilé porovnanie odlišností/zlúčenie

Dialógové okno Nastavenia, dialóg Pokročilé porovnanie odlišností/zlúčenie


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 .

Nastavenia Uložené údaje

Obrázok 4.82. Dialógové okno Nastavenia, stránka Uložené údaje

Dialógové okno Nastavenia, stránka Uložené údaje


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.

História adries URL

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.

Správy záznamu (vstupný dialóg)

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

Správy záznamu (dialógové okno Zobraziť záznamu)

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.

Veľkosť a poloha dialógových okien

Mnoho dialógov si pamätá veľkosť a pozíciu obrazovky, ktoré ste naposledy použili.

Autentifikačné údaje

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 Zmazať... namiesto Zmazať všetko.

Záznam akcií

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

Uchovanie záznamu

Obrázok 4.83. Dialógové okno Nastavenia, stránka Uchovanie záznamov

Dialógové okno Nastavenia, stránka Uchovanie záznamov


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.

uchovanie z

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.

Povoliť nejednoznačné adresy URL

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.

Povoliť nejednoznačné UUID

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 úložisko nie je možné kontaktovať

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.

Časový limit pred aktualizáciou HEAD revízie

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

Dni bez aktivity do odstránenia malých zásobníkov

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.

Maximálna veľkosť odstráneného neaktívneho 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.

Maximálny počet zlyhaní nástroja pred odstránením zásobníka

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.

Uchované úložiská

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 Aktualizovať 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 Export 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 Odstrániť 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.

Štatistiky zásobníka záznamu

Obrázok 4.84. Dialógové okno Nastavenia, Štatistika zásobníka záznamu

Dialógové okno Nastavenia, Štatistika zásobníka záznamu


Kliknite na tlačidlo Detaily 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é.

RAM

Množstvo pamäte požadovanej na obsluhu tohto zásobníka.

Disk

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

Pripojenie

Ukazuje, či bolo naposledy dostupné úložisko, keď bol použitý zásobník.

Posledná aktualizácia

Posledná zmena obsahu zásobníka.

Posledná HEAD aktualizácia

Kedy sme naposledy od servera požadovali revíziu HEAD.

Authori

Počet rôznych autorov so správami zaznamenanými v zásobníku.

Cesty

Počet uvedených ciest, ako by ste videli použitím svn log -v .

Vynechať rozsahy

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.

Maximálna revízia

Najvyššie číslo revízie uložené v zásobníku.

Počet revízií

Počet revízií uložených v zásobníku. Toto je ďalšia miera úplnosti zásobníka.

Skripty hákov na strane klienta

Obrázok 4.85. Dialógové okno Nastavenia, stránka Skripty hákov

Dialógové okno Nastavenia, stránka Skripty hákov


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

Obrázok 4.86. Dialógové okno Nastavenia, Konfigurácia skriptov háku

Dialógové okno Nastavenia, Konfigurácia skriptov háku


Ak chcete pridať nový skript, jednoducho kliknite na ikonu Pridať a vyplňte podrobnosti.

V súčasnosti sú k dispozícii tieto typy skriptov háku

Zahájenie odovzdania

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

Ručné predbežné odovzdanie

Ak je to zadané, v dialógovom okne odovzdania sa zobrazí tlačidlo Spustiť hák, 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á.

Kontrola odovzdania

Volaný po kliknutí užívateľa na OK 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.

Pred odovzdaním

Volaný po kliknutí používateľa na OK v dialógovom okne odovzdania a pred začiatkom skutočného odovzdania. Tento hák obsahuje zoznam presne tých, ktoré budú odovzdané.

Po odovzdaní

Volaný po úspešnom dokončení odovzdania.

Začiatok aktualizácie

Volaný pred zobrazením dialógového okna aktualizácie na revíziu.

Pred aktualizáciou

Volaný pred začatím súčasnej aktualizácie Subversion alebo preklopenia.

Po aktualizácii

Volaný po dokončení aktualizácie, zmeny alebo overenia (či už úspešnej alebo nie).

Pred pripojením

Volaný pred pokusom o kontaktovanie úložiska. Volaný najviac raz za päť minút.

Pred zamknutím

Volaný pred pokusom o uzamknutie súboru.

Po zamknutí

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í:

Zahájenie odovzdania

PATHMESSAGEFILECWD

Ručné predbežné odovzdanie

PATHMESSAGEFILECWD

Kontrola odovzdania

PATHMESSAGEFILECWD

Pred odovzdaním

PATHDEPTHMESSAGEFILECWD

Po odovzdaní

PATHDEPTHMESSAGEFILEREVISIONERRORCWD

Začiatok aktualizácie

PATHCWD

Pred aktualizáciou

PATHDEPTHREVISIONCWD

Po aktualizácii

PATHDEPTHREVISIONERRORCWDRESULTPATH

Pred pripojením

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

Pred zamknutím

PATHLOCKFORCEMESSAGEFILECWD

Po zamknutí

PATHLOCKFORCEMESSAGEFILEERRORCWD

Význam každého z týchto parametrov je popísaný tu:

PATH

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.

DEPTH

Hĺbka odovzdania/aktualizácie.

Možné hodnoty sú:

-2

svn_depth_unknown

-1

svn_depth_exclude

0

svn_depth_empty

1

svn_depth_files

2

svn_depth_immediates

3

svn_depth_infinity

MESSAGEFILE

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

REVISION

Revízia úložiska, do ktorej by sa mala vykonať aktualizácia, alebo po dokončení odovzdania.

LOCK

Buď true pri zamykaní, alebo false pri odomykaní.

FORCE

Buď true alebo false, podľa toho, či bola operácia vynútená alebo nie.

ERROR

Cesta k súboru obsahujúcemu chybové hlásenie. Ak nedošlo k žiadnej chybe, súbor bude prázdny.

CWD

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.

RESULTPATH

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.

The vynú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 Zopakovať bez hákov 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.

Integrácia sledovača problémov

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.

Obrázok 4.87. Dialógové okno Nastavenia, stránka Integrácia sledovača problémov

Dialógové okno Nastavenia, stránka Integrácia sledovača problémov


Kliknite na Pridať... 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.

bugtraq:provideruuid

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

bugtraq:provideruuid64

To je to isté ako bugtraq:provideruuid, ale pre 64-bitovú verziu IBugtraqProvider.

bugtraq:providerparams

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 TortoiseBlame

Obrázok 4.88. Dialógové okno Nastavenia, stránka TortoiseBlame

Dialógové okno Nastavenia, stránka TortoiseBlame


Nastavenia používané TortoiseBlame sa ovládajú z hlavnej kontextovej ponuky, nie priamo zo samotného TortoiseBlame.

Farby

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

Písmo

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.

Tabelátory

Definuje, koľko medzier sa má použiť na rozpätie, keď sa znak tabulátora nachádza v obsahu súboru.

Nastavenia TortoiseUDiff

Obrázok 4.89. Dialógové okno Nastavenia, stránka TortoiseUDiff

Dialógové okno Nastavenia, stránka TortoiseUDiff


Nastavenia, ktoré používa TortoiseUDiff, sa ovládajú z hlavnej kontextovej ponuky, nie priamo zo samotného TortoiseUDiff.

Farby

Predvolené farby používané TortoiseUDiff sú zvyčajne v poriadku, ale tu ich môžete nakonfigurovať.

Písmo

Môžete zvoliť písmo použité na zobrazenie textu a veľkosť bodu, ktorý sa má použiť.

Tabelátory

Definuje, koľko medzier sa má použiť na rozpätie, keď sa znak tabulátora nachádza v obsahu súboru odlišností.

Exportovanie nastavenia TSVN

Obrázok 4.90. Dialógové okno Nastavenia, stránka Synchronizácia

Dialógové okno Nastavenia, stránka Synchronizácia


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.

Pokročilé nastavenia

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

AllowAuthSave

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.

AllowUnversionedObstruction

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.

AlwaysExtendedMenu

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 .

AutoCompleteMinChars

Minimálne množstvo znakov, z ktorých editor zobrazí vyskakovacie okno automatického dokončovania. Predvolená hodnota je 3 .

AutocompleteRemovesExtensions

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 .

BlockPeggedExternals

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.

BlockStatus

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 .

CacheTrayIcon

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.

ColumnsEveryWhere

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.

ConfigDir

Tu môžete určiť iné umiestnenie pre konfiguračný súbor Subversion. To ovplyvní všetky operácie TortoiseSVN.

CtrlEnter

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 .

Debug

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.

DebugOutputString

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.

DialogTitles

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.

DiffBlamesWithTortoiseMerge

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 .

DlgStickySize

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.

FixCaseRenames

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 .

FullRowSelect

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 .

GroupTaskbarIconsPerRepo

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!

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

    Obrázok 4.91. Hlavný panel s predvoleným zoskupením

    Hlavný panel s predvoleným zoskupením


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

    Obrázok 4.92. Hlavný panel so zoskupením úložiska

    Hlavný panel so zoskupením úložiska


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

    Obrázok 4.93. Hlavný panel so zoskupením úložiska

    Hlavný panel so zoskupením úložiska


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

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

GroupTaskbarIconsPerRepoOverlay

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

Obrázok 4.94. Zoskupenie na hlavnom paneli s farbami prekrytia úložiska

Zoskupenie na hlavnom paneli s farbami prekrytia úložiska


HideExternalInfo

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.

HookCancelError

If this is set to true, then cancelling the dialog to approve a hook script to run will show an error dialog indicating the user cancelled.

IncludeExternals

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.

LogFindCopyFrom

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

LogMultiRevFormat

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:

%1!ld!
nahradí textom čísla revízie
%2!s!
nahradí krátkou správou o revízii
LogStatusCheck

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.

MaxHistoryComboItems

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.

MergeLogSeparator

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.

NumDiffWarning

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.

OldVersionCheck

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 .

RepoBrowserTrySVNParentPath

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 .

ScintillaBidirectional

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 .

ScintillaDirect2D

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 .

OutOfDateRetry

Tento parameter určuje, ako sa chová TortoiseSVN, ak odovzdanie zlyhá z dôvodu neaktuálnej chyby:

0

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

1

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

2

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.

3

Od používateľa sa nežiada aktualizácia pracovnej kópie. Odovzdanie jednoducho zlyhá s neaktuálnym chybovým hlásením.

PlaySound

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.

ShellMenuAccelerators

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 .

ShowContextMenuIcons

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 truena opätovné zobrazenie ikon.

ShowAppContextMenuIcons

Ak nechcete, aby TortoiseSVN vo vlastných dialógových oknách zobrazoval ikony pre kontextové ponuky, nastavte túto hodnotu na false .

ShowNotifications

Nastavte túto hodnotu na false ak nechcete, aby monitor projektu zobrazoval vyskakovacie okná s upozornením, keď sa zistia nové odovzdania.

StyleCommitMessages

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 .

UpdateCheckURL

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.

UseCustomWordBreak

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

VersionCheck

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.

Posledný krok

Kapitola 5. Monitor projektu

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.

Zavrčať

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.

Pridávanie projektov na sledovanie

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 Pridať projekt.

Obrázok 5.1. Dialógové okno úprav projektu na monitore projektu

Dialógové okno úprav projektu na monitore projektu


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.

interval kontroly

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:

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

Dialógové okno Monitor

Obrázok 5.2. Hlavné dialógové okno monitora projektu

Hlavné dialógové okno 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ý.

Hlavné operácie

Panel s nástrojmi v hornej časti dialógového okna umožňuje konfigurovať a pracovať s monitorom projektu.

Skontrolovať teraz

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.

Pridať projekt

Otvorí nové dialógové okno na nastavenie nového projektu pre monitorovanie.

Upraviť

Otvorí konfiguračné dialógové okno pre vybratý projekt.

Odstrániť

Odstráni vybraný projekt po zobrazení dialógového okna odovzdania.

Označiť všetko ako prečítané

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

Aktualizovať všetko

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.

Možnosti

Zobrazí dialógové okno na konfiguráciu správania monitora projektu.

Kapitola 6. Program SubWCRev

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.

Príkazový riadok SubWCRev

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

Dôležité

Vo vzoroch ignorovania sa rozlišujú veľké a malé písmená, rovnako ako v Subversion.

Tip

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
-nAk 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.
-NAk je zadaný tento prepínač, SubWCRev ukončí s ERRORLEVEL 11 ak pracovná kópia obsahuje bezverziové položky, ktoré nie sú ignorované.
-mAk 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.
-dAk je zadaný tento prepínač, SubWCRev ukončí s ERRORLEVEL 9 ak cieľový súbor už existuje.
-fAk 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.
-eAk 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.
-EAk 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.
-xAk je zadaný tento prepínač, SubWCRev vygeneruje čísla revízií v šestnástkovej sústave (HEX).
-XAk je zadaný tento prepínač, SubWCRev vygeneruje čísla revízií v šestnástkovej sústave (HEX), s predponou „0X“.
-FAk je zadaný tento prepínač, SubWCRev bude ignorovať akékoľvek súbory .subwcrevignore a zahrnie všetky súbory.
-qAk 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 chybyPopis
1Chyba syntaxe. Jeden alebo viac parametrov príkazového riadku je neplatných.
2Súbor alebo priečinok uvedený v príkazovom riadku sa nenašiel.
3Vstupný súbor nebolo možné otvoriť alebo sa nepodarilo vytvoriť cieľový súbor.
4Pamäť sa nepodarilo vyhradiť. To by sa mohlo stať, keby napr. zdrojový súbor je príliš veľký.
5Zdrojový súbor nie je možné správne skenovať.
6Chyba SVN: Subversion sa vrátil s chybou, keď sa SubWCRev pokúsil nájsť informácie z pracovnej kópie.
7Pracovná kópia má miestne úpravy. To si vyžaduje prepínač -n.
8Pracovná kópia má zmiešané revízie. To si vyžaduje prepínač -m.
9Výstupný súbor už existuje. To si vyžaduje prepínač -d.
10Zadaná cesta nie je pracovnou kópiou alebo časťou alebo časťou.
11Pracovná kópia obsahuje bezverziové súbory alebo priečinky. To si vyžaduje prepínač -N.


Nahradzovanie kľúčových slov

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é slovoPopis
$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$"
      

Tip

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

Príklad kľúčového slova

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

Tip

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.

COM rozhranie

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ódaPopis
.GetWCInfoTá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.
.GetWCInfo2Rovnaké ako GetWCInfo() ale so štvrtým parametrom, ktorý nastavuje ekvivalent k prepínaču príkazového riadku -E.
.RevisionNajvyššia odovzdaná revízia v pracovnej kópii. Zhodná s $WCREV$.
.DateDátum/čas odovzdania najvyššej odovzdanej revízie. Ekvivalent pre $WCDATE$.
.AuthorAutor najvyššej revízie odovzdania, to znamená, posledný človek, ktorý sa odovzdal zmeny v pracovnej kópii.
.MinRevMinimálna revízia aktualizácie, ako je uvedené v $WCRANGE$
.MaxRevMaximálna revízia aktualizácie, ako je uvedené v $WCRANGE$
.HasModificationsTrue, ak existujú miestne úpravy
.HasUnversionedTrue, ak existujú bezverziové položky
.UrlNahradené s URL úložiska cesty pracovnej kópie použitej v GetWCInfo. Ekvivalent $WCURL$.
.IsSvnItemTrue, ak je položka verziová.
.NeedsLockingTrue, ak má položka nastavenú vlastnosť svn:needs-lock.
.IsLockedTrue, ak je položka uzamknutá.
.LockCreationDateReťazec predstavujúci dátum, kedy bol zámok vytvorený, alebo prázdny reťazec, ak položka nie je uzamknutá.
.LockOwnerReťazec predstavujúci vlastníka zámku, alebo prázdny reťazec, ak položka nie je uzamknutá.
.LockCommentSprá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á");
}

Kapitola 7. Rozhranie IBugtraqProvider

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

Dôležité

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.

Konvencie pomenovania

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

Rozhranie IBugtraqProvider

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

Rozhranie IBugtraqProvider2

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.

Dodatok A. Často kladené otázky (FAQ)

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í:

Dodatok B. Ako na to...

Táto príloha obsahuje riešenia na problémy a otázky, ktoré môžete mať pri používaní TortoiseSVN.

Presunúť/kopírovať viacero súborov naraz

Presun/kopírovanie jednotlivých súborov je možné vykonať použitím TortoiseSVNPremenovať.... 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ť Kontextová ponukaSVN Skopírovať verziové súbory tu, alebo Kontextová ponukaSVN Presunúť verziové súbory tu.

Obrázok B.1. Kontextová ponuka pre presun súborov TortoiseSVN

Kontextová ponuka pre presun súborov TortoiseSVN


Donútiť užívateľov, aby zadali správu záznamu

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.

Skripty háku na serveri

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 OK deaktivované, kým nie je správa záznamu dostatočne dlhá, potom použite nižšie popísanú metódu.

Vlastnosti projektu

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

Aktualizovať vybrané súbory z úložiska

Za normálnych okolností svoju pracovnú kópiu aktualizujete použitím TortoiseSVNAktualizovať. 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 TortoiseSVNSkontrolovať zmeny a kliknite na Skontrolovať úložisko 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.

Vrátiť vzad (späť) revízie v úložisku

Použitím dialógového okna záznamu revízií

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

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

  2. Vyberte ponuku TortoiseSVNZobraziť denník na zobrazenie zoznamu revízií. Možno budete musieť použiť Ukázať všetko alebo Ďalších 100 na zobrazenie revízií, ktoré vás zaujímajú.

  3. 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 Kontextová ponukaVrátiť zmeny od tejto revízie.

  4. Alebo ak chcete vykonať staršiu revíziu ako novú, kliknite pravým tlačidlom myši na vybranú revíziu a potom vyberte Kontextová ponukaVrátiť sa k tejto revízii. 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.

Použitím dialógového okna zlúčenia

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

  1. V pracovnej kópii vyberte TortoiseSVNZlúčiť.

  2. V dialógovom okne Typ zlúčenia vyberte Zlúčiť celý rad revízií .

  3. Do poľa Z: zadajte úplnú adresu URL svojho priečinka pracovnej kópie. Toto by sa malo zobraziť ako predvolená adresa URL.

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

  5. Uistite sa, že zaškrtnuté políčko Spätné zlúčenie.

  6. V dialógovom okne Možnosti zlúčenia akceptujte predvolené hodnoty.

  7. Kliknite na Zlúčiť 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.

Použitím nástroja svndumpfilter

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.

Porovnať dve verzie súboru alebo priečinka

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ť TortoiseSVNZobraziť denník pre zoznam histórie revízií pre tento súbor. Vyberte dve revízie, ktoré chcete porovnať a potom použite Kontextová ponukaPorovnať revízie.

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ť Kontextová ponukaPorovnať revízie.

Ak chcete porovnať dva stromy a zistiť, čo sa zmenilo, napríklad kmeň stromu a označené vydanie, môžete použiť TortoiseSVNGraf revízií. Vyberte dva uzly, ktoré chcete porovnať a potom použite Kotextová ponukaPorovnať HEAD revízie. 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ť “Porovnávanie priečinkov”. Prípadne použite Kontextová ponukaZjednotené odlišnosti z HEAD revízií na zobrazenie súhrnu všetkých odlišností s minimálnym kontextom.

Zahrnúť spoločný podprojekt

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.

Použitím svn:externals

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.

Použitím vnorenej pracovnej kópie

Vytvorte vo svojom projekte nový priečinok, ktorý bude obsahovať spoločný kód, ale nepridávajte ho do Subversion.

Vyberte TortoiseSVNOveriť 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á.

Použitím relatívnej cesty

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.

Pridaním projektu do úložiska

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 Kontextová ponukaSVN Vetva dodávateľa tu. 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.

Vytvoriť skratku na úložisko

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.

Ignorovať súbory, ktoré sú už verziové

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ť TortoiseSVNVrátiť pridanie... 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. TortoiseSVNOdstrániť verziu a pridať do zoznamu ignorovaných 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.

Odstrániť verziu pracovnej kópie

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

Odstrániť pracovnú kópiu

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.

Dodatok C. Užitočné tipy pre správcov

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.

Nasadenie TortoiseSVN prostredníctvom skupinových politík

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 .

Presmerovať kontrolu aktualizácie

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.

Obrázok C.1. Dialógové okno odovzdania s upozornením na aktualizáciu

Dialógové okno odovzdania s upozornením na aktualizáciu

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.

Nastavenie systémovej premennej SVN_ASP_DOT_NET_HACK

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.

Dôležité

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!

Zakázať položky kontextovej ponuky

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

HodnotaPoložka ponuky
0x0000000000000001Overiť
0x0000000000000002Aktualizovať
0x0000000000000004Odovzdať
0x0000000000000008Pridať
0x0000000000000010Vrátiť
0x0000000000000020Vyčistiť
0x0000000000000040Vyriešiť
0x0000000000000080Prepínač
0x0000000000000100Import
0x0000000000000200Exportovať
0x0000000000000400Vytvoriť úložisko tu
0x0000000000000800Vetva/príznak
0x0000000000001000Zlúčiť
0x0000000000002000Odstrániť
0x0000000000004000Premenovať
0x0000000000008000Aktualizovať na revíziu
0x0000000000010000Porovnať odlišnosti
0x0000000000020000Zobraziť záznam
0x0000000000040000Upraviť konflikty
0x0000000000080000Premiestniť
0x0000000000100000Skontrolovať zmeny
0x0000000000200000Ignorovať
0x0000000000400000Prehliadač úložiska
0x0000000000800000Vyvodiť zodpovednosť
0x0000000001000000Vytvoriť opravnú záplatu
0x0000000002000000Použiť opravnú záplatu
0x0000000004000000Graf revízií
0x0000000008000000Zamknúť
0x0000000010000000Odstrániť zámok
0x0000000020000000Vlastnosti
0x0000000040000000Porovnanie odlišnosti s adresou URL
0x0000000080000000Vymazať bezverziové položky
0x0000000100000000Zlúčiť všetko
0x0000000200000000Porovnať s predošlou verziou
0x0000000400000000Prilepiť
0x0000000800000000Povýšiť pracovnú kópiu
0x0000001000000000Porovnanie odlišnosti neskôr
0x0000002000000000Porovnať odlišnosti s 'názovsúboru'
0x0000004000000000Zjednotené odlišnosti
0x2000000000000000Nastavenia
0x4000000000000000Pomoc
0x8000000000000000O 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.

Dodatok D. Automatizácia TortoiseSVN

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

Dôležité

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.

Príkazy TortoiseSVN

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 OK. 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íkazPopis
:aboutZobrazuje 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 /path určuje súbor alebo priečinok, pre ktorý by sa mal záznam zobraziť. Je možné nastaviť ďalšie možnosti:

  • /startrev:xxx,

  • /endrev:xxx,

  • /limit:xxx obmedzuje počet načítaných správ

  • /strict> povolí zaškrtávacie políčko „Zastaviť pri kopírovaní“,

  • /merge povolí zaškrtávacie políčko „Zahrnúť zlúčené revízie“,

  • /datemin:"{datestring}" nastavuje počiatočný dátum filtra a

  • /datemax:"{datestring}" nastavuje dátum ukončenia filtra. Formát dátumu je rovnaký ako formát dátumov svn.

  • /findstring:"filterstring" vyplní text filtra,

  • /findtext prinúti filter použiť text, nie regulárny výraz alebo

  • /findregex prinúti filter používať regulárny výraz, nie jednoduché textové vyhľadávanie, a

  • /findtype:X pričom X je číslo od 0 do 511. Čísla sú súčtom nasledujúcich možností:

    • /findtype:0 filtrovať podľa všetkého

    • /findtype:1 filtrovať podľa správ

    • /findtype:2 filtrovať podľa cesty

    • /findtype:4 filtrovať podľa správ

    • /findtype:8 filtrovať podľa revízií

    • /findtype:16 nepoužité

    • /findtype:32 filtrovať podľa ID chyby

    • /findtype:64 nepoužité

    • /findtype:128 filtrovať podľa dátumu

    • /findtype:256 filtrovať podľa rozsahu dátumov

  • Ak je zadaná cesta /outfile:cesta\k\súboru, vybrané revízie sa zapíšu do tohto súboru, keď sa uzavrie dialógové okno záznamu. Revízie sa zapisujú v rovnakom formáte, aký sa používa na zadanie revízií v dialógovom okne zlúčenia.

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

  • {2006-02-17}

  • {15:30}

  • {15:30:00.200000}

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

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

  • {2006-02-17T15:30}

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

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

  • {20060217T1530}

  • {20060217T1530Z}

  • {20060217T1530-0500}

:checkout

Otvára dialógové okno overenia. Parameter /path určuje cieľový adresár a /url určuje adresu URL, z ktorej sa má uskutočniť overenie. Ak zadáte kľúč /blockpathadjustments, automatické úpravy cesty overenia sú blokované. Parameter /revision:XXX určuje revíziu, ktorú môžete overiť.

Ak zadáte /outfile:"cesta/ku/súboru" zadaný súbor bude po overení obsahovať tri riadky. Prvý riadok je cesta overenia, druhý riadok adresa URL a tretí revízia.

:importOtvorí 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.
:updateAktualizuje 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í.
:commitOtvorí 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".
:addPridá súbory do /path na správu verzií.
:revertVráti miestne úpravy pracovnej kópie. Parameter /path hovorí, ktoré položky sa majú vrátiť.
:cleanupVyč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.
:resolveOznačí 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ť.
:repocreateVytvorí úložisko v /path
:switchOtvorí dialógové okno prepínača. /path určuje cieľový priečinok a /url adresu URL, na ktorú sa chcete prepnúť.
:exportExportuje 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é.
:dropexportExportuje 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.
:dropvendorSkopí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.
:mergeOtvorí 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.
:mergeallOtvorí dialógové okno zlúčiť všetko. /path určuje cieľový priečinok.
:copyVyvolá 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.
:settingsOtvorí dialógové okno nastavenia.
:removeOdstráni súbory v priečinku /path zo správy verzií.
:renamePremenuje 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.
:diffSpustí 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.
:shelveOdloží 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ú.
:unshelveAplikuje 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ť unified), dialógové okno so zoznamom súborov, ktoré sa zmenili, alebo ak adresy URL odkazujú na súbory, spustí sa prehliadač odlišností pre tieto dva súbory.

Možnosti url1, url2, revision1 a revision2 musia byť určené. Možnosti pegrevision, ignoreancestry, blame a unified sú voliteľné.

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

Ak sa požaduje 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.

:conflicteditorSpustí editor konfliktov zadaný v nastaveniach TortoiseSVN so korigovanými súbormi pre konfliktný súbor v /path.
:relocateOtvorí dialóg premiestnenia. /path udáva cestu pracovnej kópie na premiestnenie.
:helpOtvorí súbor pomocníka.
:repostatusOtvá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 /path alebo /path odkazuje priamo na URL.

Ďalšia možnosť /rev:xxx môže byť použitá na určenie revízie, ktorú by mal prehliadač úložiska zobraziť. Ak je vynechaný parameter /rev:xxx, predvolene má hodnotu HEAD.

Ak /path odkazuje na URL, /projectpropertiespath:cesta/do/pracovnejkopie určuje cestu, odkiaľ sa majú čítať a používať vlastnosti projektu.

Ak je zadaný /outfile:cesta\ku\súboru, vybraná adresa URL a revízia sa zapíšu do tohto súboru, pri zatvorení prehliadača úložiska. Prvý riadok v tomto textovom súbore obsahuje adresu URL, druhý riadok revíziu v textovom formáte.

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

Ak sú nastavené možnosti /startrev a /endrev, potom sa dialógové okno s požiadavkou na rozsah zuodpovednosti nezobrazí, ale namiesto nich sa použijú hodnoty revízií týchto možností.

Ak je nastavená možnosť /line:nnn, otvorí sa TortoiseBlame so zobrazeným zadaným číslom riadku.

Podporované sú aj možnosti /ignoreeol, /ignorespaces a /ignoreallspaces.

:catUloží 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.
:createpatchVytvorí 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 /path> .

Ak chcete vytvoriť súbor obrázka grafu revízie pre konkrétnu cestu, ale bez zobrazenia okna grafu, musíte pridať /output:path spolu s cestou k výstupnému súboru. Výstupný súbor musí mať príponu, do ktorej môže byť graf revízie skutočne exportovaný. Sú to: .svg, .wmf, .png, .jpg, .bmp a .gif.

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 /options:XXXX, kde XXXX je desatinná hodnota. Najlepším spôsobom, ako nájsť požadované možnosti, je spustiť graf revízií obvyklým spôsobom, nastaviť všetky možnosti užívateľského rozhrania a graf zavrieť. Potom možnosti, ktoré musíte odovzdať v príkazovom riadku, je možné prečítať z registra HKCU\Software\TortoiseSVN\RevisionGraphOptions.

:lockZamkne 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.
:unlockOdomkne súbor alebo všetky súbory v priečinku uvedenom v priečinku /path.
:rebuildiconcacheZnovu 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 /path .

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 /path> je adresa URL a je zadané /rev:XXX.

Ak chcete otvoriť dialógové okno vlastností priamo pre konkrétnu vlastnosť, zadajte názov vlastnosti ako /property:name.

: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 /path, potom je použité uloženie alebo načítanie nastavení z tejto cesty.

Parameter /askforpath zobrazí dialógové okno otvorenia/uloženia súboru, aby si užívateľ mohol zvoliť cestu exportu/importu.

Ak nie je určený ani jeden z parametrov /load ani /save, potom TortoiseSVN určí, či sa majú nastavenia exportovať alebo importovať podľa toho, ktoré sú novšie. Ak je exportovaný súbor novší ako aktuálne nastavenie, nastavenia sa načítajú zo súboru. Ak sú aktuálne nastavenia novšie, nastavenia sa exportujú do súboru s nastaveniami.

Ak je určený parameter /load, nastavenia sa importujú zo súboru nastavení.

Ak je určený parameter /save, aktuálne nastavenia sa exportujú do súboru nastavení.

Parameter /local vynúti export nastavení tak, aby zahŕňal miestne nastavenia, t. j. nastavenia, ktoré odkazujú na miestne cesty.


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

Obslužná rutina adresy URL Tsvncmd

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>

Príkazy TortoiseIDiff

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ľbaPopis
:leftCesta k súboru zobrazenému vľavo.
:lefttitleReťazec názvu. Tento reťazec sa používa v názve zobrazenia obrázka namiesto celej cesty k súboru s obrázkom.
:rightCesta k súboru zobrazenému vpravo.
:righttitleReťazec názvu. Tento reťazec sa používa v názve zobrazenia obrázka namiesto celej cesty k súboru s obrázkom.
:overlayAk je zadané, nástroj na porovnanie odlišností obrázkov sa prepne do režimu prekrytia (alfa zmiešavanie).
:fitAk je zadané, nástroj na porovnanie odlišností obrázkov zapadá do obidvoch obrázkov.
:showinfoZobrazuje 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

Príkazy TortoiseUDiff

Prehliadač zjednotených rozdielov má iba dve možnosti príkazového riadku:

Tabuľka D.3. Zoznam dostupných možností

VoľbaPopis
:patchfileCesta k súboru porovnania zjednotených odlišností.
:pAktivuje 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

Dodatok E. Krížový odkaz na rozhranie príkazového riadku

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.

Poznámka

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

Konvencia a základné pravidlá

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.

Dôležité

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.

Príkazy TortoiseSVN

Overiť

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.

Aktualizovať

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

Aktualizovať na revíziu

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.

Odovzdať

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.

Porovnať odlišnosti

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.

Zobraziť záznam

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.

Skontrolovať zmeny

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 Skontrolovať úložisko potom sa tiež skontroluje úložisko, aby sa zistilo, ktoré súbory by sa zmenili pri aktualizácii, čo vyžaduje prepí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í

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.

Prehliadač úložiska

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.

Upraviť konflikty

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

Vyriešené

svn resolved CESTA
      

Premenovať

svn rename SÚČASNÁ_CESTA NOVÁ_CESTA
      

Odstrániť

svn delete CESTA
      

Vrátiť

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

Vyčistiť

svn cleanup CESTA
      

Získať zámok

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.

Uvoľniť zámok

svn unlock CESTA
      

Vetva/príznak

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:

  • HEAD revízia v úložisku
  • Určená revízia v úložisku
  • Pracovná kópia

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.

Prepínač

svn info URL_pracovnej_kópie
svn switch [-r rev] URL CESTA
      

Zlúčiť

svn merge [--dry-run] --force Z_URL@revN Do_URL@revM CESTA
      

Testovať zlúčenie vykonáva rovnaké zlúčenie s prepínačom --dry-run.

svn diff Z_URL@revN Do_URL@revM
      

Zjednotené odlišnosti zobrazia operáciu porovnania odlišností, ktorá sa použije na zlúčenie.

Exportovať

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.

Premiestniť

svn switch --relocate Z_URL Do_URL
      

Vytvoriť úložisko tu

svnadmin create --fs-type fsfs CESTA
      

Pridať

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

Import

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.

Vyvodiť zodpovednosť

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

Pridať do zoznamu ignorovaných

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.

Vytvoriť opravnú záplatu

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.

Použiť opravnú záplatu

Aplikácia opráv je zložitá záležitosť, pokiaľ nie sú oprava a pracovná kópia v rovnakej revízii. Našťastie pre vás môžete použiť TortoiseMerge, ktorý nemá v Subversion žiadny priamy ekvivalent.

Dodatok F. Implementačné detaily

Táto príloha obsahuje podrobnejšiu diskusiu o implementácii niektorých funkcií TortoiseSVN.

Prekrytie ikon

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.

Dodatok G. Jazykové balíčky a kontrola pravopisu

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

Jazykové balíčky

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.

Kontrola pravopisu

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

  1. Skontrolujte nastavenia tsvn:projectlanguage. Pre viac informácií si pozrite časť “Nastavenia Projektu” o nastavení vlastností projektu.

  2. Ak nie je nastavený žiadny projektový jazyk alebo tento jazyk nie je nainštalovaný, vyskúšajte jazyk zodpovedajúci miestnemu miestu Windows.

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

  4. Ak nič z vyššie uvedeného nefunguje, predvoleným jazykom je angličtina, ktorá je súčasťou štandardnej inštalácie.

Slovník

Pridať

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.

Základná revízia

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.

Vyvodiť zodpovednosť

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.

Vetva

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 .

Overiť

Príkaz Subversion, ktorý vytvorí lokálnu pracovnú kópiu v prázdnom priečinku stiahnutím verziových súborov z úložiska.

Vyčistiť

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.

Odovzdať

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.

Konflikt

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.

Kopírovať

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.

Odstrániť

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.

Porovnať odlišnosti

Skratka pre Zobraziť odlišnosti. Veľmi užitočné, keď chcete presne vidieť, aké zmeny boli urobené.

Exportovať

Tento príkaz vytvorí kópiu verziového priečinka, rovnako ako pracovná kópia, ale bez lokálnych .svn priečinkov.

FSFS

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.

GPO

Objekt skupinovej politiky.

HEAD revízia

Posledná revízia súboru alebo priečinka v úložisku .

Import

Príkaz Subversion na import celej hierarchie priečinkov do úložiska v jednej revízii.

Zamknúť

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

Záznam

Zobrazí istóriu revízií súboru alebo priečinka. Taktiež známy ako história.

História

Zobraziť históriu revízií súboru alebo priečinka. Taktiež známy ako záznam .

Zlúčiť

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.

Opravná záplata

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.

Vlastnosť

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.

Premiestniť

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

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

Vyriešiť

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.

Vrátiť

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.

Revízia

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.

Vlastnosť revízie (revprop)

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

SVN

Často používaná skratka pre Subversion.

Názov vlastného protokolu Subversion, ktorý používa server úložiska svnserve.

Prepínač

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.

Aktualizovať

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.

Pracovná kópia

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

Zoznam

C

Cesty UNC, Lokálny prístup do úložiska
číslo verzie v súboroch,
CLI,
COM, ,

D

Disky SUBST, Nastavenie Prekrytie ikon
dočasné súbory, Import
dodávateľské projekty, Zahrnúť spoločný podprojekt

I

iba na čítanie, Zamknutie
IBugtraqProvider,
ignorovať, Ignorovanie súborov a adresárov
ikony, Prekrytie ikon
import, Import údajov do úložiska
import na miesto, Import na miesto
inštalovať, Inštalácia

J

jazykové balíčky, Jazykové balíčky

K

klient príkazového riadka,
kľúčové slová, svn:keywords
Kniha Subversion,
konflikt, Riešenie Kopírovať-Upraviť-Zlúčiť, Riešenie konfliktov
konflikt stromu, Riešenie konfliktov
konflikty zlúčenia, Manipulácia s konfliktami po zlúčení
kontextová ponuka, Kontextové ponuky
kontrola aktualizácie, Presmerovať kontrolu aktualizácie
kontrola pravopisu, Kontrola pravopisu
kopírovať, Vetvenie / Označenie príznakom, Prehliadač úložiska
kopírovať súbory, Kopírovanie/presúvanie/premenovanie súborov a priečinkov

M

manipulátor ťahania, Ťahaj a pusť
maximalizovať, Maximalizácia okien
Microsoft Word, Porovnanie odlišností kancelárskych dokumentov
monitor odovdania,
monitor projektu,
monitorovacie projekty,
msi, Nasadenie TortoiseSVN prostredníctvom skupinových politík

P

pochvala, Kto zmenil ktorý riadok?
položky kontextovej ponuky, Zakázať položky kontextovej ponuky
porovnanie odlišností, Prezeranie odlišností
porovnanie odlišností obrázkov, Porovnanie odlišností obrázkov použitím TortoiseIDiff
porovnať, Prezeranie odlišností
porovnať priečinky, Porovnať dve verzie súboru alebo priečinka
porovnať revízie, Porovnávanie priečinkov
porovnať súbory, Porovnať dve verzie súboru alebo priečinka
poznámka, Kto zmenil ktorý riadok?
pracovná kópia, Pracovné kópie
pravý klik, Kontextové ponuky
prázdna správa, Donútiť užívateľov, aby zadali správu záznamu
prehliadač servera, Prehliadač úložiska
prehliadač úložiska, Prehliadač úložiska, Integrácia s prehliadačmi úložiska založených na webe
prehodiť, Na overenie alebo na prepnutie...
preklady, Jazykové balíčky
prekrytia, Prekrytie ikon, Prekrytie ikon
premenovať, Presun súborov a priečinkov, Prehliadač úložiska, Presunúť/kopírovať viacero súborov naraz
premenovať súbory, Kopírovanie/presúvanie/premenovanie súborov a priečinkov
premiestniť, Premiestnenie pracovnej kópie
presunúť, Presun súborov a priečinkov
presunúť súbory, Kopírovanie/presúvanie/premenovanie súborov a priečinkov
presunutý server, Premiestnenie pracovnej kópie
presúvanie, Presunúť/kopírovať viacero súborov naraz
pridať, Pridávanie nových súborov a priečinkov
pridať súbory do úložiska, Import údajov do úložiska
prieskumník, Funkcie TortoiseSVN
príkazový riadok, Príkazy TortoiseSVN, Príkazy TortoiseIDiff, Príkazy TortoiseUDiff
priorita prekrytia, Prekrytie ikon
Prístup, Lokálny prístup do úložiska
príznak, Kopírovanie/presúvanie/premenovanie súborov a priečinkov, Vetvenie / Označenie príznakom
Prostredie Windows, Funkcie TortoiseSVN
proxy server, Nastavenie siete

R

radič domény, Nasadenie TortoiseSVN prostredníctvom skupinových politík
registre, Pokročilé nastavenia
reorganizovať, Presunúť/kopírovať viacero súborov naraz
revízia, Revízie, Graf revízií
revprops, Zmena záznamu a autora
Rozhranie COM SubWCRev, COM rozhranie
rozšírenie,
rozšíriť kľúčové slová, svn:keywords