<title>Uživatelská příručka programu <application>&app;</application></title>
<bookinfo>
<copyright>
<year>&manual-year;</year>
<holder>Derrick Moser</holder>
</copyright>
<authorgroup>
<author>
<firstname>Derrick</firstname>
<surname>Moser</surname>
<email>derrick_moser@yahoo.com</email>
</author>
</authorgroup>
<othercreditrole="translator">
<firstname>Jindřich</firstname>
<surname>Šesták</surname>
<contrib>překlad do češtiny</contrib>
<email>khagaroth@gmail.com</email>
</othercredit>
<releaseinfo>Tato příručka popisuje &app; verze &app-version;.</releaseinfo>
</bookinfo>
<chapterid="introduction">
<title>Úvod</title>
<para>
<application>&app;</application> je grafický nástroj pro slučování a porovnávání textových souborů. <application>&app;</application> dokáže porovnat libovolný počet souborů a nabízí uživatelům možnost ručně upravit zarovnání řádků a přímo upravovat porovnávané soubory. <application>&app;</application> také umí načíst k porovnání a slučování revize souborů přímo z repozitářů Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion a SVK.</para>
<sect1id="introduction-about">
<title>O programu</title>
<para>
Autorem <application>&app;</application> je Derrick Moser <email>derrick_moser@yahoo.com</email>.
<application>&app;</application> je svobodný software. Lze ho upravovat a distribuovat za podmínky dodržení pravidel licence <citetitle>GNU General Public License</citetitle> (dále jen GPL), vydané Free Software Foundation. Použít lze verzi 2, nebo (pokud chcete) některou z jejích novějších verzí.</para>
<para>
<application>&app;</application> je distribuován v naději, že bude užitečný, ale BEZ JAKÉKOLIV ZÁRUKY, tedy ani implicitní záruky OBCHODOVATELNOSTI nebo VHODNOSTI PRO URČITÝ ÚČEL. Další podrobnosti získáte přečtením <citetitle>GPL</citetitle>.</para>
<para>Spolu s <application>&app;</application> by jste měli obdržet i kopii <citetitle>GPL</citetitle>. <citetitle>GPL</citetitle> můžete také získat na <ulinktype="http"url="http://www.fsf.org/">domovských stránkách</ulink> Free Software Foundation, nebo můžete zaslat dopis na adresu<address>
<para>Parametr pro zobrazení nápovědy musí být zadán jako jediný parametr příkazové řádky. <application>&app;</application> bude po zobrazení nápovědy okamžitě ukončeno.</para>
<para>Bude ignorovat změny, pokud jde o netisknutelné znaky.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
</chapter>
<chapterid="file-comparison">
<title>Porovnávání souborů</title>
<para>Pro vytvoření dalších panelů pro porovnání souborů použijte položky nabídky <menuchoice><guimenu>Soubor</guimenu><guimenuitem>Nové 2směrné slučování</guimenuitem></menuchoice>, <menuchoice><guimenu>Soubor</guimenu><guimenuitem>Nové 3směrné slučování</guimenuitem></menuchoice> nebo <menuchoice><guimenu>Soubor</guimenu><guimenuitem>Nové Nsměrné slučování</guimenuitem></menuchoice>. Názvy souborů a čísla revizí mohou být zadány pomocí příkazové řádky pro spuštění <application>&app;</application>, nebo pomocí polí v dialogu Otevřít soubor.</para>
<para>
<application>&app;</application> zobrazí soubory vedle sebe a vložením mezer zarovná podobné řádky v jednotlivých souborech. Rozdíly jsou zvýrazněny pomocí odlišné barvy pozadí.</para>
<sect1id="file-comparison-summary">
<title>Přehled porovnání</title>
<para>Přehled rozdílů v porovnaných souborech je umístěn na pravém okraji. V přehledu jsou vyznačena místa, kde byly vloženy mezery pro zarovnání shodných řádků a rozdíly jsou zvýrazněny pomocí barevných pruhů. Ruční úpravy jsou zvýrazněny zelenou barvou. Aktuálně zobrazený úsek je pak označen modrým kurzorem. Kliknutím do podokna přehledu můžete vybrat úsek, který má být zobrazen.</para>
</sect1>
<sect1id="file-comparison-selecting">
<title>Výběr</title>
<para>Pro výběr textových řádků můžete použít jak myš, tak klávesnici. Samostatný řádek vyberete myší jednoduše tak, že na něj kliknete. Více řádků můžete vybrat kliknutím a tažením kurzoru. Aktuální výběr pak také můžete rozšířit tak, že při kliknutí podržíte klávesu Shift. Pomocí klávesnice vyberete jednotlivé řádky pomocí kláves PageUp/Down nebo pomocí šipek. Aktuální výběr pak rozšíříte podržením klávesy Shift a stisknutím kláves PageUp/Down nebo šipek. Pro přesun výběru mezi jednotlivými soubory můžete použít šipku doleva nebo doprava.</para>
</sect1>
<sect1id="file-comparison-alignment">
<title>Zarovnání řádků</title>
<para>K zarovnání řádků porovnávaných souborů může být použita myš nebo klávesnice. Pro zarovnání řádků pomocí myši vyberte požadovaný řádek v prvním ze souborů pomocí levého tlačítka a v druhém souboru klikněte pravým tlačítkem myši na řádek, který chcete zarovnat s vybraným a z místní nabídky vyberte položku <menuchoice><guimenuitem>Zarovnat s výběrem</guimenuitem></menuchoice>. Pro zarovnání řádků pomocí klávesnice nastavte pomocí šipek výběr na požadovaný řádek v prvním ze souborů a aktivujte ho stisknutím mezerníku, poté pomocí šipek vyberte požadovaný řádek ve druhém souboru a stisknutím mezerníku potvrďte zarovnání. Tuto operaci můžete přerušit stisknutím klávesy <keycap>Escape</keycap>.</para>
<para>Pokud nechcete aby některé řádky byly porovnávány s řádky v ostatních souborech, můžete je z porovnání vyloučit použitím položky <menuchoice><guimenuitem>Izolovat</guimenuitem></menuchoice>.</para>
</sect1>
<sect1id="file-comparison-editing">
<title>Editace</title>
<para>Pro přepnutí do režimu editace stiskněte klávesu <keycap>Enter</keycap> nebo dvakrát klikněte myší. Režim editace je indikován změnou kurzoru a zobrazením pozice kurzoru ve stavovém řádku.</para>
<para>V režimu editace je možné vybírat text pomocí myši. Pro rozšíření aktuálního výběru je možné použít klávesu Shift, kterou je třeba přidržet a poté určit nový rozsah výběru buď pomocí myši, nebo pomocí klávesnice za použití šipek, nebo některé z kláves Home, End, PageUp nebo PageDown. Jednotlivá slova mohou být vybrána dvojitým kliknutím myší. Celé řádky pak trojitým kliknutím.</para>
<para>V režimu editace je také možné text upravovat. Upravené řádky budou zvýrazněny použitím zeleného pozadí. Provedené úpravy můžete vrátit zpět nebo zopakovat použitím položek nabídky <menuchoice><guimenuitem>Zpět</guimenuitem></menuchoice> a <menuchoice><guimenuitem>Znovu</guimenuitem></menuchoice>.</para>
<para>Režim editace opustíte pomocí klávesy <keycap>Escape</keycap> nebo kliknutím do podokna jiného souboru.</para>
</sect1>
<sect1id="file-comparison-merging">
<title>Slučování</title>
<para>Pro přesun mezi nalezenými rozdíly použijte příslušná tlačítka nebo položky nabídky. <application>&app;</application> při procházení přesune výběr na následující souvislý blok rozdílů nebo úprav.</para>
<para>Pro zkopírování bloků textu do vybraného rozsahu použijte příslušná tlačítka nebo položky nabídky. Provedené úpravy můžete vrátit zpět nebo zopakovat použitím položek nabídky <menuchoice><guimenuitem>Zpět</guimenuitem></menuchoice> a <menuchoice><guimenuitem>Znovu</guimenuitem></menuchoice>. Pro vrácení všech provedených úprav daného bloku řádků bez ohledu na pořadí jejich provedení je možné použít položku nabídky <menuchoice><guimenuitem>Smazat úpravy</guimenuitem></menuchoice>.</para>
</sect1>
</chapter>
<chapterid="version-control">
<title>Správa verzí</title>
<para>
<application>&app;</application> podporuje načítání revizí souborů z několika systémů pro správu verzí prostřednictvím jejich rozhraní pro příkazový řádek. Verze <application>&app;</application> pro Microsoft Windows umí používat jak Cygwin verze, tak nativní verze podporovaných systémů pro správu verzí. Pokud <application>&app;</application> používáte s Cygwin, zajistěte, aby nastavení <application>&app;</application> pro Cygwin odpovídala konfiguraci vašeho systému. Pokud je pro daný systém správy verzí k dispozici volba <guilabel>Upravit cesty pro Cygwin</guilabel>, musí být při použití verze pro Cygwin povolena.</para>
<para>Chování systémů pro správu verzí závisí na nastavení systémových cest a dalších proměnných. Volba <guilabel>Spustit z příkazové řádky terminálu Bash</guilabel> může být použita pro zjednodušení nastavení prostředí pro systémy kontroly verzí pro Cygwin.</para>
<para>Při použití parametru <userinput>-m</userinput> budou v <application>&app;</application> otevřeny panely s porovnáním pro všechny soubory u kterých systém pro správu verzí nahlásí nezapsané změny. To se hodí pro kontrolu změn před zapsáním, nebo pro řešení konfliktů slučování. Pokud není specifikována žádná cesta, bude použit aktuální pracovní adresář. Například pokud chcete zobrazit všechny nezapsané úpravy, použijte tento příkaz:</para>
<para>Pokud je specifikován jen jeden soubor, bude pro porovnání použita výchozí revize tohoto souboru. Například tento příkaz zobrazí 2směrné slučování mezi výchozí revizí souboru <filename>foo.C</filename> a místní kopií souboru <filename>foo.C</filename>:</para>
<para>Parametr <userinput>-r</userinput> může být použit pro explicitní specifikaci určité revize souboru. Může být použit libovolný identifikátor podporovaný daným systémem pro správu verzí. Pokud je uvedena jen jedna revize, bude při porovnání použita místní kopie souboru. Například tento příkaz zobrazí 2směrné slučování mezi revizí 123 souboru <filename>foo.C</filename> a místní kopií souboru <filename>foo.C</filename>:</para>
<para>Několik revizí souboru může být porovnáno použitím více parametrů <userinput>-r</userinput>. Například tento příkaz zobrazí 2směrné slučování mezi revizí 123 souboru <filename>foo.C</filename> a revizí 321 souboru <filename>foo.C</filename>:</para>
<para>Při porovnání mohou být uvedeny jak místní soubory, tak soubory ze systému správy verzí. Například tento příkaz zobrazí 3směrné slučování mezi revizí MERGE_HEAD souboru <filename>foo.C</filename>, lokální kopií souboru <filename>foo.C</filename> a revizí HEAD souboru <filename>foo.C</filename>:</para>
<para>
<screen><prompt>$</prompt><userinput>diffuse -r MERGE_HEAD foo.C foo.C -r HEAD foo.C</userinput></screen>
</para>
<para>Parametr <userinput>-c</userinput> může být použit k jednoduchému určení po sobě jdoucích revizí. Například tento příkaz zobrazí 2směrné slučování mezi revizí 1.2.2 souboru <filename>foo.C</filename> a revizí 1.2.3 souboru <filename>foo.C</filename>:</para>
Počet podoken která mohou být použita k porovnání souborů není programem <application>&app;</application> nijak omezen. Například vstupní soubory pro chobotnicovité sloučení v Git mohou být zobrazeny pomocí následujícího příkazu:</para>
<para>Zdroje mohou být použity k úpravě vzhledu a chování <application>&app;</application>, například ke změně barev použitých v uživatelském rozhraní, přizpůsobení klávesových zkratek, přidání nebo změně pravidel zvýraznění syntaxe, nebo změně přiřazení pravidel zvýraznění syntaxe k určitým příponám souborů.</para>
<para><application>&app;</application> při spuštění načte příkazy ze systémového inicializačního souboru <filename>/etc/diffuserc</filename> ( ve Windows <filename>%INSTALL_DIR%\diffuserc</filename>) a poté z uživatelského inicializačního souboru <filename>~/.config/diffuse/diffuserc</filename> (ve Windows <filename>%HOME%\.config\diffuse\diffuserc</filename>). Toto chování může být změněno pomocí parametrů <userinput>--no-rcfile</userinput> a <userinput>--rcfile</userinput>. Pro zpracování inicializačních příkazů je použit lexikální analyzátor podobný tomu v Bourne shell . Pro zadávání komentářů a speciálních znaků je možné použít stejné escapování jako v Bourne shell skriptech.</para>
<para>Přiřadí klávesovou zkratku akci <replaceable>akce</replaceable> použité v určitém kontextu <replaceable>kontext</replaceable>. Použití modifikačních kláves <keycap>Shift</keycap> nebo <keycap>Control</keycap> určíte přidáním <userinput>Shift+</userinput> nebo <userinput>Ctrl+</userinput> k řetězci parametru <replaceable>kombinace_kláves</replaceable>. Klávesy běžně modifikované klávesou <keycap>Shift</keycap> by při použití modifikační klávesy <keycap>Shift</keycap> měly být v řetězci parametru <replaceable>kombinace_kláves</replaceable> uváděny ve své modifikované podobě. Tedy například, <userinput>Ctrl+g</userinput>, ale <userinput>Shift+Ctrl+G</userinput>. Přiřazení určité <replaceable>kombinace_kláves</replaceable> můžete zrušit nastavením parametru <replaceable>akce</replaceable> na hodnotu <userinput>None</userinput>.</para>
<para>Pro definici přiřazení klávesových zkratek pro položky nabídky použijte pro parametr <replaceable>kontext</replaceable> hodnotu <userinput>menu</userinput>. Platné hodnoty parametru <replaceable>akce</replaceable> jsou:</para>
<para>Položka nabídky <menuchoice><guimenu>Nápověda</guimenu><guimenuitem>O programu Diffuse</guimenuitem></menuchoice></para>
<para>Výchozí: None</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2id="resources-keybindings-line_mode">
<title>Přiřazení klávesových zkratek pro řádkový režim úprav</title>
<para>Pro přiřazení klávesových zkratek pro řádkový režim úprav použijte pro parametr <replaceable>kontext</replaceable> hodnotu <userinput>line_mode</userinput>. Platné hodnoty parametru <replaceable>akce</replaceable> jsou:</para>
<para>sloučit řádky ze souboru napravo a poté ze souboru nalevo</para>
<para>Výchozí: <literal>Shift+M</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>isolate</userinput></term>
<listitem>
<para>izolovat vybrané řádky</para>
<para>Výchozí: <literal>i</literal></para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2id="resources-keybindings-align_mode">
<title>Přiřazení klávesových zkratek pro režim úprav zarovnání</title>
<para>Pro přiřazení klávesových zkratek pro režim úprav zarovnání použijte pro parametr <replaceable>kontext</replaceable> hodnotu <userinput>align_mode</userinput>. Platné hodnoty parametru <replaceable>akce</replaceable> jsou:</para>
<para>zarovnat vybraný řádek k aktuální pozici kurzoru</para>
<para>Výchozí: <literal>space</literal></para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2id="resources-keybindings-character_mode">
<title>Přiřazení klávesových zkratek pro znakový režim úprav</title>
<para>Pro přiřazení klávesových zkratek pro znakový režim úprav použijte pro parametr <replaceable>kontext</replaceable> hodnotu <userinput>character_mode</userinput>. Platné hodnoty parametru <replaceable>akce</replaceable> jsou:</para>
<para>Deklaruje hodnotu s plovoucí desetinnou čárkou s názvem <replaceable>název</replaceable> a přiřadí jí hodnotu <replaceable>hodnota</replaceable>.</para>
</listitem>
</varlistentry>
</variablelist>
<sect2id="resources-floats-used">
<title>Používané hodnoty s plovoucí desetinnou čárkou</title>
<para><application>&app;</application> používá následující hodnoty s plovoucí desetinnou čárkou:</para>
<para>Deklaruje nový styl syntaxe s názvem <replaceable>název</replaceable>. Zvýrazňování syntaxe používá jednoduchý stavový stroj u kterého přepínání mezi jednotlivými stavy závisí na nalezení určitých řetězců. Výchozím stavem stavového stroje bude <replaceable>výchozí_stav</replaceable>. Všechny znaky, které neodpovídají nějaké masce budou pro zvýraznění označeny značkou <replaceable>výchozí_značka</replaceable>. Styl syntaxe s názvem <replaceable>název</replaceable> může být odstraněn vynecháním parametrů <replaceable>výchozí_stav</replaceable> a <replaceable>výchozí_značka</replaceable>.</para>
<para>Určuje, že pro soubory jejichž název odpovídá masce uvedené v parametru <replaceable>maska</replaceable> má být použit styl zvýraznění syntaxe s názvem <replaceable>název</replaceable>. Masky sloužící k rozpoznání toho pro které soubory má být použito zvýraznění syntaxe s názvem <replaceable>název</replaceable> mohou být odstraněny vynecháním parametru <replaceable>maska</replaceable>.</para>
<para>Určuje, že pro soubory jejichž první řádek odpovídá masce uvedené v parametru <replaceable>maska</replaceable> má být použit styl zvýraznění syntaxe s názvem <replaceable>název</replaceable>. Masky sloužící k rozpoznání toho pro které soubory má být použito zvýraznění syntaxe s názvem <replaceable>název</replaceable> mohou být odstraněny vynecháním parametru <replaceable>maska</replaceable>.</para>
<para>Přidá masku do dříve definovaného stylu syntaxe. Masky jsou postupně testovány v pořadí v jakém byly definovány, dokud není nalezena první shoda. Porovnávány jsou vždy jen masky u nichž parametr <replaceable>výchozí_stav</replaceable> odpovídá právě aktivnímu stavu stavového stroje. Pokud je nalezen řetězec odpovídající masce parametru <replaceable>maska</replaceable>, stavový stroj se přepne do stavu definovaného v parametru <replaceable>cílový_stav</replaceable>. Pokud je uveden parametr <userinput>ignorecase</userinput>, bude při porovnávání masky ignorována velikost písmen. Všechny znaky, které odpovídají určené masce budou pro zvýraznění označeny značkou <replaceable>značka</replaceable>.</para>