Kiln » TortoiseHg » TortoiseHg
Clone URL:  
sync.txt
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
Synchronizace ============= .. module:: synchronize.dialog :synopsis: Dialog used to perform synchronization operations .. figure:: figures/synchronize.png :alt: Synchronize dialog Synchronize dialog Synchronizační nástroj se používá pro přesouvání changesetů mezi repozitáři nebo pro odesílání změn pře e-mail. :guilabel:`Incoming` ukázat changesety, které mohou být staženy (pulled) z cílového repozitáře, neboli změny v cílovém repozitáři, které nejsou v lokálním repozitáři :guilabel:`Pull` stáhnout příchozí changesety z cílového repozitáře :guilabel:`Outgoing` ukázat (odchozí) changesety, které mohou být poslány (pushed) do cílového repozitáře, neboli změny v lokálním repozitáři, které nejsou v cílovém repozitáři :guilabel:`Push` poslat odchozí changesety do cílového repozitáře, neboli zařídit, aby se lokální *tip* stal *tipem* v cílovém repozitáři :guilabel:`Email` poslat odchozí changesety (do cílového repozitáře) jako e-mail :guilabel:`Stop` zastavit probíhající operaci Tlačítko :guilabel:`Post Pull` obsahuje zatržítka pro výběr operací, které se mají provést po stažení (pull). Otevřete-li konfigurační nástroj, můžete vybrat implicitní chování pro váš uživatelský účet a potlačit tento výběr na úrovni repozitáře. :guilabel:`None` Po akci pull se neprovedou žádné operace. Můžete si prohlédnout stažené changesety v záznamovém panelu a můžete se pokusit o aktualizaci k novému tipu. :guilabel:`Update` Automaticky aktualizovat k tipu aktuální větve tehdy a jen tehdy, jestliže byly nové revize staženy do lokálního repozitáře. Může to spustit slučování, jestliže stažené změny kolidují s lokálními nekomitovanými změnami. :guilabel:`Fetch` Ekvivalentní k hg fetch. Viz dokumentaci k extenzi fetch. Tato procedura je přístupná, pokud byla povolena uživatelem. :guilabel:`Rebase` Ekvivalentní k pull --rebase. Viz dokumentaci k extenzi rebase. Procedura je přistupná, pokud byla povolena uživatelem. :guilabel:`Automatically resolve merge conflicts where possible` Konflikty při sloučení řešit pokud možno automaticky. Je-li vybráno update nebo rebase, může operace pull vést ke slučování. Je-li tato volba zatržena, pokusí se Mercurial řešit triviální konflikty bez spoluúčasti uživatele. Není-li, jsou všechna slučování interaktivní. Tlačítko :guilabel:`Options` obsahuje zatržítka pro výběr méně používaných příkazových opcí. :guilabel:`Allow push of a new branch` povolit vyslání (push) nové větve :guilabel:`Force push or pull` potlačit varování o vícerých čelech (heads) nebo nespřízněných repozitářích :guilabel:`Recurse into subdirectories` příkazy incoming (příchozí) nebo outgoing (odchozí) mohou zahrnout i subrepozitáře a poskytnout úplný přehled :guilabel:`Temporarily disable configured proxy` tato volba je sensitivní pouze tehdy, je-li pro daný repozitář nastaven proxy web; zatržením se tento web zapoví. :guilabel:`Emit debugging output` ... :guilabel:`Remote Command` poskytuje --remotecmd argument Je-li synchronizační nástroj otevřen ve Verpánku, má nástrojová lišta zatržítko :guilabel:`Target`. Zatržením se aktivuje roletkový seznam, ve kterém lze vybrat cílovou revizi, bookmark nebo větev. Tyto výběry se přidají ke každému synchronizačnímu příkazu. Je-li synchronizační nástroj otevřen mimo Workbench, je toto zatržítko skryté. Poklep na revizi v tabulce revizí aktualizuje hodnotu v textovém poli roletkového seznamu. Přidržení klávesy :kbd:`Alt` při výběru jiné revize způsobí aktualizaci textu bez výstupu z prostředí synchronizačního nástroje. Pod nástrojovou lištou je uvedena aktuálně vybraná adresa URL. Tuto adresu použijí všechny synchronizační nástroje. Celý synchronizační panel ve Verpánku je aktivován poklepem na tlačítko :guilabel:`Incoming` nebo :guilabel:`Outgoing`. V otevřeném panelu zadáme potřebné parametry a aktivujeme příkaz :guilabel:`Pull` nebo :guilabel:`Push`. Přidání URL ----------- Novou adresu URL snadno přidáte do repozitáře metodou Drag and Drop přetažením z jiné aplikace nad synchronizační panel, tlačítkem :guilabel:`Save` se otevře dialog, kde můžete k URL zadat alias. Ve dvou seznamech níže lze vidět adresy, uložené v konfiguračním souboru aktuálního repozitáře (:guilabel:`Paths in Repository Settings`) a adresy, které jsou uložené v jiných spřízněných repozitářích, uvedených v Repozitory Registry (:guilabel:`Related Paths`). Je-li synchronizační panel otevřen mimo Workbench, je seznam v :guilabel:`Related Paths` prázdný. .. note:: "Spřízněný" znamená, že dva repozitáře mají alespoň jeden společný kořenový changeset. Klonované repozitáře jsou zcela zřejmě spřízněné. Operace push a pull vyžadují spřízněnost repozitářů; tento požadavek lze potlačit opcí --force. Seznamy adres URL mají kontextové menu s nabídkami Explore, Terminal a Odebrat. Bezpečnost ---------- Mercurial (a TortoiseHg) podporují dva bezpečnostní protokoly pro výměnu dat se vzdálenými servery, HTTPS (SSL) a SSH. HTTPS ~~~~~ There are two asymmetrical parts to a secure HTTPS connection. The first part of the secure connection is authenticating the identification of the server. The second is authenticating yourself (the client) to the server, either via a username and passphrase or a certificate key. Host Authentication +++++++++++++++++++ Prior to version 1.7, Mercurial ignored this half of HTTPS connection security. In version 1.7 it began warning that the server's certificate was not being verified. Starting with Mercurial version 1.7.3 (TortoiseHG 1.1.7), the binary installers begain to include a CA certificate file so that HTTPS server certificates could be verified by the standard certificate authorities. We download our certificate authority file from http://curl.haxx.se/ca/cacert.pem. Mercurial version 1.7.5 introduced the ability to validate an HTTPS server's certificate against a stored fingerprint. TortoiseHg 2.0's synchronize tool has an HTTPS security dialog that allows you to select between using a host fingerprint or using the CA certificates. In theory, a host fingerprint is more secure than the CA certificates if you do not necessarily trust all of the signing authorities listed in the cacert.pem file. However you must be sure that the fingerprint you store is the correct fingerprint for the server to which you believe you are communicating. TortoiseHg 2.0 also allows you to select an insecure connection for a given host. This disables validation of the host's certificate but still uses an encrypted data stream (which was essentially the behavior of Mercurial pre-1.7 except for the warning messages). User Authentication +++++++++++++++++++ There are several mechanisms available for authenticating yourself to an HTTPS server. The simplest is to allow Mercurial to prompt you for the username and passphrase. However this quickly grows old as the two prompts are always made separately and each push operation can require multiple connections to be established. The next option is to encode the username in the URL so that Mercurial only prompts for a passphrase. This cuts the number of prompts in half, but is still annoying. If you do not wish to be prompted for the passphrase, it must be stored somewhere. Your choices, in increasing security, are: 1) encode the clear-text passphrase in each HTTPS URL in your repository configuration files 2) store the clear-text passphrase in your user configuration file 3) use the mercurial_keyring extension to store the passphrase cryptographically Until recently, TortoiseHg only supported the first option in the graphical interface even though the second and third options were supported internally. TortoiseHg 2.0, we only support the latter two options in the graphical interface, and we do not allow the user configure the first option anymore. By default we strip the username and password off of URLs when they are saved. To migrate from the first option to the later options, select an HTTPS URL in the sync tool, open the security dialog and enter a username and passphrase for the host if none are configured, and save. Next save the URL itself and allow the save dialog to strip the user authentication data from the URL. .. note:: If the mercurial_keyring extension is enabled, the security dialog will not allow you to enter a passphrase since you do not want to store the passphrase in clear text in your configuration file if you are going to later store it cryptographically. Options 2 and 3 use the [auth] section of your user configuration file to configure a single username and passphrase (or certificate key files) to authenticate to a given HTTPS hostname. The [auth] section supports many more configurations than this, see the man page for details. Once the mercurial_keyring extension has been enabled (and all applications are restarted), you can remove the HTTPS passphrases from all of your configuration files. Mercurial will prompt for the passphrase once, then store it cryptographically using the best back-end it can find for your platform. The mercurial_keyring extension requires the [auth] section to be configured for the host to which you are connecting, to provide the username. If your URL has an encoded username or passphrase, the [auth] section is ignored. SSH ~~~ SSH is a symmetrical peer-to-peer secure tunnel. SSH clients and servers have their own key management systems, so Mercurial does not get involved with password prompts when SSH is used. This is problematic on Windows and thus TortoiseHg bundles the TortosePlink SSH client with its Windows installers. TortoisePlink is a port of the Plink SSH client that uses dialog prompts for host-key authorizations and passphrase prompts. TortoisePlink (developed by the TortoiseSVN project) can use the other SSH tools that are part of the Plink toolchain, including the Pageant key agent. It is a known issue that TortoisePlink does not use compression in many scenarios, and thus is up to four times slower than openssh and other clients. TortoiseHg recommends the use of HTTPS for Windows clients. See the FAQ_ for help if you have trouble connecting to ssh servers. .. _FAQ: http://bitbucket.org/tortoisehg/stable/wiki/FAQ#tortoisehg-faq E-mail ------ .. figure:: figures//email.png :alt: Email dialog Email dialog Emailový dialog lze spustit ze dvou nástrojů TortoiseHg. 1) Z Verpánku jako kontextové menu pro jednu nebo více vybraných revizi. 2) Tlačítkem :guilabel:`Email out..` v synchronizačním panelu odešlete všechny odchozí změny do zadaného cílového repozitáře. Parametry poštovního klienta lze přednastavit v otevřeném okně 'Email' výběrem :guilabel:Settings`. V dokumentaci pro Mercurial se seznámíte s rozdíly mezi plain patches, Hg patches, Git patches a svazky (bundles). Spuštění z příkazového řádku ---------------------------- :: thg sync aliases: synchronize Synchronize with other repositories use "thg -v help sync" to show global options Skladba je jednoduchá, žádné opce nebo parametry nejsou zapotřebí, kromě opcí globálních. .. vim: noet ts=4