1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
Obecné vlastnosti
=================
.. module:: common.dialog
:synopsis: Common features to all the dialog
Jedním z běžně používaných termínů v této dokumentaci je slovo "diff", což není zkratka slova difference, ale označuje se jím standardizovaný způsob určení a zápisu změn - "unified diff".
Slovo "Visual Diff" (také VDiff) označuje nástroj pro porovnávání změn ve dvou nebo ve třech souborech. Ve druhém případě se hovoří o "třídílném porovnávání".
Klávesnicové zkratky
---------------------
Je nadefinováno několik klávesnicových zkratek, které jsou podporovány všemi nástroji TortoiseHg.
:kbd:`Ctrl-Q`
zavřít aplikaci včetně otevřených oken
:kbd:`Ctrl-W`
zavřít aktuální okno (totéž jako :kbd:`Ctrl-Q` je-li otevřeno jen jedno okno)
:kbd:`Ctrl-D`
zobrazit diff aktuálně vybraných souborů a revizí
:kbd:`Ctrl-Enter`
aktivace
:kbd:`F5`, :kbd:`Ctrl-R`
obnovit
V `Mac OS X <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_ se místo :kbd:`Ctrl` používá jako modifikátor klávesnice "apple".
Porovnání změn
--------------
.. figure:: figures/visual-diff.jpg
:alt: Visual Diff Window
Okno Vizuální diffy
V TortoiseHg 1.0 byla struktura Vizuálních diffů přepracována. Nový systém používá popisy v souboru :file:`mergetools.rc` k nalezení nejobvyklejších diffových nástrojů v počítači (včetně KDiff3, který je obsažen v instalačním programu) a k výběru nejvhodnějšího z nich.
Jestliže má uživatel zadaný nástroj pro slučování (:menuslelection: `TortoiseHg --> Nástroj pro sloučení`), je tento nástroj používán pro provádění vizuálních diffů bez výběrového procesu. Uživatel si ovšem může pro vizualizaci diffů vybrat odlišný nástroj (:menuselection: `TortoiseHg --> Nástroj Visual Diff`).
Konfigurační soubor :file:`mergetools.rc` obsahuje příkazové řádky pro každý nástroj, takže další konfigurace uživatelem není potřebná. Ten si buď vybere určitý nástroj, nebo přijme implicitní nastavení.
Vizuální diffový systém použije libovolnou existující konfiguraci, kterou nalezne. Protože až donedávna extdiff nepodporoval třídílné diffové argumenty, bude patrně nejlepší znemožnit nebo smazat všechny extdiffové konfigurace.
Systém pro vizuální diff použije přímo vybrané diffové nástroje, pokud prováděná akce nevyžaduje otevření okna VDiff. Může k tomu dojít za těchto podmínek:
1. Výběr porovnávaných souborů vyžaduje více nástrojů
2. Vybraný nástroj dělí odpojené procesy na pozadí
3. Vybraný nástroj nepodporuje požadovaný diff adresáře
4. Vybraný nástroj nepodporuje třídílné porovnávání
5. Změny obsahují přejmenování a kopie souborů
Při použití okna pro vizuální diff se po uzavření dialogu smažou dočasné soubory. Mělo by tedy toto okno zůstat otevřené dokud neuzavřeme všechny otevřené diffové nástroje. Je-li diffový nástroj spuštěn přímo, potom se dočasné soubory smažou při uzavření nástroje.
Je-li diffový nástroj spuštěn přimo k porovnání souboru pracovní kopie, můžeme jej editovat přímo v tomto nástroji. Porovnáváme-li více souborů, vytvoří si vizuálně diffový systém snímek souborů pracovní kopie a zaznamená jejich původní velikosti a časová razítka. Při uzavření diffového nástroje porovná systém velikosti a časové údaje a překopíruje upravené soubory zpět do původní pracovní kopie. Tímto způsobem můžeme upravovat soubory pracovní kopie uvnitř diffového nástroje i když provádíme porovnávání adresářů.
Je-li okno vizuálního diffu použito k porovnávání souborů pracovní kopie, toto porovnání se provádí soubor po souboru.
.. note::
Nastavitelná položka :menuselection:`TortoiseHg --> Skip Diff Windov` byla odstraněna kvůli nadbytečnosti.
Přidání nástrojů
~~~~~~~~~~~~~~~~
Máme-li nainstalovaný diffový nástroj, který není podporován aplikací TortoiseHg, můžeme vytvořit jeho konfiguraci v souboru :file:`Merurial.ini`. Viz `dokumentace Hg <http://www.selenic.com/mercurial/hgrc.5.html#merge-tools>`_. Poté přidáme extra klíče, které pro vizuální diff používá TortoiseHg::
diffargs: the arguments to use for two-way file comparisons
diff3args: the arguments to use for three-way file comparisons
dirdiff: this tool supports two-way directory comparisons
dir3diff: this tool supports three-way directory comparisons
Při sestavování argumentů pro příkazovový řádek můžeme použít následující proměnné::
$parent1: the file or directory from the first parent revision
$parent2: the file or directory from the second parent revision
$child: the file or directory from the revision being compared
$ancestor: the file or directory from the ancestor of a merge
$parent: a synonym for $parent1
$plabel1: a symbolic name for the first parent revision
$plabel2: a symbolic name for the second parent revision
$clabel: a symbolic name for the revision being compared
$alabel: a symbolic name for the ancestor revision
$parent2 a $ancestor mají ovšem smysl pouze tehdy, jsou-li použity jako argumenty třídílného diffu pro zobrazení changesetů sloučení. Nemůže-li náš diffový nástroj použít rozumným způsobem revizi předka, je bezpečnější vypustit jej z příkazového řádku pro diff3args.
.. note::
Ve Windows může parametr `executable` použít proměnné prostředí s použitím syntaxe ${ProgramFiles}
Pokud tuto konfiguraci neprovedeme, implicitní hodnota **diffargs** je '$parent $child'. Implicitní hodnota **diffargs3** je "", což naznačuje, že vizuální diffový nástroj nemůže provádět třídílná srovnání.
Vytvoříte-li novou konfiguraci nástroje pro vizuální diff nebo vylepšíte-li stávající, pošlete prosím mail našemu vývojovému oddělení pro možné zahrnutí do přístího vydání programu.
Diffy slov
~~~~~~~~~~
Instalační program TortoiseHg pro Windows nyní obsahuje skripty aplikace TortoiseSVN pro porovnávání (a někdy sloučení) dokumentů v mnoha binárních formátech. Tyto jsou nastaveny v souboru :file:`mergepatterns.rc` jako ovladače pro obvyklé extenze souborů každého binárního formátu, takže není zapotřebí zásahu uživatele.
Pro podporu výběru nástrojů, vycházejícího z přípony souboru, přidal TortoiseHg podporu pro sekci **[diff-patterns]**, která je ekvivalentní k sekci Mercurialu `merge-patterns <http://www.selenic.com/mercurial/hgrc.5.html#merge-patterns>`_.
Prohledávání stromových struktur
---------------------------------
Mnohé dialogy programu TortoiseHg používají stromových struktur k prezentaci seznamů dat uživateli. Seznamy souborů v oknech status, commit, shelve mají tvar stromových struktur.
Většina stromových struktur je uzpůsobena pro živé vyhledávání.
Ujistíme se, že má struktura zaměření (klepnutím na řádku) a začneme zapisovat vyhledávací frázi. Objeví se malé vstupní pole, které obsahuje náš zadávaný text. Zaměření (focus) se okamžitě přenese k prvnímu řádku, které odpovídá dosud zadanému textu. Dalším textem se výběr upřesňuje.
V poli stromové struktury je možné také použít tyto klávesové zkratky:
* :kbd:`Ctrl-F` otevře přímo vyhledávací okno
* :kbd:`Ctrl-G` pokročí v hledání další shody
* :kbd:`Shift-Ctrl-G` prohledává dozadu
* Kolečko myši posunuje hledání řádků se shodou vpřed i vzad
Interaktivní příkaz Mercurialu
------------------------------
Mnohé nástroje TortoiseHg používají dialog *hgcmd* k provedení příkazů, které mohou být případně interaktivní.
.. figure:: figures/hgcmd.jpg
:alt: Mercurial command dialog
Interaktivní příkaz Mercurialu
.. note::
Chybová hlášení mají pro zvýraznění červenou barvu.
Je-li příkaz Mercurialu ukončen, přesune se zaměření (focus) na tlačítko :guilabel:`Close`. Proto pro zavření okna postačí stisknout tlačítko :kbd:`Enter`.
.. vim: noet ts=4
|