File: common.txt

package info (click to toggle)
tortoisehg 1.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 12,248 kB
  • ctags: 2,416
  • sloc: python: 24,809; xml: 316; makefile: 86
file content (136 lines) | stat: -rw-r--r-- 8,212 bytes parent folder | download
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