6. Nastavení parametrů

Settings dialog

Nástroj Settings se používá pro konfiguraci jak TortoiseHg, tak Mercurialu, protože TortoiseHg je vlastně uživatelská obálka programu Mercurial.

Mercurial ve Windows má tři konfigurační úrovně.

  1. Nastavení pro počítač v souboru C:\Program Files\TortoiseHg\Mercurial.ini Tento soubor je čten jako první a má nejnižší prioritu.
  2. Nastavení pro uživatele v souboru C:\Documents and Settings\username\mercurial.ini Tento soubor je čten jako druhý a může přepsat parametry nastavení pro počítač.
  3. Nastavení pro repozitář v souboru repozitórium\.hg\hgrc. Tento soubor je čten jako poslední a má tudíž nejvyšší prioritu.

Nastavení pro počítač může být přepsáno při aktualizaci programu, takže se doporučuje provádět změny jen v souborech ..username\mercurial.ini a/nebo .hg\hgrc. V TortoiseHg je toto doporučení posíleno tím, že se používají jen dvě úrovně nastavení:

Globální nastavení uživatele
edituje nastavení pro uživatele ..username\mercurial.ini
Nastavení repozitáře
edituje nastavení pro repozitář .hg/hgrc

Mezi těmito režimy lze přepínat výběrovými tlačítky vlevo nahoře v kartě Settings.

Většina uživatelů TortoiseHg si všechny nastavitelné parametry uloží v globálním nastavení a soubor hgrc v repozitáři použije pro uložení cest (aliasy pro vzdálené repozitáře) a konfiguraci webu. Vězme, že soubory pro tato nastavení neexistují dříve, než poprvé použijeme dialog Nastavení.

6.1. Karty

Nástroj pro konfiguraci programu se skládá z přehledně uspořádaných karet.

Každá karta přibližně odpovídá jedné sekci vašeho konfiguračního souboru Mercurial.ini. Některé sekce však byly kvůli přehlednosti rozděleny do více karet.

Všechny karty kromě Extenze, Nástroje, Hooks mají stejný formát - sloupec nastavitelných parametrů s rozbalovacími seznamy možných hodnot. Názvy parametrů jsou doplněny skrytými popisy parametru a jeho možných hodnot. Popis aktuálně editovaného parametru se rovněž objeví v textovém rámečku dole.

Podrobnější informaci o nastavitelných parametrech nalezneme na stránkách wiki pro Mercurial, kromě těch karet, které jsou specifické pro TortoiseHg: TortoiseHg, Commit, Changelog.

6.1.1. TortoiseHg

Jazyk aplikace
Jazyk pro kontrolu pravopisu. Není-li určeno, použije se systémový jazyk. Například: en, en_GB, en_US.
Nástroj pro sloučení:
Grafický program pro řešení konfliktů při slučování. Pokud není určen, vybere Mercurial první použitelný nástroj, který nalezne v našem systému, nebo použije vlastní nástroj, který konflikty jenom označí. Tuto poslední možnost lze přikázat výběrem internal:merge. Volba:guilabel:internal:prompt vždy vybere lokální nástroj a volba guilabel:internal:dump ponechá soubory v pracovním adresáři pro ruční sloučení.
Nástroj Visual Diff:
Určit externí program pro porovnávání diffů (příkaz extdiff)
CLI editor:
Editor, který Mercurial použije pro více řádkový vstup od uživatele, což jsou zejména zprávy komitů.
Terminál:

Vybrat příkaz ke spuštění oblíbené konzoly. Pokud hodnota obsahuje řetězec %(reponame)s, bude za něj dosazen název repozitáře. Podobně %(root)s bude obsahovat úplnou cestu k repozitáři (potřebný restart).

Implicitně ve Windows:
cmd.exe /K title %(reponame)s
Implicitně v OS X:
neurčeno
Implicitně v ostatních:
xterm -T "%(reponame)s"
Následné operace:
Mezerami vymezený seznam operací konzoly, které se mají okamžitě provést bez součinnosti uživatele. Příkazy jsou „add remove revert forget“. Implicitně: None (leave blank)
Šířka ouška karty:
Určit počet míst na která se roztáhnou ouška karet v různých oknech TortoiseHg. Implicitně je ‚neurčeno‘.
Zobrazit karty:
Zobrazit repozitář v kartě, i když je jediný. Implicitně je False.
Sledovat změny repozitáře:
Určit kategorii souborů, u kterých TortoiseHg monitoruje změny. Implicitně je vždy.
Max velikost diffu:
Maximální velikost souboru (v KB) pro zobrazení změn v oknech pro changelog, status a commit. Nulová hodnota je pro nastavení bez limitu. Implicitně je 1024 (1MB).
Rozdělit GUI:
Při spuštění příkazu z příkazového řádku spustit proces na pozadí pro zobrazení grafických dialogů.
Název úplné cesty:
Zobrazit celou cestu k adresáři repozitáře v záhlaví okna místo pouhého jména adresáře. Implicitně je False.
Automatické sloučení:
Určuje, zda se má TortoiseHg pokusit automaticky řešit změny z obou stran téhož souboru a hlásit slučovací konflikty jen tehdy, pokud to není možné. Při nastavení False jsou všechny soubory s oboustrannými změnami hlášeny jako konfliktní i když jde o změny v různých místech souboru. V každém případě je při výskytu konfliktu uživatel vyzván aby prohlédl a řešil změny manuelně. Implicitně je True.
Nový skelet repozitáře:
Je-li určeno, jsou soubory v adresáři (např. .hgignore) kopírovány do nově vytvořeného adresáře.

6.1.2. Verpánek

Jediné okno Verpánku:
Není-li tato volba povolena, otevře se nový Verpánek pokaždé, když z kontextového menu vyberete „Hg Verpánek“.
Počáteční widget:
Nastavený widget se ukáže při otevření repozitáře. Implicitně: revdetails
Počáteční revize:
Uvedená revize bude vybrána při otevření repozitáře. Můžete vybrat „current“ (to jest rodiče pracovního adresáře), aktuální „tip“ nebo pracovní adresář (workingdir). Implicitně: current
Otevřít nové karty vedle stávajících:
Při volbě False se nová karta otevře za poslední otevřenou kartou.
Zabarvení podle autora:
Zabarvení changesetů podle jména autora. Není-li umožněno, jsou změny zabarveny zeleně pro sloučení, červeně pro netriviální rodiče a černě pro běžné případy. Implicitně je False.
Celé jméno autora:
Není-li povoleno, zobrazí se ve zkrácené verzi.
Poloha úkonových karet:
Orientace lišty (east, west, off) s oušky úkonových karet. Při volbě off nejsou ouška zobrazena.
Pořadí úloh úkonové lišty:
Výpisem názvů lze určit počet a pořadí nástrojů lišty. Platné názvy jsou: log | commit | grep | pbranch } sync.
Dlouhý souhrn:
Zadáno-li true, spojují se řádky zpráv až do délky 80 znaků. Implicitně je False
Počet načtených revizí:
Počet současně zobrazitelných changesetů v protokolu.
Mrtvé větve:
Seznam čárkami oddělených jmen větví, které mají být ignorovány při sestavování seznamu jmen větví pro repozitář. Implicitní nastavení je None.
Barvy větví:
Seznam mezerami oddělených jmen větví a barev ve formě ‚branch:#XXXXXX‘. Mezery a dvojtečky ve jménu větve musí být předznamenány zpětnými lomítky (\). Podobně mohou být předznamenány i některé další znaky, např. \u0040 bude dekódováno na znak @ a \n na ‚linefeed‘. Implicitní nastavení je None.
Skrýt tagy:
Seznam mezerami oddělených tagů, které se nebudou zobrazovat. Užitečný příklad: zadejte ‚qbase qparent qtip‘ pro skrytí standardních tagů, vkládaných extenzí MQ. Implicitní nastavení je None.
Aktivovat záložky:

Nastavením auto, prompt, never se ovlivní aktivace záložek při aktualizaci k revizi, která má jednu či více záložek.

auto :
Pokusit se automaticky aktivovat záložky. Při aktualizaci k revizi s jedinou záložkou je aktivována tato záložka. Při více záložkách je nabídnut výběrový prompt.
prompt :
Implicitní nastavení. Zobrazit prompt při aktualizaci k revizi s jednou či více záložkami.
never :
Nikdy žádný prompt pro aktivaci záložky neukazovat.
Zobrazit rodinnou linii:

Zobrazit nepřímou závislost revize na grafu při filtrování revsetem - true, false, neurčeno; implicitně true.

Poznámka

Počítání rodinné linie může být v některých případech pomalé. Očekává se, že tato volba bude odstraněna po vyřešení problému s výkonem.

6.1.3. Commit

Jméno uživatele:
Jméno spojené s komity.
Požadovat jméno uživatele:
Požádat o jméno uživatele, nebylo-li dosud zadáno. Implicitní nastavení je False.
Délka souhrnného řádku:
Požadovaná délka řádku průvodní zprávy komitu. Tato délka je vyznačena svislou červenou čarou. Příkaz CTRL-E přeformátuje aktuální odstavec na nastavenou délku. Implicitně: 80
Po komitu zavřít
Ukončit proceduru commit po každém úspěšném komitu. Implicitní nastavení je False.
Push po komitu:
Aplikace se pokusí poslat (push) revizi k nastavenému repozitáři po každém úspěšném komitu. Implicitně je No push.
Seznam auto-include:
Čárkami vymezený seznam souborů, které jsou automaticky vloženy do každého komitu. Zamýšleno pouze jako nastavení repozitáře. Implicitní nastavení je None.
Seznam auto-exclude:
Čárkami rozdělený seznam souborů, které jsou automaticky vypuštěny z výběru při otevření dialogů status, commit a shelve. Implicitní nastavení je None.
Průvodní texty anglicky
Generovat anglickou zprávu, i když jsou proměnné prostředí LANGUAGE nebo LANG nastaveny na neanglický jazyk. Toto nastavení je používáno procedurami Merge, Tag a Backout. Implicitní nastavení je False.
Fáze nových komitů:
Lze zadat vlastnost public, draft, secret
Oprávky MQ-secret:
Určit fázi oprávek MQ-secret místo draft. Implicitně je False.
Ověřit fázi subrepozitáře:
Ověřit fázi aktuální revize každého subrepozitáře Pro jiná nastavení než „ignore“ se toto ověření provádí před komitem v rodičovském repozitáři. Implicitně je follow.
Monitorovat změny pracovního adresáře:

Určit frekvenci opětovného načítání (refresh) stavového výpisu pracovního adresáře - auto, allways, allwayslocal:

auto : default
TortoisHg rozhodne, kdy zčerství (refresh) status pracovního adresáře. Učiní tak pokaždé, když provede akci, která by mohla potenciálně změnit pracovní adresář. To může vynechat všechny změny, ke kterým dojde mimo kontrolu TortoiseHg;
always :
kromě výše uvedených automatických aktualizací ještě obnovit (refresh) seznam stavů při každém kliknutí na revizi pracovního adresáře nabo na ikonu „Commit“ v liště úkonů;
alwayslocal :
totéž jako při always avšak omezuje vynucená „osvěžení“ na lokální repozitáře.
Potvrdit přidání neznámých souborů:
Určuje, zda má TortoiseHg zobrazit konfirmační dialog před přidáním nových souborů při komitu. Zadáno-li False, vybrané nové soubory budou přidány do komitu bez potvrzovacího dialogu. Implictně: True
Potvrdit mazání souborů:
Určuje, zda má TortoiseHg zobrazit konfirmační dialog před odebráním souborů při komitu. Implicitně: True

6.1.4. Synchronizace

Operace po akci pull
Operace, které se provedou přímo po úspěšném provedení akce pull. Hodnota ‚update‘ odpovídá pull –update, ‚fetch‘ je extenze fetch, ‚rebase‘ odpovídá pull –rebase. Implicitní nastavení je None.
Připojit k push:

Výběr revizí (all, branch, revision), které se implicitně vyberou pro akci Push.

all :
Implicitní nastavení. Poslat (push) všechny změny ve všech větvích.
branch :
Pušit všechny změny v aktuální větvi.
revision :
Poslat změny aktuální větve až po aktuální revizi.
Potvrdit push:
Určuje, zda má TortoiseHg zobrazit konfirmační dialog před odesláním změn. Implicitně True.
Výběrové kombo:
Nastavuje režim zobrazování výběrové roletky v synchronizační liště (auto, always, neurčeno). Roletka obsahuje výpis vzdálených repozitářů. Při výběru auto se kombo zobrazí, je-li zadán více než jeden cíl.
SSH Command:
Příkaz se použije při spojení přes SSH

6.1.5. Server

Detaily repozitáře:

Název:
Název repozitáře pro použití ve webovém rozhraní. Implicitní hodnota je název pracovního adresáře.
Kódování:
Kódování souborů v repozitáři, použité ve webovém rozhraní a v aplikaci TortoiseHg.
Publikující repozitář:
Kontroluje chování fáze „draft“ při práci jako server. Je-li nastaveno „true“, odesílané changesety jsou zařazeny jako „public“ u klienta i serveru; stažené (pulled) či klonované changesety jsou zařazeny jako „public“ u klienta. Imlicitně: True

Webový server:

Popis:
Popis účelu nebo obsahu repozitáře.
Kontakt:
Jméno nebo mailová adresa osoby zodpovědné za repozitář.
Styl:
Výběr šablony stylů
Formáty pro archivaci:
Seznam (CSV) archivovacích formátů pro načítání
Port:
Port, kterému má být nasloucháno.
Push vyžaduje SSL:
Zda požadovat přenos příchozího ‚push‘ přes SSL, aby se zabránilo ‚čenichání po heslu‘.
Pruhy:
Kolik řádků májí zabírat „pruhy zebry“ ve víceřádkovém výstupu. Implicitní nastavení je 1; hodnota 0 volbu znemožní.
Souborů maximálně:
Maximální počet souborů uváděných v jednom changesetu.
Změn maximálně:
Maximální počet změn uváděných v changelogu.
Povolit push:
Zda povolit vzdálený push do lokálního repozitáře. Není-li určeno, push není dovolen. Je-li zadána hodnota „*“, může push provést libovolný i neověřený uživatel. Vzdálení uživatelé musí jinak být ověřeni a jejich ověřená jména musí být přítomna v tomto seznamu (oddělená mezerou nebo „,“). Obsah seznamu allow_push je zkoumán po seznamu deny_push.
Odmítnout push:
Zda odmítnout vyslání do repozitáře. Není-li nic zadáno, ‚push‘ není odmítnuto. Je-li zadána hodnota „*“, mají ‚push‘ zamítnut všichni uživatelé, ověření či neověření. Případný seznam deny_push je zkoumán před seznamem allow_push.

6.1.6. Proxy

Hostitel:
Jméno hostitele a (nepovinné) port proxy serveru, například myproxy:8000.
Seznam pro bypass:
Nepovinné. CSV seznam jmen hostitelů, kteří mají obejít proxy server.
Uživatel:
Nepovinné. Jméno uživatele pro ověření u proxy serveru.
Heslo:
Nepovinné. Heslo pro ověření u proxy serveru.

6.1.7. Email

From:
Emailová adresa pro použití v záhlaví „From“ a pro obálku SMTP.
To:
CSV seznam adres příjemců emailu.
Cc:
CSV seznam adres příjemců kopie emailu.
Bcc:
CSV seznam skrytých adres příjemců kopie emailu.
Metoda:
Nepovinné. Použitá metoda při posílání emailových zpráv. Je-li hodnota „smtp“ (implicitní hodnota), použije se SMTP (konfigurace viz níže). Jinak se zadaná hodnota použije jako jméno programu, který působí jako ‚sendmail‘ (příjímá volbu -f pro odesílatele, seznam příjemců na příkazovém řádku, zprávu v stdin). Normálně pro posílání zpráv postačí nastavení sendmail nebo /usr/sbin/sendmail.
Hostitel SMTP:
Jméno hostitele mailového serveru.
Port SMTP:
Port pro připojení na mailovém serveru. Implicitní nastavení je 25.
SMTP TLS:
Určení povolené metody TLS pro připojení k mailovému
serveru. Implicitně: none
Uživatel SMTP:
Uživatelské jméno pro ověření u mailového serveru.
Heslo pro SMTP:
Heslo pro ověření u mailového serveru.
Lokální jméno hostitele:
Hostitelské jméno, které může odesílatel použít pro ověření u mailového serveru.

6.1.8. Diffy a anotace

Oprávka EOL:
Normalizovat ukončení řádků v souboru na lf nebo crlf během a po akci patch. Doporučené nastavení „auto“ provádí detekci po souborech. Implicitně: strict
Formát Git:
Použít rozšířený git formát záhlaví diffu. Implicitně je False.
Formát MQ Git
Nastaveno-li na ‚keep‘, použije mq konfiguraci sekce (diff), přičemž při qrefresh zachová existující oprávky (patches). Nastaveno-li ‚yes‘ nebo ‚no‘, mq potlačí sekci (diff) a vždy generuje gitové nebo regulerní oprávky, přičemž je ve druhém případě možná ztráta dat.
Žádná data:
Do záhlaví diffů nezahrnovat data modifikací. Implicitně je False.
Zobrazit funkci:
Ukázat funkci ve které je jednotlivá změna obsažena. Implicitně je False.
Ignorovat prázdná místa:
Ignorovat prázdná místa (WS) při porovnávání řádků. Implicitně je False.
Ignorovat množství WS:
Ignorovat změny v počtu prázdných míst v zobrazení diffu. Implicitně je False.
Ignorovat prázdné řádky:
Ignorovat změny, jejichž řádky jsou všechny prázdné. Implicitně je False.

6.1.9. Fonty

Font zprávy:
Font průvodních zpráv komitu. Implicitně: monospace 10
Font diffu:
Font pro zobrazení textových rozdílů. Implicitně: monospace 10.
Font seznamu:
Font použitý vseznamu souborů . Implicitně: sans 9.
Font přehledu revizí
Font použitý v přehledu revizí. Implicitně: monospace 10.
Font výstupu:
Font textu v panelu Output Log. Implicitně: sans 8.

6.1.10. Extenze

Aktivační seznam extenzí.

6.1.11. Nástroje

Prostředí pro konfiguraci vlastního ovládacího prvku a jeho zařazení do uživatelské nástrojové lišty.

6.1.12. Hooks

Prostředí pro připojení externích programů pro různé typy příkazů.

6.1.13. Sledování problémů

Regex problému
Definuje regex shody pro vyhledávání čísel problému.
Přípojení k problému
Definuje příkaz, spuštěný při rozpoznání čísla problému. Lze přidat skupiny v issue.regex a příslušné tokeny {n} v issue.link (kde „n“ je kladné celé číslo). Token {0} odkazuje na celý řetězec, shodující se podle issue.regex, zatímco {1} odkazuje ůna první skupinu a tak dále. Nejsou-li v issue.link nalezeny žádné tokeny {n}, je připojen celý shodný řetězec.
Úvodní tagy
Zobrazit tagy na počátku sdělení komitu.
Povinný odkaz na problém
Požadovat odkaz na problém při komitu. Je-li povoleno, musí regex, nastavený v „Issue Regex“, nalézt shodu ve zprávě komitu.
Issue Tracker Plugin
Konfiguruje pluginy COM pro sledování chyb.
Konfigurovat Issue Tracker
Konfiguroat vybraný plugin COM Bug Tracker.
Aktualizovat Issue Tracker

Určuje, kdy má být aktualizován stav IT. Platná nastavení jsou:

never :
Neaktualizovat stav IT automaticky.
commit :
Aktualizovat stav IT po úspěšném komitu.

Implicitně: never

Changeset Link

Šablona řetězce, která změní číslo revize a krátký hash z panelu revize na link. Tato šablona používá syntaxi Mercurialu, jež aktuálně přijímá dva výrazy:

{node|short} :
je nahrazen dvanácti ciferným ID revize ({node} samo o sobě není aktuálně podporováno).
{rev} :
je nahrazen číslem revize.

Například, pro připojení ke komitovým stránkám bitbucket můžete provést toto nastavení: https://bitbucket.org/tortoisehg/thg/commits/{node|short}

6.1.14. Review Board

Server
Cesta k příkladu pro RB: „http://demo.reviewboard.org
Uživatel
Jméno uživatele pro ověření přístupu na RB.
Heslo
Heslo pro ověření přístupu na RB.
ID repozitáře na serveru
Implicitní ID repozitáře na serveru RB
Cílové skupiny
Seznam čárkami oddělených cílových skupin
Cílové osoby
Seznam čárkami oddělených cílových osob

6.2. Klávesová navigace

Ctrl-Enter
Uplatnit změny a ukončit dialog; ekvivalent stisknutí tlačítka ‚OK‘.

6.3. Spuštění z příkazového řádku

Konfigurační dialog může být spuštěn z příkazového řádku

thg repoconfig

pro nastavení repozitáře (.hg/hgrc file) nebo

thg userconfig

pro uživatelskou konfiguraci (Mercurial.ini file).

Příkazy se zadávájí bez parametrů, kromě globálních voleb.