Changeset 552d17ac78ec…
Parent ceea2782fc1b…
by
Changes to one file · Browse files at 552d17ac78ec Showing diff from parent ceea2782fc1b Diff from another changeset...
|
|
@@ -11,11 +11,13 @@ `issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_
をご覧ください。
-コミットツールは TortoiseHg の中でも重要なツールと言えます。実際、このツールは
-デフォルトで右クリックメニューのトップレベルから直接起動できる唯一のツールです。
-これは最も使用頻度の高いツールであるというのが主な理由です。変更点をコミットする以外にも、
-作業ディレクトリの状態を確認したり、その他にも様々な作業 (新規ファイルの追加、
-名前変更の記録、リポジトリの無視フィルタの編集、等々) をコミットツール上で行えます。
+コミットツールは TortoiseHg に2つある主要アプリケーションのうちの1つです。
+リポジトリエクスプローラ (別名: チェンジログビューア) と共にこれら2つのツールは
+TortoiseHg が実装しているほぼ全ての機能にアクセスできます。
+
+コミットツールは変更点をコミットするだけではなく、作業ディレクトリの状態の確認や、
+その他にも様々な作業 (新規ファイルの追加、名前変更の記録、
+リポジトリの無視フィルタの編集、など) もコミットツール上で行なえます。
.. figure:: figures/commit.png
:alt: コミットダイアログ
@@ -25,17 +27,28 @@機能
----
-ツールバーボタンを左から順に見ていきます:
+コミットツールの一番上にはバージョン 0.9 から導入されたメニューバーがあります。
- :guilabel:`再読み込み`
- 作業ディレクトリの状態を再読み込みします。
- 再読み込み後もチェックボックスの選択状態は保たれます。
+ :guilabel:`ツール`
+ TortoiseHg の各種ツールを別プロセスで起動します。
+ :guilabel:`表示`
+ オプション機能の表示切り替えと、作業ディレクトリの表示内容を再読み込みします。
+ :guilabel:`操作`
+ ツールバーのボタンと同じ操作を実行できます。
+ :guilabel:`ヘルプ`
+ システム既定のウェブブラウザでコミットツールに関するヘルプを開きます。
+ また TortoiseHg のバージョン情報を表示します。
+
+その下のツールバーにあるボタンを左から順に見ていきます:
+
:guilabel:`コミット`
チェックされたファイルの選択されたハンクをコミットします。
:guilabel:`取り消し`
直前のコミットを取り消します。入力したコミットメッセージは
:guilabel:`最近コミットしたメッセージ` の一覧に追加されるため、
コミットミスを修正した後に同じメッセージでコミットできます。
+ :guilabel:`差分`
+ チェックされているファイルを GUI 差分ツールで表示します。
:guilabel:`元に戻す`
チェックされているファイルを変更を加える前の状態に戻します。
その変更がマージの場合はどちらの親リビジョンに戻すか選択できます。
@@ -45,6 +58,11 @@ チェックされているファイルを指定されたディレクトリに移動します。
:guilabel:`削除`
チェックされているファイルを削除します。
+ :guilabel:`破棄`
+ チェックされている管理済みファイルを破棄します。
+ :guilabel:`再読み込み`
+ 作業ディレクトリの状態を再読み込みします。
+ 再読み込み後もチェックボックスの選択状態は保たれます。
ツールバーの下にはいくつかの便利なウィジェットがあります:
@@ -74,39 +92,94 @@ resolve コマンドで使用されている ' RU' のうちどれか1つが表示されます。
4) リポジトリルートを基準としたファイルパスが表示されます。
+.. note::
+ コミットツールがファイルパターンまたは特定のファイルを選択した状態で起動された場合、
+ ファイル一覧の下にそれらのフィルタを削除して作業ディレクトリにおける変更全てを
+ 表示するためのボタンが表示されます。
+
ファイル一覧の下に並んだチェックボックスは
{M:変更, A:追加, R:削除, !:削除, ?:不明, C:クリーン, I:無視}
のファイル状態ごとにファイル一覧に表示するかどうかを設定できます。
このチェックボックスはコミットツールからファイルまたはディレクトリを指定された場合には
無効になります。
-*R:削除* は管理済みファイルが削除されたとマークされている状態を意味しています。
+*R:削除* は管理済みファイルが Mercurial の管理から外されたことを示しています。
一方で *!:削除* は管理済みファイルが見当たらず、Mercurial がそのファイルを
追跡できなくなったことを意味しています。例えば管理済みファイルの名前をエクスプローラで
変更したとき、コミットツールのファイル一覧には元のファイル名が *!:削除* として表示され、
新しいファイル名が *?:不明* として表示されます。新しいファイル名の右クリックメニューから
名前変更推定ダイアログを起動すればファイル内容の比較によって名前変更を検出し、
-古いファイルを *R:削除* とマークし、新しいファイルを *A:追加* とマークすることが
-できます。
+古いファイルを *R:削除* とマークし、新しいファイルを *A:追加* とマークすることができます。
*?:不明* は Mercurial によって管理されておらず、かつ、設定されている
-無視ファイルフィルタに該当しないファイルにマークされます。リビジョン管理に
+無視ファイルフィルタにマッチしないファイルに表示されます。リビジョン管理に
追加する必要のあるファイルなどはデフォルトで不明ファイルとして表示されます。
-無視ファイルフィルタを最新に保つことは良いことです。不明ファイルの
+無視ファイルフィルタを最新に保つことは良い習慣です。不明ファイルの
右クリックメニューには無視ファイルフィルタを編集するツールを開くコマンドがあります。
*C:クリーン* は変更が加えられていない管理済みのファイルです。
-一方で *I:無視* は設定されている無視ファイルフィルタに該当し、管理されていない
-ファイルです。どちらのファイルもエクスプローラでの選択に含めるか、コマンドラインから
-そのファイルを指定して起動するかしない限りデフォルトでは表示されません。
+一方で *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 付属のコミット
-ツールの差分ビューアが変更点の選択に対応しているのです。
+それは何を意味しているのでしょうか? TortoiseHg のコミットツールには
+変更点の一部のみをコミットする機能が標準で備わっているため、
+単純にそれを使うという意味になります。
つまり、管理下に置かれたファイルに対する全ての変更箇所は、どの部分をコミットに含めて、
どの部分をコミットせずに (作業ディレクトリに) 残すのか個別に選択することができます。
darcs バージョン管理システム、または Mercurial の record 拡張機能のユーザであれば
@@ -123,7 +196,8 @@どうやって使うのか?
^^^^^^^^^^^^^^^^^^^^
-差分表示パネルのチェンジハンクをダブルクリックすることで選択状態を切り換えます。
+差分表示パネルの :guilabel:`ハンク選択` タブでチェンジハンクをダブルクリックすることで
+そのハンクの選択状態を切り換えることができます。
*厳密には選択状態はアクティベート操作によって切り替わるため、ダブルクリックでは
なくスペースキーを押すことでも可能です。* ハンクが選択解除されると差分パネルの
色分け表示が無効になり、背景色がグレーになります。それと同時にファイルの差分ヘッダ
@@ -153,19 +227,22 @@かもしれません (Windows ではその可能性がゼロであると言い切れないため)。
何らかのプログラム (アンチウイルスソフト、コンパイラなど) が処理の過程で生成された
一時ファイルをロックしてしまった場合、書き戻しに失敗したというエラーが発生する
-かもしれません。しかしこれらのエラーは修復できます。全ての :file:`.rej` ファイルを
-削除してからもう一度コミット試みてください。
+かもしれません。しかしこれらのエラーは修復できます。リポジトリにある :file:`.rej`
+ファイルを削除してからもう一度コミットを試みてください。
キーボードショートカット
------------------------
:kbd:`Ctrl-Enter`
- コミットします
+ コミットを実行します
:kbd:`Ctrl-C`
- 差分表示パネルでは現在ハイライト (選択ではない) されているハンクをクリップボードに
- コピーします。作業ディレクトリの変更から任意の変更点をテキストとしてどこかにペースト
- するのに使えます。
+ 差分表示パネルでこのショートカットを押すと、ハイライト (選択ではない) されている
+ ハンクの内容がクリップボードにコピーされます。作業ディレクトリの変更から任意の
+ 変更点をテキストとしてどこかにペーストするのに使えます。
+:kbd:`Alt-Q`
+ カーソルのある段落(空行で区切られた行)を空白で連結して1行にします。このショートカット
+ を使用するにはフォーマットポリシーの設定が必要です。
クリップボードにコピーされるハンクは気が利いていて、差分のヘッダ情報が付加されます。
つまり、クリップボードの内容はいつでも正しいパッチとして使えるというわけです。
@@ -174,14 +251,8 @@ファイルの右クリックメニュー
----------------------------
-ファイル一覧のファイルの上で右クリックすることで、選択されたファイルに対する
-コマンドを含むメニューが表示されます。複数のファイルを選択している状態で
-右クリックメニューを開いた場合、コマンドは最初のファイルにのみ適用されます。
-
-GUI エディタ
-(:menuselection:`グローバル設定 --> TortoiseHg --> GUI エディタ`)
-が設定されている場合、メニューにはそのエディタで選択されているファイルを
-開くコマンドも含まれています。
+ファイル一覧のファイルの上で右クリックすると、選択されたファイルに対する
+コマンドを含むメニューが表示されます。
不明ファイル **?** の右クリックメニューには名前変更を検出するコマンド
(不明ファイルが管理下にあったファイルのコピーまたは名前変更されたものだと
@@ -195,17 +266,20 @@
マージ状態のリポジトリを開いたとき (正確には現在の作業ディレクトリが2つの
親リビジョンを持っているとき) コミットツールは特別なモードに切り替わります。
-ファイル一覧にはチェックボックスが表示されず、差分表示パネルではハンクを
-選択することができません。マージ後に作業ディレクトリ全体をコミットしなければ
-ならないため、基本的にコミットマニフェストは不変です。
+ファイル一覧にはチェックボックスが表示されず、差分表示パネルの
+:guilabel:`ハンク選択` タブは非表示になります。
+マージ後に作業ディレクトリ全体をコミットしなければならないため、
+基本的にコミットマニフェストは不変です。
このモードではマージ状態を示す *ms* 列が特に役に立ちます。この *ms* 列で
*R* というマークが付いたファイルは Mercurial またはユーザによって2つの
親リビジョンから正しくマージ (衝突の解決) されたファイルです。 *U* マーク
付いたファイルは未解決のファイルです。そのファイルのマージ作業を再開するには
右クリックメニューの *衝突の解決* メニューを選択するか、 *編集* メニューで
-ファイルを開いて手動で衝突を解決します。衝突を解決したら *解決済みとしてマーク*
-メニューを選択してファイルのマージ状態を *R* に変更します。
+ファイルを開いて手動で衝突を解決します。 *衝突の解決* メニューからマージ作業を
+開始すると、その都度マージツールを変更できるため、ファイルごとに適切な
+マージツールを使用することができます。衝突を解決したら *解決済みとしてマーク*
+メニューを選択してファイルのマージ状態を手動で *R* に変更します。
Mercurial は1つでもマージ状態が *U* となっているファイルがあるとコミットを
中止します。
@@ -258,41 +332,37 @@---------
多くの Mercurial 上級者はパッチの管理に MQ 拡張機能を使っていることでしょう。
-TortoiseHg は MQ のための機能をあまり多くは提供していませんが、コミットツール
-はパッチが適用されているかどうかを検出します。パッチが適用されているとき、
-通常のコミット操作ができないため、コミットツールは *パッチ更新* モードに
-切り替わります。ダイアログのタイトルは "パッチ更新 *パッチ名*" となり、
-コミットメッセージパネルにはそのパッチのコメントが表示されます。
+コミットツールはパッチが適用されているとき *パッチ更新* モードに切り替わります。
+ダイアログのタイトルは "パッチ更新 *パッチ名*" となり、コミットメッセージパネル
+にはそのパッチのコメントが表示されます。
-コミットツールは現在のパッチ内容と作業ディレクトリにおける変更点 (まだ
-:command:`qrefresh` していない変更も含む) 全体をまとめて表示します。
-これは :command:`qdiff` コマンドを実行したときと同じ内容になります。
-実際には、コマンドラインから実行する :command:`hg diff` のように
-作業ディレクトリにおける変更点のみを表示する方法はありません。
-その理由はこのように全てまとめた形で表示することでハンク選択機能を使って
-現在のパッチから変更点を取り除く機能を提供できるからです。
+差分表示パネルの :guilabel:`パッチ内容` タブには現在のパッチ内容が全て表示されます。
+:guilabel:`テキスト差分` と :guilabel:`ハンク選択` タブにはパッチ内容に加えて
+作業ディレクトリでの変更点も合わせて表示されます。ハンク選択機能を使えば現在の
+パッチから変更点の一部を別のパッチに移動 (またその逆も) することができます。
-:guilabel:`コミット` ボタン (パッチ更新モードではラベルが :guilabel:`QRefresh`
-に変化します) は現在のパッチ内容を選択されている変更点にコミットメッセージと共に
-更新します。更新後も除外した変更点は作業ディレクトリに残るので、ファイル一覧や
-差分表示パネルの内容は何も変化しないため、最初は少し戸惑うかもしれません。
+これは実質的に :command:`qdiff` コマンドを実行したときの内容が表示されます。
+コマンドラインから実行する :command:`hg diff` のように作業ディレクトリに
+おける変更点のみを表示する方法はありませんが、新しいパッチ名を入力する
+テキストボックスに何か1文字でも入力すれば *パッチ作成* モード (後述) に
+切り替わるので、作業ディレクトリにおける変更のみを見ることは一応できます。
-まとめると、 TortoiseHg で MQ を使うにはまだまだコマンドラインからの操作が
-必要になりますが、現在のパッチを更新するために :command:`hgtk ci` が使える
-ことと、変更点の選択によるパッチ内容の分割という素晴しい利点があります。
+:guilabel:`コミット` ボタンを押すことで (パッチ更新モードではラベルが
+:guilabel:`パッチ更新` に変化します) は現在のパッチ内容を選択されている変更点に
+コミットメッセージと共に更新 (qrefresh) します。更新後も除外した変更点は
+作業ディレクトリに残り、ファイル一覧や差分表示パネルに表示される内容は何も
+変化しないため、最初は少し戸惑うかもしれません。
QNew モード
-----------
-新しくバージョン 0.8 で導入された機能で、コミットツールから MQ のパッチを
-作成できます。 MQ 拡張機能が有効になっている場合、ブランチボタンとコミット
-メッセージ履歴のドロップダウンリストの間にテキストボックスが表示されます。
-このテキストボックスにパッチ名を入力し始めるとコミットツールは *コミット*
-または *パッチ更新* モードから *パッチ作成* モードに切り替わり、
-差分表示パネルには現在の作業ディレクトリにおける変更点が表示されます。
-正常にモードが切り替わると :guilabel:`コミット` ボタンが :guilabel:`QNew`
-ボタンに変化するので一目瞭然です。
+コミットツールから MQ のパッチを作成できます。 MQ 拡張機能が有効になっている場合、
+ブランチボタンとコミットメッセージ履歴のドロップダウンリストの間にテキストボックスが
+表示されます。このテキストボックスにパッチ名を入力し始めるとコミットツールは *コミット*
+または *パッチ更新* モードから *パッチ作成* モードに切り替わり、差分表示パネルには
+現在の作業ディレクトリにおける変更点が表示されます。正常にモードが切り替わると
+:guilabel:`コミット` ボタンが :guilabel:`QNew` ボタンに変化するので一目瞭然です。
:guilabel:`QNew` ボタンが押されると選択されている変更点のハンクが入力された
名前の新しいパッチに書き込まれ、ダイアログが再読み込みされます。これにより、
@@ -315,18 +385,29 @@
:menuselection:`コミット --> ユーザ名`
コミットに関連付けるユーザ名を設定します (:doc:`quick`)
-:menuselection:`コミット --> 外部ツール`
- コミットツールとして Qct を使います [廃止予定]
:menuselection:`コミット --> 要約文字数`
要約行の文字数を制限するポリシーを設定します
:menuselection:`コミット --> メッセージ文字数`
コミットメッセージ各行の文字数を制限するポリシーを設定します
+
+これに加えて上級者向けの3つのオプションがあります。
+
+:menuselection:`コミット --> コミット後にプッシュ`:
+ True にすることで *コミット後にプッシュ* チェックボックス の初期値として
+ 使用されます。
+:menuselection:`コミット --> 自動コミットファイル`:
+ コミットに自動的に含めたいファイルをカンマ区切りで指定します。
+ 通常はグローバル設定ではなくリポジトリ設定で使用します。
+:menuselection:`コミット --> 自動除外ファイル`:
+ ステータス、コミット、シェルフツールにおいて自動的にチェックを外したい
+ ファイルをカンマ区切りで指定します。
+
:menuselection:`TortoiseHg --> 差分を画面下部に表示`
差分表示パネルをファイル一覧の右側から下に切り替えます
:menuselection:`TortoiseHg --> 最大差分サイズ`
表示する差分の上限サイズを設定します
-外部ツールの設定はバージョン 0.9 で廃止されます。
+外部ツールの設定はバージョン 0.9 で廃止されました。
コマンドラインからの実行
@@ -353,29 +434,4 @@
から見ることができます。
-
-0.7 からの変更点
-----------------
-
-* :guilabel:`差分表示` ボタンは削除されました。差分パネルは常に表示されます。
-* コミットツールは起動時に差分全体を表示しません。ファイル一覧で選択されている
- 1つ目のファイルの差分のみ表示されます。
-* 名前付きブランチを閉じる機能が追加されました。
-* コミットツールがマージダイアログから起動可能になりました。
-* コミットメッセージパネルの右クリックメニューに、チェックの入ったファイル一覧を
- 挿入するコマンドと、メッセージのフォーマットポリシーを適用または設定するコマンド
- が追加されました。
-* これまで :guilabel:`Ctrl-O` がコミット実行のキーボードショートカットでしたが、
- :guilabel:`Ctrl-Enter` に変更になりました。このショートカットは他の多くの
- TortoiseHg のダイアログでも有効な共通のものです。
-* マージリビジョンにおけるファイルの右クリックメニューが改善されました。
-* コミットツールやチェンジログビューアでの差分表示のサイズに上限が設けられました。
- この上限を超えるファイルは差分表示の代わりに理由が表示されます。この上限
- (デフォルト:1MB) は :menuselection:`TortoiseHg --> 最大差分サイズ`
- から (必要であればリポジトリごとに) 設定可能です。
-* コマンドラインからコミッタと日付を指定できるようになりました。詳しくは
- :command:`hgtk commit -h` をご覧ください。
-* :file:`qct.py` 拡張機能は同梱されなくなりました。Qct を使用したい場合は
- 別途ダウンロードする必要があります。
-
.. vim: noet ts=4
|
Loading...