Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8.2, 0.8.3, and 0.9

stable doc-ja: finish translation of commit.txt

Changeset eacd95c702d4

Parent 8f4e88774f88

by Yuki KODAMA

Changes to one file · Browse files at eacd95c702d4 Showing diff from parent 8f4e88774f88 Diff from another changeset...

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
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
 コミット  ========    .. module:: commit.dialog   :synopsis: Dialog used to perform commit    .. warning::   win32text 拡張機能はハンク選択で問題を引き起こす可能性があります。この問題は   Mercurial 1.3 と TortoiseHg 0.8 において解決されましたが、適切な設定が   必要です。詳しくは   `issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_   をご覧ください。    コミットツールは TortoiseHg の中でも重要なツールと言えます。実際、このツールは  デフォルトで右クリックメニューのトップレベルから直接起動できる唯一のツールです。  これは最も使用頻度の高いツールであるというのが主な理由です。変更点をコミットする以外にも、  作業ディレクトリの状態を確認したり、その他にも様々な作業 (新規ファイルの追加、  名前変更の記録、リポジトリの無視フィルタの編集、等々) をコミットツール上で行えます。    .. figure:: figures/commit.png   :alt: コミットダイアログ     コミットダイアログ    機能  ----    ツールバーボタンを左から順に見ていきます:     :guilabel:`再読み込み`   作業ディレクトリの状態を再読み込みします。   再読み込み後もチェックボックスの選択状態は保たれます。   :guilabel:`コミット`   チェックされたファイルの選択されたハンクをコミットします。   :guilabel:`取り消し`   直前のコミットを取り消します。入力したコミットメッセージは   :guilabel:`最近コミットしたメッセージ` の一覧に追加されるため、   コミットミスを修正した後に同じメッセージでコミットできます。   :guilabel:`元に戻す`   チェックされているファイルを変更を加える前の状態に戻します。   その変更がマージの場合はどちらの親リビジョンに戻すか選択できます。   :guilabel:`追加`   チェックされている不明ファイル '?' または無視ファイル 'I' を追加します。   :guilabel:`移動`   チェックされているファイルを指定されたディレクトリに移動します。   :guilabel:`削除`   チェックされているファイルを削除します。    ツールバーの下にはいくつかの便利なウィジェットがあります:     :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) リポジトリルートを基準としたファイルパスが表示されます。    ファイル一覧の下に並んだチェックボックスは  {M:変更, A:追加, R:削除, !:削除, ?:不明, C:クリーン, I:無視}  のファイル状態ごとにファイル一覧に表示するかどうかを設定できます。  このチェックボックスはコミットツールからファイルまたはディレクトリを指定された場合には  無効になります。    *R:削除* は管理済みファイルが削除されたとマークされている状態を意味しています。  一方で *!:削除* は管理済みファイルが見当たらず、Mercurial がそのファイルを  追跡できなくなったことを意味しています。例えば管理済みファイルの名前をエクスプローラで  変更したとき、コミットツールのファイル一覧には元のファイル名が *!:削除* として表示され、  新しいファイル名が *?:不明* として表示されます。新しいファイル名の右クリックメニューから  名前変更推定ダイアログを起動すればファイル内容の比較によって名前変更を検出し、  古いファイルを *R:削除* とマークし、新しいファイルを *A:追加* とマークすることが  できます。    *?:不明* は Mercurial によって管理されておらず、かつ、設定されている  無視ファイルフィルタに該当しないファイルにマークされます。リビジョン管理に  追加する必要のあるファイルなどはデフォルトで不明ファイルとして表示されます。  無視ファイルフィルタを最新に保つことは良いことです。不明ファイルの  右クリックメニューには無視ファイルフィルタを編集するツールを開くコマンドがあります。    *C:クリーン* は変更が加えられていない管理済みのファイルです。  一方で *I:無視* は設定されている無視ファイルフィルタに該当し、管理されていない  ファイルです。どちらのファイルもエクスプローラでの選択に含めるか、コマンドラインから  そのファイルを指定して起動するかしない限りデフォルトでは表示されません。      変更点の選択  ------------    さて、「チェックされたファイルの選択されたハンクをコミットする」と言ったとき、  これは何を意味しているのでしょうか? これは単純に TortoiseHg 付属のコミット  ツールの差分ビューアが変更点の選択に対応しているのです。  つまり、管理下に置かれたファイルに対する全ての変更箇所は、どの部分をコミットに含めて、  どの部分をコミットせずに (作業ディレクトリに) 残すのか個別に選択することができます。  darcs バージョン管理システム、または Mercurial の record 拡張機能のユーザであれば  すぐに分かるはずです。    どんなとき必要になるのか?  ^^^^^^^^^^^^^^^^^^^^^^^^^^    関連性の低い複数の変更が作業ディレクトリにあり、それらを個別のチェンジセットとして  コミットしたいとします。この場合、コミット時にファイル一覧を指定することでうまく  対処できるケースもありますが、同じソースコードに変更点が混ざり合っているケースでは  コミットする変更点を選択する機能が必要不可欠になります。    どうやって使うのか?  ^^^^^^^^^^^^^^^^^^^^    差分表示パネルのチェンジハンクをダブルクリックすることで選択状態を切り換えます。  *厳密には選択状態はアクティベート操作によって切り替わるため、ダブルクリックでは  なくスペースキーを押すことでも可能です。* ハンクが選択解除されると差分パネルの  色分け表示が無効になり、背景色がグレーになります。それと同時にファイルの差分ヘッダ  が更新され、現在選択されているハンクの数と行数が表示されます。もう一度  ダブルクリックしてハンクを選択することでコミットにその変更を含めることができます。    ファイル内の変更が部分的に選択されているとき、ファイル一覧に表示されるそのファイルの  チェックボックス表示がラジオボタンのようになります。これにより、次のコミットで  各ファイルの全体がコミットされるのか、部分的にコミットされるのか一目で分かります。    コミットするとどうなるのか?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^    簡単に言ってしまえば、チェックの入ったファイル内の選択されたハンクがリポジトリに  コミットされ、選択されなかった変更点は作業ディレクトリに残り、次のコミットに  持ち越されます。    実際には少々複雑なことをしています。その裏側で何が起こっているのかというと、  選択されなかったハンクのバックアップを安全な場所に作成した後、作業ディレクトリの  内容が最新リビジョンの状態に戻し、クリーンな状態にします。そして選択された変更点  のみが作業ディレクトリに書き戻されて、この状態でコミットされます。  最後にバックアップから選択されなかったハンクが作業ディレクトリに復元されます。  ハンク選択されなかったファイルは *バックアップ、書き戻し、コミット、復元* の  一連の処理はされません。    このハンク選択機能の内部処理に関する記述は、不運にも処理に失敗したときに役に立つ  かもしれません (Windows ではその可能性がゼロであると言い切れないため)。  何らかのプログラム (アンチウイルスソフト、コンパイラなど) が処理の過程で生成された  一時ファイルをロックしてしまった場合、書き戻しに失敗したというエラーが発生する  かもしれません。しかしこれらのエラーは修復できます。全ての :file:`.rej` ファイルを  削除してからもう一度コミット試みてください。      キーボードショートカット  ------------------------    :kbd:`Ctrl-Enter`   コミットします  :kbd:`Ctrl-C`   差分表示パネルでは現在ハイライト (選択ではない) されているハンクをクリップボードに   コピーします。作業ディレクトリの変更から任意の変更点をテキストとしてどこかにペースト   するのに使えます。    クリップボードにコピーされるハンクは気が利いていて、差分のヘッダ情報が付加されます。  つまり、クリップボードの内容はいつでも正しいパッチとして使えるというわけです。      ファイルの右クリックメニュー  ----------------------------    ファイル一覧のファイルの上で右クリックすることで、選択されたファイルに対する  コマンドを含むメニューが表示されます。複数のファイルを選択している状態で  右クリックメニューを開いた場合、コマンドは最初のファイルにのみ適用されます。    GUI エディタ  (:menuselection:`グローバル設定 --> TortoiseHg --> GUI エディタ`)  が設定されている場合、メニューにはそのエディタで選択されているファイルを  開くコマンドも含まれています。    不明ファイル **?** の右クリックメニューには名前変更を検出するコマンド  (不明ファイルが管理下にあったファイルのコピーまたは名前変更されたものだと  考えられる場合) や、リポジトリの無視フィルタを編集するするコマンド  (その不明ファイルを今後もリビジョン管理することはなく、Mercurial にそれを  無視して欲しい場合) が提供されます。      マージ作業  ----------    マージ状態のリポジトリを開いたとき (正確には現在の作業ディレクトリが2つの  親リビジョンを持っているとき) コミットツールは特別なモードに切り替わります。  ファイル一覧にはチェックボックスが表示されず、差分表示パネルではハンクを  選択することができません。マージ後に作業ディレクトリ全体をコミットしなければ  ならないため、基本的にコミットマニフェストは不変です。    このモードではマージ状態を示す *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 拡張機能を使っていることでしょう。  TortoiseHg は MQ のための機能をあまり多くは提供していませんが、コミットツール  はパッチが適用されているかどうかを検出します。パッチが適用されているとき、  通常のコミット操作ができないため、コミットツールは *パッチ更新* モードに  切り替わります。ダイアログのタイトルは "パッチ更新 *パッチ名*" となり、  コミットメッセージパネルにはそのパッチのコメントが表示されます。    コミットツールは現在のパッチ内容と作業ディレクトリにおける変更点 (まだ  :command:`qrefresh` していない変更も含む) 全体をまとめて表示します。  これは :command:`qdiff` コマンドを実行したときと同じ内容になります。  実際には、コマンドラインから実行する :command:`hg diff` のように  作業ディレクトリにおける変更点のみを表示する方法はありません。  その理由はこのように全てまとめた形で表示することでハンク選択機能を使って  現在のパッチから変更点を取り除く機能を提供できるからです。    :guilabel:`コミット` ボタン (パッチ更新モードではラベルが :guilabel:`QRefresh`  に変化します) は現在のパッチ内容を選択されている変更点にコミットメッセージと共に  更新します。更新後も除外した変更点は作業ディレクトリに残るので、ファイル一覧や  差分表示パネルの内容は何も変化しないため、最初は少し戸惑うかもしれません。    まとめると、 TortoiseHg で MQ を使うにはまだまだコマンドラインからの操作が  必要になりますが、現在のパッチを更新するために :command:`hgtk ci` が使える  ことと、変更点の選択によるパッチ内容の分割という素晴しい利点があります。      QNew モード  -----------    新しくバージョン 0.8 で導入された機能で、コミットツールから MQ のパッチを  作成できます。 MQ 拡張機能が有効になっている場合、ブランチボタンとコミット  メッセージ履歴のドロップダウンリストの間にテキストボックスが表示されます。  このテキストボックスにパッチ名を入力し始めるとコミットツールは *コミット*  または *パッチ更新* モードから *パッチ作成* モードに切り替わり、  差分表示パネルには現在の作業ディレクトリにおける変更点が表示されます。  正常にモードが切り替わると :guilabel:`コミット` ボタンが :guilabel:`QNew`  ボタンに変化するので一目瞭然です。    :guilabel:`QNew` ボタンが押されると選択されている変更点のハンクが入力された  名前の新しいパッチに書き込まれ、ダイアログが再読み込みされます。これにより、  少なくとも1つ適用済みのパッチが存在するため、ダイアログは *パッチ更新* モード  に切り替わります。    パッチのコミットメッセージは *パッチ作成* モードのときに入力することもできますし、  作成後の *パッチ更新* モードで更新することもできます。    パッチ作成時に変更点の一部を除外した場合、その変更点も差分表示パネルの新しいパッチ  の中に表示されますが、これは前述の通り *パッチ更新* モードが現在のパッチ内容と  作業ディレクトリの変更点をまとめて表示するためです。ここで再びテキストボックスに  パッチ名の入力を始めるとコミットツールは再度 *パッチ作成* モードに移行し、  差分表示パネルには作業ディレクトリに残った (先ほどのパッチ作成で除外した)  変更点が表示されます。      オプション設定  --------------    :menuselection:`コミット --> ユーザ名`   コミットに関連付けるユーザ名を設定します (:doc:`quick`)  :menuselection:`コミット --> 外部ツール`   コミットツールとして Qct を使います [廃止予定]  :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    から見ることができます。     -.. NEEDFORTRANSLATION -  0.7 からの変更点  ----------------   -* The :guilabel:`Show Diff` button has been removed. Diffs are always shown. -* The commit tool no longer shows all diffs at startup. Only the first - currently selected file is shown. -* Added support for closing a named branch -* The commit tool is now launchable from the merge dialog -* The message pane context menu now has options for inserting selected - filenames, and configuring/applying a layout format. -* :guilabel:`Ctrl-O` keyboard accelerator for triggering commit has been - replaced with :guilabel:`Ctrl-Enter` accelerator which is common to - many THG dialogs -* Support for two-parent state (merging) has been improved, especially - the file context menus. -* There is now a limit on the size of files that will be diffed by the commit - and changelog tools. Files above this size will only show a message - indicating why the file was not diffed. This limit (default: 1MB) is - configurable (per-repository if necessary) via the settings dialog - :menuselection:`TortoiseHg --> Max Diff Size`. -* You can specify the commiter and date via the command line: see - :command:`hgtk commit -h` for details -* The :file:`qct.py` extension file is no longer bundled. It must be - downloaded separately if you wish to use Qct. +* :guilabel:`差分表示` ボタンは削除されました。差分パネルは常に表示されます。 +* コミットツールは起動時に差分全体を表示しません。ファイル一覧で選択されている + 1つ目のファイルの差分のみ表示されます。 +* 名前付きブランチを閉じる機能が追加されました。 +* コミットツールがマージダイアログから起動可能になりました。 +* コミットメッセージパネルの右クリックメニューに、チェックの入ったファイル一覧を + 挿入するコマンドと、メッセージのフォーマットポリシーを適用または設定するコマンド + が追加されました。 +* これまで :guilabel:`Ctrl-O` がコミット実行のキーボードショートカットでしたが、 + :guilabel:`Ctrl-Enter` に変更になりました。このショートカットは他の多くの + TortoiseHg のダイアログでも有効な共通のものです。 +* マージリビジョンにおけるファイルの右クリックメニューが改善されました。 +* コミットツールやチェンジログビューアでの差分表示のサイズに上限が設けられました。 + この上限を超えるファイルは差分表示の代わりに理由が表示されます。この上限 + (デフォルト:1MB) :menuselection:`TortoiseHg --> 最大差分サイズ` + から (必要であればリポジトリごとに) 設定可能です。 +* コマンドラインからコミッタと日付を指定できるようになりました。詳しくは + :command:`hgtk commit -h` をご覧ください。 +* :file:`qct.py` 拡張機能は同梱されなくなりました。Qct を使用したい場合は + 別途ダウンロードする必要があります。    .. vim: noet ts=4