Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.1, 1.1.1, and 1.1.2

Merge with stable

Changeset a82bace8c524

Parents 299b02ec30ed

Parents 6453a0f5d850

by Yuki KODAMA

Changes to 14 files · Browse files at a82bace8c524 Showing diff from parent 299b02ec30ed 6453a0f5d850 Diff from another changeset...

Change 1 of 1 Show Entire File doc/​source-ja/​BASE Stacked
 
1
 
 
 
 
 
 
1
 
@@ -1,1 +1,1 @@
-5995:c98cd8c89f548887ff4661c489d2503787e00ed5 \ No newline at end of file
+6025:30c5d9a1f5dd90791d86850d83bef1823209ae66 \ No newline at end of file
 
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
 
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
252
253
254
255
256
257
258
259
260
 
 
 
 
 
 
 
 
 
 
261
262
263
 
391
392
393
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
394
395
396
 
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
 
233
234
235
 
 
 
 
 
 
 
 
236
237
238
239
240
 
 
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
 
 
 
 
 
 
 
270
271
272
273
274
275
276
277
278
279
280
281
282
 
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
@@ -193,25 +193,25 @@
 ことができます。     -実行速度に関する問題 --------------------- +実行速度への影響 +----------------    チェンジログビューアには巨大なリポジトリで使うべきではない機能がいくつかあります。    There are some Repository Explorer features that should probably be  avoided in large repositories.   -* :menuselection:`表示 -> ブランチで色分け` +* :menuselection:`表示 -> ブランチで色分け`   このオプションはグラフ描画のために各リビジョンごとにブランチ名を取得する必要があり、   リビジョン一覧の読み込み速度の低下を招きます。   -* :menuselection:`表示 -> コンパクトグラフ` +* :menuselection:`表示 -> コンパクトグラフ`   このオプションを有効にすると通常のグラフ描画速度より遅くなります。   またグラフにおけるリビジョン間の接続が不正確になります。   その意味でグラフの正確さかグラフの横幅の節約のどちらを取るかによります。   -* リビジョン一覧の :guilabel:`変更` 列 - 巨大なリポジトリにおいてこの列を表示することは実行速度の面で高くつきます。 +* リビジョン一覧の :guilabel:`変更` 列 + 巨大な作業コピーを持つリポジトリにおいてこの列を表示することは実行速度の面で高くつきます。   チェンジログビューアの起動だけでなく、スクロール速度も低下します。     @@ -233,31 +233,50 @@
  作業ディレクトリをこのリビジョンにおける内容に更新します。 [#rcm1]_   :guilabel:`マージ...`   このリビジョンとマージします。 [#rcm2]_ - :guilabel:`パッチの作成...` - このリビジョンの変更点を含んだパッチを作成します。 - :guilabel:`メールで送信...` - このリビジョンの変更点をメールで送信します。 [#rcm3]_ - :guilabel:`バンドルの作成...` - 選択中のリビジョンから tip リビジョンまでのすべてのリビジョンを含むバンドルを作成します。 - :guilabel:`タグの追加/削除...` - TortoiseHg タグダイアログを開きます。   :guilabel:`バックアウト...`   選択中のリビジョンをバックアウトするチェンジセットを作成します。   :guilabel:`元に戻す`   作業ディレクトリの親リビジョンを変更せずに、このリビジョンの内容に戻します。   十分注意して使用してください。 - :guilabel:`アーカイブに保存...` - このリビジョンでアーカイブダイアログを開き、リポジトリのバックアップを作成します。 + :guilabel:`エクスポート` + :guilabel:`パッチの作成...` + このリビジョンの変更点を含んだパッチを作成します。 + :guilabel:`メールで送信...` + このリビジョンの変更点をメールで送信します。 [#rcm3]_ + :guilabel:`バンドルの作成...` + 選択中のリビジョンから tip リビジョンまでのすべてのリビジョンを含むバンドルを作成します。 + :guilabel:`アーカイブに保存...` + このリビジョンでアーカイブダイアログを開き、リポジトリのバックアップを作成します。 + :guilabel:`タグ` + :guilabel:`タグの追加/削除...` + TortoiseHg のタグ編集ダイアログを開きます。 + :guilabel:`ブックマークの追加/移動/削除...` + TortoiseHg のブックマークダイアログを選択中のリビジョンで開きます。 + *このメニューは boomarks 拡張機能が有効なときにのみ表示されます。* + :guilabel:`ブックマークの名前変更...` + TortoiseHg のブックマーク名変更ダイアログを開きます。 + *このメニューは boomarks 拡張機能が有効なときにのみ表示されます。* + :guilabel:`Mercurial Queue` + :guilabel:`MQ にインポート` + 選択中のリビジョンを MQ にインポートします。 + qbase リビジョンまたはヘッドリビジョンにのみ有効です。 + *このメニューは mq 拡張機能が有効なときにのみ表示されます。* + :guilabel:`削除...` + 選択中のリビジョンとそのすべての子孫にあたるリビジョンをリポジトリから削除します。 + [#rcm4]_ *このメニューは mq 拡張機能が有効なときにのみ表示されます。*   :guilabel:`ローカルに移植`   選択中のリビジョンを現在の作業ディレクトリの親リビジョンの上に移植 (transplant)   します。 *このメニューは transplant 拡張機能が有効なときにのみ表示されます。* - :guilabel:`MQ にインポート` - 選択中のリビジョンを MQ にインポートします。 - qbase リビジョンまたはヘッドリビジョンにのみ有効です。 - *このメニューは mq 拡張機能が有効なときにのみ表示されます。* - :guilabel:`削除...` - 選択中のリビジョンとそのすべての子孫にあたるリビジョンをリポジトリから削除します。 - [#rcm4]_ *このメニューは mq 拡張機能が有効なときにのみ表示されます。* + :guilabel:`Bisect` + :guilabel:`リセット` + Bisect の状態をリセットします。 + 詳しくは後述の `bisect <#id10>`_ のセクションを参照してください。 + :guilabel:`Good としてマーク` + 選択中のリビジョンを Good としてマークします。 + :guilabel:`Bad としてマーク` + 選択中のリビジョンを Bad としてマークします。 + :guilabel:`テストをスキップ` + 選択中のリビジョンのテストをスキップします。    リビジョンを選択した後、別のリビジョンの上で右クリックすると先ほどとは異なる  右クリックメニューが表示されます。このメニューにはリビジョン範囲を扱うコマンドが @@ -391,6 +410,27 @@
  issue.link = http://mercurial.selenic.com/bts/     +Bisect +------ + +TortoiseHg 1.0 から、どのチェンジセットにおいてバグが入り込んだのかを調べる +Bisect 機能に対応しました。まず、バグが確認されているもっとも新しいチェンジセットに +"Bad" のマークを付け、次にバグがないとわかっているもっとも古いチェンジセットに +"Good" のマークを付けます。そしてテストを実行して作業ディレクトリの親リビジョンが +"Good" なのか "Bad" なのかをマークします。すると Bisect +は別の可能性のあるチェンジセットに更新します。もしそれ以上可能性のある +リビジョンがない場合は問題のリビジョンが見つかったことを知らせます。 + +リビジョンに "Good" または "Bad" のマークを付ける際、 +そのチェンジセットをチェックアウトする必要はありません。 + +より自動的な Bisect を実現するには Mercurial をコマンドラインから使用し、 +作業ディレクトリの構成でビルドしてテストを実行し、0 (成功)、125 (スキップ)、 +127 (中断)、または "Bad" (0、125、127以外) +を返す自動化されたテストを提供する必要があります。 +詳しくは :command:`hg bisect` コマンドのヘルプを参照してください。 + +  キーボードショートカット  ------------------------  
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
 コミット  ========    .. module:: commit.dialog   :synopsis: コミットを実行するダイアログ    .. warning::   win32text 拡張機能はハンク選択で問題を引き起こす可能性があります。この問題は   Mercurial 1.3 と TortoiseHg 0.8 において解決されましたが、適切な設定が   必要です。詳しくは   `issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_   をご覧ください。    コミットツールは TortoiseHg に2つある主要アプリケーションのうちの1つです。  リポジトリエクスプローラ (別名: チェンジログビューア) と共にこれら2つのツールは  TortoiseHg が実装しているほぼすべての機能にアクセスできます。    コミットツールは変更点をコミットするだけではなく、作業ディレクトリの状態の確認や、  その他にも様々な作業 (新規ファイルの追加、名前変更の記録、  リポジトリの無視フィルタの編集、など) もコミットツール上で行なえます。    .. figure:: figures/commit.png   :alt: コミットダイアログ     コミットダイアログ    機能  ----    コミットツールの一番上にはバージョン 0.9 から導入されたメニューバーがあります。     :guilabel:`ツール`   TortoiseHg の各種ツールを別プロセスで起動します。   :guilabel:`表示`   オプション機能の表示切り替えと、作業ディレクトリの表示内容を再読み込みします。   :guilabel:`操作`   ツールバーのボタンと同じ操作を実行できます。   :guilabel:`ヘルプ`   システム既定のウェブブラウザでコミットツールに関するヘルプを開きます。   また TortoiseHg のバージョン情報を表示します。    その下のツールバーにあるボタンを左から順に見ていきます:     :guilabel:`コミット`   チェックされたファイルの選択されたハンクをコミットします。   :guilabel:`取り消し`   直前のコミットを取り消します。入力したコミットメッセージは   :guilabel:`最近コミットしたメッセージ` の一覧に追加されるため、   コミットミスを修正した後に同じメッセージでコミットできます。   :guilabel:`差分`   チェックされているファイルを GUI 差分ツールで表示します。   :guilabel:`元に戻す`   チェックされているファイルを変更を加える前の状態に戻します。   その変更がマージの場合はどちらの親リビジョンに戻すか選択できます。   :guilabel:`追加`   チェックされている不明ファイル '?' または無視ファイル 'I' を追加します。   :guilabel:`移動`   チェックされているファイルを指定されたディレクトリに移動します。   :guilabel:`削除`   チェックされているファイルを削除します。   :guilabel:`破棄`   チェックされている管理済みファイルを破棄します。   :guilabel:`再読み込み`   作業ディレクトリの状態を再読み込みします。   再読み込み後もチェックボックスの選択状態は保たれます。 + :guilabel:`MQ` + MQ パネルの表示を切り替えます。このボタンは MQ 拡張機能がユーザによって + 有効化されているときのみ表示されます。    ツールバーの下にはいくつかの便利なウィジェットがあります:     :guilabel:`ブランチダイアログ`   作業ディレクトリの現在のブランチ名を表示します。通常はブランチ名の表示のみですが、   このボタンを押すとブランチ操作のためのダイアログが表示されます。   この機能は Mercurial の   `名前付きブランチ <http://mercurial.selenic.com/wiki/NamedBranches>`_   を理解している場合のみ使用してください。   :guilabel:`最近コミットしたメッセージ`   最近のコミットメッセージ 10 件のドロップダウンリストです。   このリストは最初に開いた時にコミットメッセージが読み込まれます。   :guilabel:`QNew`   MQ 拡張機能を使用している場合、新しいパッチ名を入力するためのテキストボックスが   表示されます。パッチ名を入力するとコミットツールは 'QNew' モードに切り替わります。      ファイル一覧には4つの列があります:   - 1) 各種操作のためにそのファイルが選択されているかどうかを示すチェックボックス。 - ツールバーボタンによる操作はチェックされているファイルにのみ行なわれます。 - 部分選択状態のファイルについては特殊なチェック状態となります。 - この列のヘッダを使えばすべてのファイルをチェックしたりチェックを外したりできます。 - 2) :guilabel:`状態` 列には Mercurial の status コマンドで使用されている - ファイル状態を示す 'MARD?IC' のうちの1つが表示されます。 - 3) :guilabel:`マージ` 列はそのファイルのマージ状態を示しており、Mercurial の - resolve コマンドで使用されている ' RU' のうちどれか1つが表示されます。 - 4) リポジトリルートを基準としたファイルパスが表示されます。 + 1) 各種操作のためにそのファイルが選択されているかどうかを示すチェックボックス。 + ツールバーボタンによる操作はチェックされているファイルにのみ行なわれます。 + 部分選択状態のファイルについては特殊なチェック状態となります。 + この列のヘッダを使えばすべてのファイルをチェックしたりチェックを外したりできます。 + 2) :guilabel:`状態` 列には Mercurial の status コマンドで使用されている + ファイル状態を示す 'MARD?IC' のうちの1つが表示されます。'S' + は未コミットの変更を含むサブリポジトリを意味します。 + 3) :guilabel:`マージ` 列はそのファイルのマージ状態を示しており、Mercurial の + resolve コマンドで使用されている ' RU' のうちどれか1つが表示されます。 + 4) リポジトリルートを基準としたファイルパスが表示されます。    .. note::   コミットツールがファイルパターンまたは特定のファイルを選択した状態で起動された場合、   ファイル一覧の下にそれらのフィルタを削除して作業ディレクトリにおける変更すべてを   表示するためのボタンが表示されます。    ファイル一覧の下に並んだチェックボックスは  {M:変更, A:追加, R:削除, !:削除, ?:不明, C:クリーン, I:無視}  のファイル状態ごとにファイル一覧に表示するかどうかを設定できます。  このチェックボックスはコミットツールからファイルまたはディレクトリを指定された場合には  無効になります。    *R:削除* は管理済みファイルが Mercurial の管理から外されたことを示しています。  一方で *!:削除* は管理済みファイルが見当たらず、Mercurial がそのファイルを  追跡できなくなったことを意味しています。例えば管理済みファイルの名前をエクスプローラで  変更したとき、コミットツールのファイル一覧には元のファイル名が *!:削除* として表示され、  新しいファイル名が *?:不明* として表示されます。新しいファイル名の右クリックメニューから  名前変更推定ダイアログを起動すればファイル内容の比較によって名前変更を検出し、  古いファイルを *R:削除* とマークし、新しいファイルを *A:追加* とマークすることができます。    *?:不明* は Mercurial によって管理されておらず、かつ、設定されている  無視ファイルフィルタにマッチしないファイルに表示されます。リビジョン管理に  追加する必要のあるファイルなどはデフォルトで不明ファイルとして表示されます。  無視ファイルフィルタを最新に保つことは良い習慣です。不明ファイルの  右クリックメニューには無視ファイルフィルタを編集するツールを開くコマンドがあります。    *C:クリーン* は変更が加えられていない管理済みのファイルです。  一方で *I:無視* は設定されている無視ファイルフィルタに該当する管理外のファイルです。  どちらのファイルもエクスプローラでの選択に含めるか、  コマンドラインからそのファイル名を指定して起動しない限りデフォルトでは表示されません。    .. figure:: figures/parentbar.png   :alt: 親リビジョンバー     コミットツールの親リビジョンバー    ファイル一覧と差分表示パネルの下には *親リビジョンバー* があります。  ここには現在の作業ディレクトリの親にあたるチェンジセットが表示され、  コミットによって新しくヘッドが作成されるかどうか見ることができます。  このバーは :guilabel:`表示` メニューから非表示にできます。    ファイル一覧の右側は差分表示パネルになります。バージョン 0.9 から差分表示パネルが  タブ表示になりました。     :guilabel:`テキスト差分`   選択しているファイルの差分をテキストで表示します。   :guilabel:`ハンク選択`   バージョン 0.7 から 0.8 まではこのタブは単純に内容を表示するだけでしたが、   0.8 からはハンク選択機能が実装され、変更点の一部を選択してコミットできる   ようになりました。このタブには選択されているファイルの差分ハンクが表示されますが、   バイナリファイルは表示されません。内容の確認は :guilabel:`テキスト差分`   タブで行ってください。   :guilabel:`コミットプレビュー`   このタブにはすべての選択されたハンクが表示されます。実質的にこのプレビューには   コミットボタンを押したときに何がコミットされるかが表示されます。   :guilabel:`パッチ内容`   コミットツールがパッチ更新モードのときにのみ表示されます。   ここには現在のパッチ内容が表示されます。    .. figure:: figures/advancedbar.png   :alt: 詳細設定バー     コミットツールの詳細設定バー    :guilabel:`表示` メニュー で :guilabel:`詳細設定` を有効にした場合、  ツールバーとコミットログ履歴の間に詳細設定バーが挿入されます。このバーには:     :guilabel:`コミッタ`   コミットに使用するユーザ名です。この値は通常 Mercurial.ini ファイルから   読み込まれますが、コマンドラインやパッチファイルから読み込んで指定すること   もできます。直接入力することで異なるユーザを指定することも可能です。   :guilabel:`自動的に含む`   ファイルにチェックを入れたかどうかに関わらず、常にコミットに含めたい   ファイルをカンマ区切りで指定するためのテキストボックスです。   この機能はリポジトリの pre-commit フックによってコミット時に自動更新される   ファイル (例えば changelog ファイル) などを常にコミットに含めたい、   というときに便利です。   :guilabel:`コミット後にプッシュ`   コミットが正常に完了した後、デフォルトの URL にプッシュするかどうかを   設定するチェックボックスです。      変更点の選択  ------------    さて、「チェックされたファイルの選択されたハンクをコミットする」と言ったとき、  それは何を意味しているのでしょうか? TortoiseHg のコミットツールには  変更点の一部のみをコミットする機能が標準で備わっているため、  単純にそれを使うという意味になります。  つまり、管理下に置かれたファイルに対するすべての変更箇所は、どの部分をコミットに含めて、  どの部分をコミットせずに (作業ディレクトリに) 残すのか個別に選択することができます。  darcs バージョン管理システム、または Mercurial の record 拡張機能のユーザであれば  すぐに分かるはずです。    どんなとき必要になるのか?  ^^^^^^^^^^^^^^^^^^^^^^^^^^    関連性の低い複数の変更が作業ディレクトリにあり、それらを個別のチェンジセットとして  コミットしたいとします。この場合、コミット時にファイル一覧を指定することでうまく  対処できるケースもありますが、同じソースコードに変更点が混ざり合っているケースでは  コミットする変更点を選択する機能が必要不可欠になります。    どうやって使うのか?  ^^^^^^^^^^^^^^^^^^^^    差分表示パネルの :guilabel:`ハンク選択` タブでチェンジハンクをダブルクリックすることで  そのハンクの選択状態を切り換えることができます。  *厳密には選択状態はアクティベート操作によって切り替わるため、ダブルクリックでは  なくスペースキーを押すことでも可能です。* ハンクが選択解除されると差分パネルの  色分け表示が無効になり、背景色がグレーになります。それと同時にファイルの差分ヘッダ  が更新され、現在選択されているハンクの数と行数が表示されます。もう一度  ダブルクリックしてハンクを選択することでコミットにその変更を含めることができます。    ファイル内の変更が部分的に選択されているとき、ファイル一覧に表示されるそのファイルの  チェックボックス表示がラジオボタンのようになります。これにより、次のコミットで  各ファイルの全体がコミットされるのか、部分的にコミットされるのか一目で分かります。    コミットするとどうなるのか?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^    簡単に言ってしまえば、チェックの入ったファイル内の選択されたハンクがリポジトリに  コミットされ、選択されなかった変更点は作業ディレクトリに残り、次のコミットに  持ち越されます。    実際には少々複雑なことをしています。その裏側で何が起こっているのかというと、  選択されなかったハンクのバックアップを安全な場所に作成した後、作業ディレクトリの  内容が最新リビジョンの状態に戻し、クリーンな状態にします。そして選択された変更点  のみが作業ディレクトリに書き戻されて、この状態でコミットされます。  最後にバックアップから選択されなかったハンクが作業ディレクトリに復元されます。  ハンク選択されなかったファイルは *バックアップ、書き戻し、コミット、復元* の  一連の処理はされません。    このハンク選択機能の内部処理に関する記述は、不運にも処理に失敗したときに役に立つ  かもしれません (Windows ではその可能性がゼロであると言い切れないため)。  何らかのプログラム (アンチウイルスソフト、コンパイラなど) が処理の過程で生成された  一時ファイルをロックしてしまった場合、書き戻しに失敗したというエラーが発生する  かもしれません。しかしこれらのエラーは修復できます。リポジトリにある :file:`.rej`  ファイルを削除してからもう一度コミットを試みてください。      キーボードショートカット  ------------------------    :kbd:`Ctrl-Enter`   コミットを実行します  :kbd:`Ctrl-C`   差分表示パネルでこのショートカットを押すと、ハイライト (選択ではない) されている   ハンクの内容がクリップボードにコピーされます。作業ディレクトリの変更から任意の   変更点をテキストとしてどこかにペーストするのに使えます。  :kbd:`Alt-Q`   カーソルのある段落(空行で区切られた行)を空白で連結して1行にします。このショートカット   を使用するにはフォーマットポリシーの設定が必要です。    クリップボードにコピーされるハンクは気が利いていて、差分のヘッダ情報が付加されます。  つまり、クリップボードの内容はいつでも正しいパッチとして使えるというわけです。      ファイルの右クリックメニュー  ----------------------------    ファイル一覧のファイルの上で右クリックすると、選択されたファイルに対する  コマンドを含むメニューが表示されます。    不明ファイル **?** の右クリックメニューには名前変更を検出するコマンド  (不明ファイルが管理下にあったファイルのコピーまたは名前変更されたものだと  考えられる場合) や、リポジトリの無視フィルタを編集するするコマンド  (その不明ファイルを今後もリビジョン管理することはなく、Mercurial にそれを  無視して欲しい場合) が提供されます。      マージ作業  ----------    マージ状態のリポジトリを開いたとき (正確には現在の作業ディレクトリが2つの  親リビジョンを持っているとき) コミットツールは特別なモードに切り替わります。  ファイル一覧にはチェックボックスが表示されず、差分表示パネルの  :guilabel:`ハンク選択` タブは非表示になります。  マージ後に作業ディレクトリ全体をコミットしなければならないため、  基本的にコミットマニフェストは不変です。    このモードではマージ状態を示す *ms* 列が特に役に立ちます。この *ms* 列で  *R* というマークが付いたファイルは Mercurial またはユーザによって2つの  親リビジョンから正しくマージ (衝突の解決) されたファイルです。 *U* マーク  付いたファイルは未解決のファイルです。そのファイルのマージ作業を再開するには  右クリックメニューの *衝突の解決* メニューを選択するか、 *編集* メニューで  ファイルを開いて手動で衝突を解決します。 *衝突の解決* メニューからマージ作業を  開始すると、その都度マージツールを変更できるため、ファイルごとに適切な  マージツールを使用することができます。衝突を解決したら *解決済みとしてマーク*  メニューを選択してファイルのマージ状態を手動で *R* に変更します。    Mercurial は1つでもマージ状態が *U* となっているファイルがあるとコミットを  中止します。    *ローカル* はマージを始めたときにチェックアウトされていたリビジョンで、  *他のリビジョン* はマージ対象のリビジョンです。    失敗したマージ作業を取り消すには2つ目の親リビジョンによる変更点を作業リポジトリ  から削除するために Mercurial に知らせなければなりません。  これは通常1つ目の親リビジョンへのクリーンな (ローカルでの変更を上書き) 更新を  意味します。マージツールにはまさにその操作のための :guilabel:`取り消し`  ボタンがあります。これはリカバリツールの :guilabel:`クリーン` ボタンを  押しても同じ結果になります。    作業ディレクトリをどちらかの親リビジョンに戻せば再びマージ作業を始めることが  できます。      コミットメッセージパネル  ------------------------    コミットメッセージパネルは以下の特別な右クリックメニューがあります:     :guilabel:`ファイル名を貼り付け`:   チェックの入っているファイル名ををコミットメッセージのカーソル位置に   貼り付けます。   :guilabel:`フォーマットポリシーの適用`:   設定されたメッセージの折り返しポリシーを現在のメッセージに適用します。   :guilabel:`フォーマットポリシーの設定`:   設定ダイアログの :guilabel:`コミット` ページを開きます。    プロジェクトにコミットメッセージのルールがある場合はそれらを設定ダイアログで  変更できます。コミットツールは設定されたポリシーをコミット時にチェックし、  コミット前でもポリシーに沿ったメッセージになっているか確認できます。  設定ダイアログの :guilabel:`コミット` ページにはコミットメッセージポリシーの  設定項目が2つあります:     :guilabel:`要約行最大文字数:`   コミットログ最初の行 (要約行) の最大文字数。これが設定された場合、   要約行が長すぎる、もしくは要約行とそれ以降のログが空行で区切られていないときに   警告が表示されます。デフォルト:0 (制限しません)。     :guilabel:`コミットログ折り返し文字数:`   コミットログの折り返し文字数。これが設定された場合、コミットログ中の1行でも   設定文字数を上回っていると警告が表示され、その文字数で強制的に折り返すための   ポップアップメニューが表示されます。デフォルト:0 (制限しません)。      MQ パッチ  ---------    多くの Mercurial 上級者はパッチの管理に MQ 拡張機能を使っていることでしょう。  コミットツールはパッチが適用されているとき *パッチ更新* モードに切り替わります。  ダイアログのタイトルは "パッチ更新 *パッチ名*" となり、コミットメッセージパネル  にはそのパッチのコメントが表示されます。    差分表示パネルの :guilabel:`パッチ内容` タブには現在のパッチ内容がすべて表示されます。  :guilabel:`テキスト差分` と :guilabel:`ハンク選択` タブにはパッチ内容に加えて  作業ディレクトリでの変更点も合わせて表示されます。ハンク選択機能を使えば現在の  パッチから変更点の一部を別のパッチに移動 (またその逆も) することができます。    これは実質的に :command:`qdiff` コマンドを実行したときの内容が表示されます。  コマンドラインから実行する :command:`hg diff` のように作業ディレクトリに  おける変更点のみを表示する方法はありませんが、新しいパッチ名を入力する  テキストボックスに何か1文字でも入力すれば *パッチ作成* モード (後述) に  切り替わるので、作業ディレクトリにおける変更のみを見ることは一応できます。    :guilabel:`コミット` ボタンを押すことで (パッチ更新モードではラベルが  :guilabel:`パッチ更新` に変化します) は現在のパッチ内容を選択されている変更点に  コミットメッセージと共に更新 (qrefresh) します。更新後も除外した変更点は  作業ディレクトリに残り、ファイル一覧や差分表示パネルに表示される内容は何も  変化しないため、最初は少し戸惑うかもしれません。      QNew モード  -----------    コミットツールから MQ のパッチを作成できます。 MQ 拡張機能が有効になっている場合、  ブランチボタンとコミットメッセージ履歴のドロップダウンリストの間にテキストボックスが  表示されます。このテキストボックスにパッチ名を入力し始めるとコミットツールは *コミット*  または *パッチ更新* モードから *パッチ作成* モードに切り替わり、差分表示パネルには  現在の作業ディレクトリにおける変更点が表示されます。正常にモードが切り替わると  :guilabel:`コミット` ボタンが :guilabel:`QNew` ボタンに変化するので一目瞭然です。    :guilabel:`QNew` ボタンが押されると選択されている変更点のハンクが入力された  名前の新しいパッチに書き込まれ、ダイアログが再読み込みされます。これにより、  少なくとも1つ適用済みのパッチが存在するため、ダイアログは *パッチ更新* モード  に切り替わります。    パッチのコミットメッセージは *パッチ作成* モードのときに入力することもできますし、  作成後の *パッチ更新* モードで更新することもできます。    パッチ作成時に変更点の一部を除外した場合、その変更点も差分表示パネルの新しいパッチ  の中に表示されますが、これは前述の通り *パッチ更新* モードが現在のパッチ内容と  作業ディレクトリの変更点をまとめて表示するためです。ここで再びテキストボックスに  パッチ名の入力を始めるとコミットツールは再度 *パッチ作成* モードに移行し、  差分表示パネルには作業ディレクトリに残った (先ほどのパッチ作成で除外した)  変更点が表示されます。      オプション設定  --------------    :menuselection:`コミット --> ユーザ名`   コミットに関連付けるユーザ名を設定します (:doc:`quick`)  :menuselection:`コミット --> 要約文字数`   要約行の文字数を制限するポリシーを設定します  :menuselection:`コミット --> メッセージ文字数`   コミットメッセージ各行の文字数を制限するポリシーを設定します    これに加えて上級者向けの3つのオプションがあります。    :menuselection:`コミット --> コミット後にプッシュ`:   True にすることで *コミット後にプッシュ* チェックボックス の初期値として   使用されます。  :menuselection:`コミット --> 自動コミットファイル`:   コミットに自動的に含めたいファイルをカンマ区切りで指定します。   通常はユーザ設定ではなくリポジトリ設定で使用します。  :menuselection:`コミット --> 自動除外ファイル`:   ステータス、コミット、シェルフツールにおいて自動的にチェックを外したい   ファイルをカンマ区切りで指定します。    :menuselection:`TortoiseHg --> 差分を画面下部に表示`   差分表示パネルをファイル一覧の右側から下に切り替えます  :menuselection:`TortoiseHg --> 最大差分サイズ`   表示する差分の上限サイズを設定します    外部ツールの設定はバージョン 0.9 で廃止されました。      コマンドラインからの実行  ------------------------    コミットツールはコマンドラインから起動することもできます: ::     hgtk commit [OPTIONS] [FILE]...     aliases: ci     commit tool     options:     -u --user record user as committer   -d --date record datecode as commit date     use "hgtk -v help commit" to show global options    日付の書式は: ::     hg help dates    から見ることができます。    .. vim: noet ts=4
 
52
53
54
55
 
56
57
58
 
146
147
148
149
 
150
151
152
 
52
53
54
 
55
56
57
58
 
146
147
148
 
149
150
151
152
@@ -52,7 +52,7 @@
   TortoiseHg 1.0 では GUI 差分表示 (外部ツール) のベースが見直されました。  新しいシステムはよく使われている差分ツール (インストーラ同梱の KDiff3 も含む) -の検出とその選択に :file:`mergetools.ini` を使用します。 +の検出とその選択に :file:`mergetools.rc` を使用します。    ユーザがマージツール (:menuselection:`TortoiseHg --> 3-way マージツール`)  を設定すると、ツール選択の処理を飛ばして、マージツールが GUI 差分表示にも使用されます。 @@ -146,7 +146,7 @@
 TortoiseHg の Windows インストーラには様々なバイナリファイルを比較・マージするために  TortoiseSVN のスクリプトを同梱しています。  それらは TortoiseHg のインストールディレクトリにある -:file:`mergepatterns.ini` ファイルで設定されているため、 +:file:`mergepatterns.rc` ファイルで設定されているため、  使用にあたって特別な追加設定などは不要です。    ファイルの拡張子によって使用する差分表示ツールを変更するために、
 
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
 
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
@@ -25,55 +25,45 @@
 更新できます。更新中はタスクバーアイコンが緑色になり、ディレクトリのアイコンオーバーレイは  「?」マークが表示されます。   -新しい C++ によるシェル拡張は従来の Python による実装よりも1桁実行速度が -速くなりましたが、タスクバーアイコンのメニューからアイコンオーバーレイ -設定可能です。テムレイにある Mercurial のアイコン (銀色水滴) -クリックて :guilabel:`Options` を選択してください -表示された設定ダイアログでアイコンオバーレイ無効したり、ローカルディスクのみ -有効することができます。 +アイコンオーバーレイと右クリックメニューは設定可能です。 +どのフォルダ (もちろんデップも可) でもいいアイコンのない場所で +クリックメニューを開い :menuselection:`TortoiseHg --> エクスプローラ設定` +を選択します。設定ダイアログではメニューを個別トップ移動できます。    .. figure:: figures/taskbarui.png - :alt: クバー設定ダイアログ + :alt: エクプロ設定ダイアログ   - クバー設定ダイアログ + エクプロ設定ダイアログ   -バージョン 0.8.1特定のリポジトリのみアイコンオーバーレイを無効にすることが -可能になりまし。リポジトリの :file:`.hg\\thgstatus` ファイルをて中身を: :: +また :file:`.hg\\thgstatus` ファイルを編集することで特定のリポジトリだけで +アイコンオーバーレイを無効にすることもできます。 +次の1行だけ書かれたファイルを作成してください: ::     @@noicons   -の1行のみに置き換えることで無効にできます。 -    右クリックメニュー  ------------------   -TortoiseHg コマンド (GUI ウィンドウとダイアログ) はエクスプローラ -右クリックメニューから起動します。TortoiseHg の右クリックメニューはコンテキスト、 -つまりどのようなディレクトリやファイルを選択しているかといった状況に応じて -変化します。例えば次のスクリーンショットは Mercurial 管理下にあるディレクトリの -右クリックメニューです: +TortoiseHg の各種ダイアログを開くためのコマンド普段使っている +エクスプローラから実行します。次のスクリーンショットは Mercurial +管理下にあるディレクトリの右クリックメニューです:    .. figure:: figures/cmenu-nofiles.png - :alt: 右クリックメニュー + :alt: 右クリックメニュー (ディレクトリ)     Mercurial 管理下にあるディレクトリの右クリックメニュー    そしてこれはファイルまたはディレクトリを選択した状態で開いた右クリックメニューです:    .. figure:: figures/cmenu-files.png - :alt: 右クリックメニュー + :alt: 右クリックメニュー (ファイル)     ファイルまたはディレクトリを選択した状態で開いた右クリックメニュー    TortoiseHg は普段よく使う Mercurial コマンドに対応したダイアログを提供します。 -滅多に使わないコマンドや、比較的最近追加されたコマンドについて :file:`cmd.exe` -などコマンドライン (CLI) からアクセスする必要があります。 - -右クリックメニューはタスクバー設定ダイアログから設定可能です。システムトレイにある -Mercurial のアイコン (銀色の水滴) をクリックして :guilabel:`Options` を -選択してください。表示された設定ダイアログで各コマンドを個別にトップレベルの -メニューとして表示できます。 +一方で滅多に使わないコマンドや、比較的最近追加されたコマンドは +:file:`cmd.exe` などコマンドライン (CLI) 経由で実行します。      Nautilus
 
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
 
203
204
205
206
 
207
208
209
 
107
108
109
 
 
 
110
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
113
114
115
 
126
127
128
 
129
130
131
132
@@ -107,86 +107,9 @@
 Perfarce  ========   -`Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ -拡張機能は Perforce サーバ上の名前付き Perforce -クライアント仕様に基いて :: +`ウェブサイト <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_   - p4://p4server[:port]/clientname - -のようなリモートリポジトリパスを持つリポジトリにおける同期処理を変更します。 - -この拡張機能を使用する前サーバ上にクライアント仕様を用意しておく必要があります。 - -.. NEEDFORTRANSLATION - -Making changes to the client specification Views causes problems when -synchronizing the repositories, and should be avoided. - -5つの Mercurial 標準コマンドが上書きされます。 - -outgoing:: - - 送信先リポジトリのパスが p4:// で始まっている場合、 - ローカルリポジトリにあって Perforce リポジトリにないリビジョンの - ファイルを表示します。 - -push:: - - プッシュ先リポジトリのパスが p4:// で始まっている場合、 - 変更点をローカルリポジトリから Perforce リポジトリにエクスポートします。 - リビジョンを指定せずに実行したときは、最後のプッシュした時点からの - すべてのリビジョンが送信されます。どちらの場合も単一の Perforce - 変更リストにまとめられた状態ででプッシュされます。 - 結果の変更リストを Perforce サーバにサブミットするかどうかは --submit - オプションを使用するか、 **perfarce.submit** 設定を True にしてください。 - **perfarce.keep** が False のとき、ファイルのサブミットに成功すると、 - Perforce 作業エリアが削除されます。 - -pull:: - - プル元リポジトリのパスが p4:// で始まっている場合、 - Perforce リポジトリから変更点をインポートし、hg push で - 自動的にサブミット済みの変更リストとマージされます。 **perfarce.keep** - 設定が False の場合は Perforce 作業エリアからファイルが削除され、 - True のときは Perforce 作業エリアは新しいファイルで更新されます。 - -incoming:: - - 受信元リポジトリのパスが p4:// で始まっている場合、 - Perforce リポジトリにあって、まだローカルにない変更点を表示します。 - -clone:: - - クローン元リポジトリのパスが p4:// で始まっている場合、 - クローン先のリポジトリを作成し、すべての変更点を Perforce - リポジトリからプルします。 - -**TortoiseHg との統合** - -perfarce 拡張機能が有効化されると、クローンダイアログに -:guilabel:`開始リビジョン` オプション設定が追加され、 -チェンジログビューアのメニューバーには -:guilabel:`Perforce` メニューが追加されます: - -identity:: - - Perforce 変更リストの tip リビジョンがローカルリポジトリにおける - どのリビジョンなのかを探して、そのリビジョンを選択します。 - -pending:: - - Perforce クライアントにプッシュしているが、まだサブミットしていない、 - または取り止めた保留中の Perforce 変更リストを検出します。 - 実行すると保留中の変更リストが表示され、それらをサブミットするか - 取り止めるか決めることができます。 - -**インストール** - -拡張機能を Mercurial.ini ファイルまたはリポジトリの hgrc -ファイルで有効にしてください: :: - - [extensions] - perfarce= +この拡張機能については `こちら <nonhg.html#perfarce>`_ で解説してます。    HGEOL  ===== @@ -203,7 +126,7 @@
 =================    * `Mercurial Keyring <http://pypi.python.org/pypi/mercurial_keyring>`_ ウェブサイト -* `Wiki ページ <http://mercurial.selenic.com/wiki/KeyringExtension>`_ +* `Keyring 拡張機能 <http://mercurial.selenic.com/wiki/KeyringExtension>`_ Wiki    keyring 拡張機能は安全に認証パスワード (HTTP/HTTPS and SMTP) をシステム固有の  パスワードデータベース (Gnome Keyring, KDE KWallet, OSXKeyChain, Win32,
 
15
16
17
18
 
 
 
19
20
21
 
24
25
26
27
 
28
29
30
 
31
32
33
 
60
61
62
63
64
65
66
67
68
69
70
 
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
 
108
109
110
111
112
113
114
115
116
117
 
118
119
120
 
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
 
200
201
202
 
 
 
 
 
 
 
 
203
204
205
 
15
16
17
 
18
19
20
21
22
23
 
26
27
28
 
29
30
31
 
32
33
34
35
 
62
63
64
 
 
 
 
 
65
66
67
 
73
74
75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
77
78
 
80
81
82
 
 
 
 
 
 
 
83
84
85
86
 
123
124
125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
127
128
 
144
145
146
147
148
149
150
151
152
153
154
155
156
157
@@ -15,7 +15,9 @@
  `kdiff3 <http://kdiff3.sourceforge.net/>`_,   `TortoisePlink <http://www.chiark.greenend.org.uk/%7Esgtatham/putty/>`_,   に加えて5つの拡張機能: hgfold、hgcr-gui、perfarce、hgeol、mercurial-keyring - を同梱しています。 + を同梱しています。また hgsubversion 拡張機能およびリポジトリ変換拡張機能のために + python-svn、hg-git 拡張機能のために dulwich も含めています。 + 詳細は :file:`extension-versions.txt` をご覧ください。    *Windows 上の Mercurial はインデックスサービスやアンチウイルスソフトウェアと競合しませんか?*   @@ -24,10 +26,10 @@
  と同様、リポジトリとその作業コピーのディレクトリではインデックスサービスを無効にし、   アンチウイルスソフトウェアのスキャン対象外に指定してください。   -*エクスプローラの右クリックメニューは翻訳されませんか?* +*エクスプローラの右クリックメニューは翻訳されないのですか?*     右クリックメニューの翻訳ファイルは TortoiseHg のインストールディレクトリ - :file:`C:\\Program Files\\TortoiseHg\\cmenu_i18n` にあります。 + :file:`C:\\Program Files\\TortoiseHg\\i18n\\cmenu` にあります。   使用したい言語の Windows レジストリファイルをダブルクリックして、   表示される確認ダイアログの指示に従ってインストールしてください。   @@ -60,11 +62,6 @@
  エクスプローラの右クリックメニューの :guilabel:`ログの表示`   から起動してください。   -*'failed to import extension hgext.hgconfig...' という警告メッセージはどうすれば消えるの?* - - `issue #135 <http://bitbucket.org/tortoisehg/stable/issue/135/>`_ - を参照してください。 -  *TortoiseHg の shelve 拡張機能をコマンドラインから使うにはどうすればいいですか?*     :file:`Mercurial.ini` ファイルで以下のように拡張機能を有効化してください: :: @@ -76,31 +73,6 @@
    `SSH 接続 <http://bitbucket.org/kuy/thg-ja/wiki/ssh>`_ ページを参照してください。   -*hg-git 拡張機能を TortoiseHg で使うにはどうすればいいですか?* - - TortoiseHg インストーラには dulwich パッケージ含まれているため、あとは - `hg-git <http://bitbucket.org/durin42/hg-git/>`_ をクローンして - hg-git と bookmarks 拡張機能を有効化するだけで使えるようになります: :: - - [extensions] - hggit = C:\extensions\hg-git\hggit - bookmarks = - - ただし 'incoming' (受信チェンジセットの表示) コマンドは git リポジトリとの - やりとりがうまくいかず、'outgoing' (送信チェンジセットの表示) コマンドも - あまり有用な情報を表示しません。 - そのため実質的には単純にプッシュまたはプルを使用することになります。 - -*hgsubversion 拡張機能を TortoiseHg で使うにはどうすればいいですか?* - - TortoiseHg インストーラには hgsubversion が必要とする Subversion の Python - バインディングを同梱しているため、 - `hgsubversion <http://bitbucket.org/durin42/hgsubversion/>`_ - をクローンして、それを有効化するだけで使用できます: :: - - [extensions] - hgsubversion = C:\extensions\hgsubversion\hgsubversion -  *~差分表示ツールを使うにはどうすればいいの?*     バージョン 1.0 から TortoiseHg はよく使われている GUI 差分表示ツールを自動的に検出し、 @@ -108,13 +80,7 @@
   *シェル拡張を無効にする方法は? (アイコンオーバーレイと右クリックメニュー)*   - アイコンオーバーレイを無効化するにはトレイアイコンをクリックして表示される - メニューにある :guilabel:`オプション` から起動できるタスクバーダイアログで - 無効にできます。右クリックメニューを非表示にするには TortoiseHg - インストールディレクトリにある :file:`ThgShell.dll` ファイルの名前変更して - エクスプローラを再起動します。しかしこの方法は右クリックメニューけでなく、 - アイコンオーバーレイも同時に無効化れます。現在、右クリックメニューのみを - 無効化する簡単な方法はありません+ TortoiseHg インストーラを使って、シェ拡張機能削除してださ   *TortoiseHg はどこに設定を保存しているの?*   @@ -157,28 +123,6 @@
  テーマをダウンロードしてそれを :file:`gtk\\share\\themes` にコピーし、   :file:`gtk\\etc\\gtk-2.0\\gtkrc` ファイルで変更してください。   -*アンインストールしても大量の DLL や PYD の拡張子のファイルが残ってしまう* - - 再起動してください、とアンインストーラが指示しているはずです :-) - Windows が起動している状態では削除できないファイルもあるため、それらは再起動後 - に削除されるように設定されています。 - -*Subversion のリポジトリを Mercurial に変換する方法は?* - - まずコマンドラインツールの svn-win32-1.6 をインストールし、そのプログラムを - 環境変数の PATH に追加してください。次に - `convert <http://mercurial.selenic.com/wiki/ConvertExtension>`_ - 拡張機能を有効化し、 :command:`hg convert` コマンドを実行することで - 変換できます。変換について何か問題が起きたときや、質問がある場合は直接 - Mercurial のメーリングリストや IRC (irc.freenode.net の #mercurial) - に尋ねてみてください。 - - もしくは hgsubversion 拡張機能を使うという方法もあります。 - - 詳しくは - `リポジトリの変換 <http://mercurial.selenic.com/wiki/RepositoryConversion>`_ - を参照してください。 -  *Windows の TortoiseHg はどこの Python モジュールを参照しているの?*     TortoiseHg は Python の実行に必要な環境を DLL の形で同梱しています。 @@ -200,6 +144,14 @@
  この方法はモジュールが .egg ファイルとして配布されている場合はうまくいきません。   指定するパスは .py または .pyc ファイルを含んでいる必要があります。   + もしいくつもの拡張機能またはフックスクリプトを使用していて、同じ Python + パッケージを共有したい場合は明示的に sys.path を変更する拡張機能を作ることができます。 + 最初に読み込まれるような単純な名前 (つまりアルファベット順で) にしてください。 + 例えば: :: + + [extensions] + 00setSysPath = C:\path\to\setsyspath.py +  *ダイアログのぎこちないフォント描画を直すにはどうすればいいの?*     バージョン 0.8 以降では複数の GTK+ テーマを同梱せず、デフォルトのテーマとして
 
20
21
22
 
23
24
25
 
20
21
22
23
24
25
26
@@ -20,6 +20,7 @@
  recovery   patches   extensions + nonhg   faq   debugging  
 
60
61
62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
64
65
 
79
80
81
82
 
83
84
85
 
88
89
90
91
 
92
93
94
95
96
97
98
99
100
101
102
 
 
 
 
 
103
104
105
 
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
 
139
140
141
 
142
143
144
145
 
148
149
150
 
151
152
153
 
 
 
154
155
156
157
158
159
160
161
162
163
164
165
166
167
@@ -60,6 +60,66 @@
  インストーラは新しいファイルをコピーするときに ThgTaskbar   アプリケーションを終了します。   +TortoiseHg は使いやすい MSI インストーラを採用しています。 +最新バージョンは TortoiseHg の `ウェブサイト +<http://tortoisehg.bitbucket.org/download/windows.html>`_ から入手できます。 +ダウンロードしたらインストーラをダブルクリックして起動し、 +表示される指示に従ってインストールを進めてください。 + +初回インストール後はアイコンオーバーレイを有効にするために通常は +再ログインが必要です。. + +アップグレートインストールの場合は、インストーラが TortoiseHg +のシェル拡張を読み込んでいるアプリケーションを検出し、 +それらを終了するか、もしくは再起動するか尋ねます。 +すべてのアプリケーションの終了を許可すれば、再起動・再ログインせずに +インストールを完了できます。もし他のユーザがログインしていたり、 +終了できないアプリケーションがあった場合のみ +インストールを完了するために再起動が必要になります。 + +.. note:: + 古い TortoiseHg がインストールされている場合、TortoiseHg 1.0 + のインストーラはそれをアンインストールするよう指示します。 + アンインストールはコントロールパネルの「プログラムの追加と削除」、 + またはスタートメニューから実行できます。 + +.. warning:: + アンインストール時、古いインストーラはホームディレクトリにある + Mercurial.ini ファイルを削除する可能性があるため、 + 事前にバックアップを取っておいてください。この不具合は新しい + MSI インストーラでは問題ありません。 + +バージョン 1.0 以前のすべての TortoiseHg インストーラは InnoSetup +を使用してビルドされていました。古いインストーラは TortoiseOverlay +パッケージを独立したアプリケーションとしてインストールしていたため、 +コントロールパネルの「プログラムの追加と削除」において TortoiseHg +と TortoiseOverlay の2つのアプリケーションが表示されていました +(64ビット環境では32ビット向けと64ビット向けに2つの +TortoiseOverlay パッケージ)。 + +TortoiseHg 1.0 の新しい MSI インストーラは TortoiseOverlay を +"マージモジュール" として収録しているため、 +今後は独立したアプリケーションとして表示されることはありません。 +バージョン 0.9.3 以前の TortoiseHg をアンイントールした後、 +もし独立した TortoiseOverlay パッケージを使用するアプリケーション +(TortoiseCVS や TortoiseBZR) がインストールされていないのであれば、 +古い TortoiseOverlay をコントロールパネルの「プログラムの追加と削除」 +から安全にアンインストールすることができます。 + +.. note:: + TortoiseOverlay は Tortoise 系アプリケーション間で + オーバーレイスロットを共有する仕組みを提供するパッケージです。 + Windows はオーバーレイスロットの数に限り (11から14) があるため、 + これは必要不可欠な仕組みです。TortoiseOverlay + パッケージは TortoiseSVN 開発陣によって作成されました。 + +より完全な安全性を求めるのであれば2つの方法があります: + +1) インストール済みの TortoiseOverlay パッケージをアンインストールせず、 + そのまま残しておく。残しておいても特に害はありません。 +2) 一度すべての TortoiseOverlay パッケージをアンインストールしてから、 + Tortoise 系アプリケーションをすべて再インストールする。 +    言語設定  ^^^^^^^^ @@ -79,7 +139,7 @@
   Windows シェル拡張の右クリックメニューはその翻訳文字列を Windows のレジストリ  から取得しています。すでに多くの言語向けに翻訳されており、それらは -:file:`C:\\Program Files\\TortoiseHg\\cmenu_i18n` にインストールされています。 +:file:`C:\\Program Files\\TortoiseHg\\i18n\\cmenu` にインストールされています。  使用したい言語のレジストリファイルをダブルクリックすると確認ダイアログが出ますので、  指示に従ってインストールしてください。   @@ -88,18 +148,20 @@
 --------------------------    Debian の DEB パッケージまたは Fedora 向けの RPM パッケージは -`ダウンロード <http://bitbucket.org/tortoisehg/stable/wiki/download/>`_ +`ダウンロード <http://tortoisehg.bitbucket.org/download/linux.html>`  ページに用意されています。   -Ubuntu 向けの Deb パッケージは -`ここ <https://launchpad.net/~tortoisehg-ppa>`_ から入手できます。 -  Max OS X 向けのパッケージは用意されていませんが、ソースコードから  インストールすることで hgtk スクリプトを含むすべての TortoiseHg ダイアログが  利用可能になります。詳しくは  `MacOSX <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_  をご覧ください。   +.. note:: + TortoiseHg をソースコードからインストールしている場合、 + contrib/mergetools.rc ファイルを HGRC パスに含める必要があります。 + 例えば %include を使うことで ~/.hgrc ファイルから読み込みます。 +  言語設定  ^^^^^^^^  
Change 1 of 1 Show Entire File doc/​source-ja/​nonhg.txt Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
@@ -0,0 +1,174 @@
+************************************** +他のバージョン管理システムとの相互運用 +************************************** + +.. module:: nonhg + :synopsis: TortoiseHg を他のバージョン管理システムのフロントエンドとして使用する方法 + +この章では他のバージョン管理システムと相互運用するために使用される3つの +Mercurial 拡張機能について述べます。 `リポジトリの変換 +<http://mercurial.selenic.com/wiki/RepositoryConversion>`_ +も参照してください。 + +Perfarce (Perforce) +=================== + +* `Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ ウェブサイト +* `Perforce ユーザのための Mercurial <http://mercurial.selenic.com/wiki/PerforceConcepts>`_ + +この拡張機能は Perforce サーバ上の名前付き Perforce +クライアント仕様に基いて :: + + p4://p4server[:port]/clientname + +のようなリモートリポジトリパスを持つリポジトリにおける同期処理を変更します。 + +この拡張機能を使用する前にサーバ上にクライアント仕様を用意しておく必要があります。 + +.. NEEDFORTRANSLATION + +Making changes to the client specification Views causes problems when +synchronizing the repositories, and should be avoided. + +5つの Mercurial 標準コマンドが上書きされます。 + +outgoing:: + + 送信先リポジトリのパスが p4:// で始まっている場合、 + ローカルリポジトリにあって Perforce リポジトリにないリビジョンの + ファイルを表示します。 + +push:: + + プッシュ先リポジトリのパスが p4:// で始まっている場合、 + 変更点をローカルリポジトリから Perforce リポジトリにエクスポートします。 + リビジョンを指定せずに実行したときは、最後のプッシュした時点からの + すべてのリビジョンが送信されます。どちらの場合も単一の Perforce + 変更リストにまとめられた状態ででプッシュされます。 + 結果の変更リストを Perforce サーバにサブミットするかどうかは --submit + オプションを使用するか、 **perfarce.submit** 設定を True にしてください。 + **perfarce.keep** が False のとき、ファイルのサブミットに成功すると、 + Perforce 作業エリアが削除されます。 + +pull:: + + プル元リポジトリのパスが p4:// で始まっている場合、 + Perforce リポジトリから変更点をインポートし、hg push で + 自動的にサブミット済みの変更リストとマージされます。 **perfarce.keep** + 設定が False の場合は Perforce 作業エリアからファイルが削除され、 + True のときは Perforce 作業エリアは新しいファイルで更新されます。 + +incoming:: + + 受信元リポジトリのパスが p4:// で始まっている場合、 + Perforce リポジトリにあって、まだローカルにない変更点を表示します。 + +clone:: + + クローン元リポジトリのパスが p4:// で始まっている場合、 + クローン先のリポジトリを作成し、すべての変更点を Perforce + リポジトリからプルします。 + +**TortoiseHg との統合** + +perfarce 拡張機能が有効化されると、クローンダイアログに +:guilabel:`開始リビジョン` オプション設定が追加され、 +チェンジログビューアのメニューバーには +:guilabel:`Perforce` メニューが追加されます: + +identity:: + + Perforce 変更リストの tip リビジョンがローカルリポジトリにおける + どのリビジョンなのかを探して、そのリビジョンを選択します。 + +pending:: + + Perforce クライアントにプッシュしているが、まだサブミットしていない、 + または取り止めた保留中の Perforce 変更リストを検出します。 + 実行すると保留中の変更リストが表示され、それらをサブミットするか + 取り止めるか決めることができます。 + +**インストール** + +拡張機能を Mercurial.ini ファイルまたはリポジトリの hgrc +ファイルで有効にしてください: :: + + [extensions] + perfarce= + +hgsubversion (SVN) +================== + +* `hgsubversion <http://bitbucket.org/durin42/hgsubversion/wiki/Home>`_ ウェブサイト +* `hgsubversion 拡張機能 <http://mercurial.selenic.com/wiki/HgSubversion>`_ Wiki +* `Subversion リポジトリを使う <http://mercurial.selenic.com/wiki/WorkingWithSubversion>`_ + +hgsubversion はその名前の通り、Mercurial を Subversion +サーバのクライアントとして使用するための拡張機能です。また Subversion +リポジトリを Mercurial のリポジトリに変換するのにも使えます。 + +*インストール* + +TortoiseHg の Windows インストーラは hgsubversion が必要とする Python 用の +SVN ライブラリを同梱しているため、以下の hgsubversion +リポジトリをローカルにクローンするだけで使えます: :: + + hg clone http://bitbucket.org/durin42/hgsubversion/ C:\hgsvn + +そして次のようにしてクローンしたリポジトリの中を指すようにして hgsubversion +拡張機能を Mercurial.ini で有効にします: :: + + [extensions] + hgsubversion = C:\hgsvn\hgsubversion + +正しくインストールできたかどうかは :command:`hg help hgsubversion` +をコマンドラインから実行して確認してください。 + +より詳細な説明については hgsubversion の Wiki をご覧ください。 + +.. warning:: + Subversion サーバからクローンする際は、最初のいくつかのリビジョンだけを + クローンしてから、残りのリビジョンをプルすることをお勧めします。 + クローンに失敗すると不完全なクローンリポジトリ全体が削除されてしまうためです。 + その点、プル操作はより寛容です。 + +*TortoiseHg におけるサポート* + +Subversion リポジトリからインポートしたチェンジセットには、Subversion +におけるバージョン番号がログビューアに表示されます。 + +hg-git (git) +============ + +* `hg-git <http://hg-git.github.com/>`_ ウェブサイト +* `hg-git 拡張機能 <http://mercurial.selenic.com/wiki/HgGit>`_ Wiki +* `Git ユーザのための Mercurial <http://mercurial.selenic.com/wiki/GitConcepts>`_ + +hg-git はその名前の通り、Mercurial を git サーバのクライアントとして使用するための拡張機能です。 +また git リポジトリを Mercurial のリポジトリに変換するのにも使えます。 + +*インストール* + +TortoiseHg の Windows インストーラは hg-git が必要とする Python 用の +git ライブラリ (dulwich) を同梱しているため、以下の hg-git +リポジトリをローカルにクローンするだけで使えます: :: + + hg clone http://bitbucket.org/durin42/hg-git/ C:\hg-git + +Mercurial.ini ファイルで hggit と bookmarks 拡張機能を有効にしてください: :: + + [extensions] + bookmarks = + hggit = C:\hg-git\hggit + +正しくインストールできたかどうかは :command:`hg help hggit` +をコマンドラインから実行して確認してください。 + +より詳細な説明については hg-git の Wiki をご覧ください。 + +'incoming' コマンドは git リポジトリとのやり取りがうまくいっておらず、 +'outgoing' コマンドはあまり有用な情報を表示しません。 +他のバージョン管理システムと相互運用する拡張機能では珍しくないことですが、 +実質的に使用できるのはプルとプッシュ操作だけになります。 + +.. vim: noet ts=4
 
133
134
135
 
 
136
137
138
 
133
134
135
136
137
138
139
140
@@ -133,6 +133,8 @@
 :guilabel:`ディレクトリの選択...` メニューと、クリップボートから取り込む  :guilabel:`クリップボートからインポート` メニューがあります。   +リポジトリに直接インポートするか、MQ にインポートするか選択できます。 +  .. note::   パッチのインポートを正しく行うには作業ディレクトリがクリーン   でなければなりません。インポートする前に未コミットの変更点をコミット、
 
37
38
39
 
 
 
40
41
42
 
37
38
39
40
41
42
43
44
45
@@ -37,6 +37,9 @@
   :doc:`recovery` はプロジェクトで行うリカバリ操作について書かれています。   +:doc:`nonhg` では TortoiseHg を他のバージョン管理システムのクライアントとして +使用する方法について述べています。 +  :doc:`faq` には TortoiseHg 自体に関する質問や、  多くの人がぶつかる問題の解決方法などがまとめてあります。  
 
21
22
23
24
 
25
26
27
 
72
73
74
 
 
 
 
 
75
76
77
 
21
22
23
 
24
25
26
27
 
72
73
74
75
76
77
78
79
80
81
82
@@ -21,7 +21,7 @@
 プロジェクトディレクトリを右クリックして  :menuselection:`TortoiseHg --> ユーザ設定` を選択します。   -.. figure:: figures/cmenu-global-settings.jpg +.. figure:: figures/cmenu-global-settings.png   :alt: デスクトップの右クリックメニュー     デスクトップからユーザ設定ダイアログを開く @@ -72,6 +72,11 @@
 :file:`Mercurial.ini` ファイル、または :file:`.hgrc`  ファイルに設定を記述する必要があります。   +.. note:: + TortoiseHg をソースコードからインストールしている場合、 + contrib/mergetools.rc ファイルを HGRC パスに含める必要があります。 + 例えば %include を使うことで ~/.hgrc ファイルから読み込みます。 +  他のユーザ設定も自由に設定してください。必要であればユーザ設定における  設定値はリポジトリごとの設定で上書きすることができます。  
 
137
138
139
 
 
 
140
141
142
 
156
157
158
159
160
161
162
163
 
 
 
 
 
164
165
 
137
138
139
140
141
142
143
144
145
 
159
160
161
 
 
 
 
 
162
163
164
165
166
167
168
@@ -137,6 +137,9 @@
 corner next to the :guilabel:`Browse` button has the options:  :guilabel:`Browse Directory..` and :guilabel:`Import from Clipboard`.   +You have the choice of importing directly into the repository, or +importing into your patch queue. +  .. note::   Importing a patch requires a clean working directory state. You   must commit, revert, or shelve changes before importing a patch. @@ -156,10 +159,10 @@
    Patch Queue panel in the Repository Explorer   -Both the Repository Explorer and Commit Tool have optional Patch Queue -panels that are available when the user has enabled the MQ extension. -It allows the user to perform most patch operations including push, pop, -rename, and finish. It's recommended to learn the MQ extension before -using the Patch Queue panel. +Both the Repository Explorer and Commit Tool have an optional Patch +Queue panel that is only available when the user has enabled the MQ +extension. It allows the user to perform most patch queue operations +including push, pop, rename, and finish. It's recommended to learn the +MQ extension before using the Patch Queue panel.    .. vim: noet ts=4