Manuals

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.

TortoiseSVN homepage