by
Changes to 71 files · Browse files at bb57b13e5efc Showing diff from parent 071ea4834dc4 d3d32fce6f9c Diff from another changeset...
@@ -20,6 +20,9 @@ :guilabel:`クローン先`
クローン先のディレクトリを指定してください。このディレクトリにクローン元と同じ名前の
ディレクトリが作成されます。
+
+:guilabel:`詳細設定` には以下の設定項目が含まれています:
+
:guilabel:`リビジョン指定`
ここで指定したリビジョンまでクローンするよう制限できます。
指定したリビジョン以降のタグであればインポートされます。
|
|
|
@@ -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
|
@@ -8,20 +8,6 @@ ここにまとめておきます。
-ウィンドウ位置・サイズなどの復元
---------------------------------
-
-コミット、チェンジログ、リポジトリ検索といった TortoiseHg の主要ダイアログは最後に
-起動したときの位置やサイズが復元されます。
-これにはウィンドウが最大化されていたかどうかも含まれます。
-
-復元された位置やサイズが現在のディスプレイのサイズに合わない場合はデフォルトの
-ダイアログ状態に戻されます。
-
-サイズ固定のダイアログや一時的に表示されるダイアログは好みの位置に
-置くことができます。
-
-
キーボードショートカット
------------------------
@@ -41,7 +27,7 @@:kbd:`Ctrl-Enter`
アクティベーションします
-:kbd:`F5`
+:kbd:`F5`, :kbd:`Ctrl-R`
最新の状態に更新します
`Mac OS X <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_ では
@@ -108,7 +94,7 @@チェンジログビューアのグラフ表示パネル、リポジトリ検索ツールのコメントパネルなど
多くの TortoiseHg ダイアログでツリービューを利用しています。
-多くの TortoiseHg 0.8 以降のツリービューではインクリメンタル検索が可能です。
+TortoiseHg のツリービューの大部分はインクリメンタル検索が可能です。
どれか行を1つ選択するなどして、ツリービューがフォーカスされている状態で
検索キーワードの入力を始めてください。入力した検索キーワードを含む小さな
テキスボックスが表示されて、ツリービューは最初にマッチした行にジャンプします。
|
@@ -61,7 +61,8 @@ このリビジョンのファイルをコメントタブで開きます
:guilabel:`履歴の表示`
チェンジログビューアでこのファイルのリビジョン履歴を表示します
-
+ :guilabel:`ファイルの表示`
+ そのファイルをあらかじめ設定された GUI エディタで開きます
コメントタブ
------------
@@ -93,11 +94,14 @@^^^^^^^^^^^^^^
コメント情報のデータはコードの各行が作成された初期チェンジセットを探し出すために
-自動的にコピーや名前変更の履歴をさかのぼって収集されます。一方で、リビジョングラフは
+自動的にコピーや名前変更の履歴をさかのぼって収集されます。
+
+一方で、リビジョングラフは
自動的に名前変更やコピーをたどりません。その代わり、リビジョン一覧の名前変更またはコピーを
含むチェンジセット行をクリックすると、その履歴をたどったグラフを表示するためのボタンが
表示されます。そのボタンを押すと同じチェンジセットの古いファイル名でコメントタブが開きます。
-
+リビジョングラフも同様に名前変更とコピーをたどって表示されるため、異なるファイル名を含む
+チェンジセット同士が接続される場合があります。その場合はグラフの色が変化します。
オプション設定
^^^^^^^^^^^^^^
|
@@ -75,13 +75,6 @@ 選択してください。表示された設定ダイアログで各コマンドを個別にトップレベルの
メニューとして表示できます。
-これは名前変更・移動ダイアログです:
-
-.. figure:: figures/rename.png
- :alt: 名前変更ダイアログ
-
- 名前変更 (または移動) ダイアログ
-
Nautilus
--------
|
|
|
@@ -11,23 +11,23 @@
*Windows 向けの TortoiseHg インストーラには何が含まれていますか?*
- Mercurial、kdiff3、TortoisePlink、そして拡張機能として forest も同梱しています。
-
`Mercurial <http://mercurial.selenic.com/wiki/>`_,
`kdiff3 <http://kdiff3.sourceforge.net/>`_,
`TortoisePlink <http://www.chiark.greenend.org.uk/%7Esgtatham/putty/>`_,
- そして拡張機能の hgfold 同梱しています。
+ に加えて拡張機能の hgfold と hgcr-gui を同梱しています。
*エクスプローラの右クリックメニューは英語のままなの?*
- 公式 Wiki の `ダウンロード <http://bitbucket.org/kuy/thg-ja/wiki/install>`_
- ページから翻訳ファイルを入手できます。
+ 右クリックメニューの翻訳ファイルは TortoiseHg のインストールディレクトリ
+ :file:`C:\\Program Files\\TortoiseHg\\cmenu_i18n` にあります。
+ 使用したい言語の Windows レジストリファイルをダブルクリックして、
+ 表示される確認ダイアログの指示に従ってインストールしてください。
-*バージョン 0.8 でマージや任意のリビジョンへの更新はどうやるの?*
+*マージや任意のリビジョンへの更新はどうやるの?*
- バージョン 0.8 ではチェンジログツールからマージや更新を行うようになりました。
- チェンジログツールはエクスプローラの右クリックメニューの :guilabel:`ログの表示`
- から起動できます。
+ チェンジログツールからマージや特定リビジョンへの更新が行えます。
+ エクスプローラの右クリックメニューの :guilabel:`ログの表示`
+ から起動してください。
*'failed to import extension hgext.hgconfig...' という警告メッセージはどうすれば消えるの?*
@@ -43,30 +43,9 @@ `SSH 接続 <http://bitbucket.org/kuy/thg-ja/wiki/ssh>`_ ページも参考に
してみてください。
-*バージョン 0.7 以降の TortoiseHg で Qct を使うことはできますか?*
+*TortoiseHg で Qct を使うことはできますか?*
- Qct を使う前に是非 TortoiseHg 標準のコミットツールを試して欲しいところですが、
- どうしてもという方もいますので方法を載せておきます:
-
- 1. `Qct-1.7-standalone-win32.exe <http://qct.sourceforge.net>`_ を
- ダウンロードしてインストールします
- 2. ホームディレクトリの :file:`Mercurial.ini` ファイルに以下の設定を追加します: ::
-
- [extensions]
- qct = C:\path\to\qct.py
-
- [tortoisehg]
- extcommit = qct
-
- [qct]
- path = "C:\Program Files\qct\qct.exe"
-
- これで :guilabel:`HG コミット` を実行したとき Qct が起動し、
- コマンドラインからは :command:`hg qct` が使用可能になります。
- :command:`hgtk ci` を実行しても Qct が起動します。
-
- バージョン 0.9 では Qct の起動ができなくなります。
- それと同時に外部コミットツールの設定も廃止されます。
+ 申し訳ありませんが、外部コミットツールのオプションはバージョン 0.9 で廃止されました。
*TortoiseHg で hgk (hg view) を使うことはできますか?*
@@ -123,27 +102,15 @@ :guilabel:`adiff` という項目が追加されているので、それを選択して :guilabel:`適用`
ボタンを押してダイアログを閉じてください。
-*TortoiseHg は Windows Vista で動作しますか?*
-
- TortoiseHg 0.8 以降は Windows Vista / 7 の 32ビット・64ビット版共に動作します。
-
-*64ビット版 Windows Vista で右クリックメニューを有効にするにはどうすればいいですか?*
-
- TortoiseHg 0.8 以降のバージョンにアップグレードしてください。
-
*シェル拡張を無効にする方法は? (アイコンオーバーレイと右クリックメニュー)*
- TortoiseHg 0.8 以降を使用している場合、アイコンオーバーレイはトレイアイコンを
- クリックして表示されるメニューにある :guilabel:`オプション` から起動できる
- タスクバーダイアログで無効にできます。右クリックメニューを無効にする唯一の方法は
- TortoiseHg のインストールディレクトリにある :file:`ThgShell.dll` ファイルの
- 名前を変更してエクスプローラを再起動します (シェル拡張を完全に無効化)。
-
- 古い TortoiseHg を使っている場合はコマンドプロンプトから
- :command:`regsvr32 /u "C:\\Program Files\\TortoiseHg\\tortoisehg.dll`
- を実行してください (管理者権限が必要)。 :command:`/u` を外して実行することで
- 再びシェル拡張を有効化することができます。どちらも Windows を再起動するまで
- 反映されません。
+ アイコンオーバーレイを無効化するにはトレイアイコンをクリックして表示される
+ メニューにある :guilabel:`オプション` から起動できるタスクバーダイアログで
+ 無効にできます。右クリックメニューを非表示にするには TortoiseHg
+ インストールディレクトリにある :file:`ThgShell.dll` ファイルの名前を変更して
+ エクスプローラを再起動します。しかしこの方法は右クリックメニューだけでなく、
+ アイコンオーバーレイも同時に無効化されます。現在、右クリックメニューのみを
+ 無効化する簡単な方法はありません。
*TortoiseHg はどこに設定を保存しているの?*
@@ -155,23 +122,17 @@ 3. リポジトリ設定: :file:`{repo-root}\.hg` にある :file:`hgrc` ファイル
2. ダイアログの位置や状態などを保存している :file:`%APPDATA%\\Tortoisehg`
- 以下は Mercurial の設定システムに保存される項目です: ::
+ 以下は Mercurial の設定システムに保存される設定項目です: ::
[tortoisehg]
- extcommit = None
vdiff = vdiff
editor = gvim
tabwidth = 4
longsummary = True
- copyhash = False
graphlimit = 500
authorcolor = True
authorcolor.steve = blue
- 詳細については :doc:`settings` や
- `issue #50 <http://bitbucket.org/tortoisehg/stable/issue/50/>`_
- をご覧ください。
-
*フォントの変更はできますか?*
一部可能です。 TortoiseHg の各種ダイアログ (コミット、変更点の表示、
@@ -185,18 +146,12 @@ # font used in file lists in status and commit tools
fontlist = courier 9
- # make the integrated diff window appear at the bottom or side
- # (applies to commit and status dialogs)
- diffbottom = False
-
*GTK のテーマを変更するにはどうすればいいの?*
バージョン 0.7 ではインストール時に選択可能です。それ以降のバージョン
(またはバージョン 0.7 がインストール済み) の場合は手動で変更できます:
- * :file:`C:\\Program Files\\TortoiseHg\\share\\themes` を開きます
- (バージョン 0.8 以降は
- :file:`C:\\Program Files\\TortoiseHg\\gtk\\share\\themes`)
+ * :file:`C:\\Program Files\\TortoiseHg\\gtk\\share\\themes` を開きます
* :file:`themes` ディレクトリにあるテーマ名を覚えるか開いたままにします
* :file:`C:\\Program Files\\TortoiseHg\\etc\\gtk-2.0` を開きます
(バージョン 0.8 以降は
@@ -207,7 +162,7 @@ (表示されるセキュリティ警告のダイアログは全て「はい」を選択)
* 変更は次に TortoiseHg を起動したときから反映されます
- 同梱されていないテーマでもそれをダウンロードして :file:`share\\themes`
+ 同梱されていないテーマでもそれをダウンロードして :file:`gtk\\share\\themes`
ディレクトリにコピーすれば、 :file:`gtkrc` ファイルでそのテーマを設定可能です。
*アンインストールしても大量の DLL や PYD の拡張子のファイルが残ってしまう*
@@ -226,6 +181,8 @@ Mercurial のメーリングリストや IRC (irc.freenode.net の #mercurial)
に尋ねてみてください。
+ もしくは hgsubversion 拡張機能を使うという方法もあります。
+
*Windows の TortoiseHg はどこの Python モジュールを参照しているの?*
TortoiseHg は Python の実行に必要な環境を DLL の形で同梱しています。
@@ -249,8 +206,8 @@
*ダイアログのぎこちないフォント描画を直すにはどうすればいいの?*
- バージョン 0.8 から複数の GTK+ テーマを同梱せず、デフォルトのテーマを
- MS-Windows に変更しました。その結果、MS-Windows テーマが原因で
+ バージョン 0.8 以降では複数の GTK+ テーマを同梱せず、デフォルトのテーマとして
+ MS-Windows のみを同梱しています。その結果、MS-Windows テーマが原因で
フォント描画がおかしくなる場合があります。これを直すには以下の設定を
TortoiseHg の :file:`gtkrc` ファイルに追加してください: ::
|
|
|
@@ -31,9 +31,9 @@ このディレクトリで Mercurial は全てのバージョン情報を保持しています。
.. warning::
- :file:`.hg` ディレクトリ内のファイルには一切触れないでください。
- リポジトリの破損を招きます。
-
+ :file:`.hg` ディレクトリ内のファイルを編集するのは非常に危険です。
+ リポジトリの破損を招きます。ただし :file:`.hg/hgrc` のみ例外的に
+ 編集が認められています。
コマンドラインからの実行
------------------------
|
@@ -51,16 +51,11 @@ インストーラは最初に古いバージョンをアンインストールするよう促します。
アンインストールは通常のソフトウェアと同様に、スタートメニューから
コントロールパネルを開き、その中の「プログラムの追加と削除」から可能です。
- 必須ではありませんが、もし TortoiseOverlays を利用するプログラムが他に
- ないのであれば、こちらもアンインストールしておくことをお奨めします。
- それにより最新の TortoiseOverlays がインストールされます。
.. note::
バージョン 0.8 以降の TortoiseHg がインストールされている場合、
- インストーラを起動する前に全ての ThgTaskBar アプリケーション
- (:file:`thgtaskbar.exe`) を終了しておく必要があります。タスクトレイの
- 通知領域に表示されている Mercurial のアイコンを右クリックしてメニューを
- 開き、 :guilabel:`Exit` をクリックすれば終了できます。
+ インストーラは新しいファイルをコピーするときに ThgTaskbar アプリケーションを
+ 終了します。
言語設定
^^^^^^^^
@@ -68,34 +63,33 @@TortoiseHg のユーザインターフェイスは様々な言語に翻訳されています。
利用可能な全ての言語はインストーラに含まれているため、別途言語パックを
ダウンロードする必要はありません。
-:file:`C:\\Program Files\\TortoiseHg\\locale` で利用可能な言語が見られます。
-言語を有効にするには環境変数 ``LANGUAGE`` に好きな言語コードを設定するだけです。
+:file:`C:\\Program Files\\TortoiseHg\\locale` に利用可能な言語が
+用意されています。環境変数 ``LANGUAGE`` に言語コードを設定するだけで
+その言語が利用可能になります。
例えば日本語であれば ``set LANGUAGE=ja`` を設定してください。
.. note::
- ``LANGUAGE`` を設定しても :guilabel:`OK` や :guilabel:`Apply` というように
+ ``LANGUAGE`` を設定しても :guilabel:`OK` や :guilabel:`Apply` のような
GTK+ 標準のダイアログボタンのラベルが英語のままになっている場合、TortoiseHg
のインストーラがその言語の GTK+ 翻訳ファイルを含んでいないことを意味します。
これはリリース時にご利用の言語の TortoiseHg 翻訳が完了していなかったためです。
-Windows シェル拡張の右クリックメニューはその翻訳を Windows レジストリから
-取得します。すでに多くの言語向けに翻訳されており、それらは TortoiseHg の
-`ダウンロードページ <http://bitbucket.org/kuy/thg-ja/wiki/install>`_
-から利用可能な言語を確認できます。レジストリファイルをダウンロードしたら
-ダブルクリックしてインストールしてください。ダウンロードしたファイルの拡張子が
-:file:`.txt` になっていたら :file:`.reg` に直しておく必要があります。
+Windows シェル拡張の右クリックメニューはその翻訳文字列を Windows のレジストリ
+から取得しています。すでに多くの言語向けに翻訳されており、それらは
+:file:`C:\\Program Files\\TortoiseHg\\cmenu_i18n` にインストールされています。
+使用したい言語のレジストリファイルをダブルクリックすると確認ダイアログが出ますので、
+指示に従ってインストールしてください。
Linux または Max OS の場合
--------------------------
-Fedora 向けの RPM パッケージは
-`ダウンロード <http://bitbucket.org/tortoisehg/stable/downloads/>`_ ページに
-用意されています。
+Debian の DEB パッケージまたは Fedora 向けの RPM パッケージは
+`ダウンロード <http://bitbucket.org/tortoisehg/stable/wiki/download/>`_
+ページに用意されています。
Ubuntu 向けの Deb パッケージは
-`ここ <https://launchpad.net/~maxb/+archive/ppa>`_ 、もしくは
-`こちら <https://launchpad.net/~tortoisehg-ppa>`_ から入手できます。
+`ここ <https://launchpad.net/~tortoisehg-ppa>`_ から入手できます。
Max OS X 向けのパッケージは用意されていませんが、ソースコードから
インストールすることで hgtk スクリプトを含む全ての TortoiseHg ダイアログが
|
@@ -13,7 +13,7 @@ 書かれました。TortoiseHg は Windows のシェル拡張として提供されるため、
ユーザは普段使っている Windows エクスプローラから利用することができます。
-本書の最新版は `公式サイト <http://bitbucket.org/tortoisehg/stable/downloads>`_
+本書の最新版は `公式サイト <http://bitbucket.org/tortoisehg/stable>`_
からダウンロード可能です。
本書の読み方
@@ -67,6 +67,9 @@翻訳者、利用者コミュニティ、そして特に貴重なバグレポートおよび機能要望に
協力していただいた利用者に感謝の意を表します。
+TortoiseHg の Windows 向けインストーラには `TortoiseSVN <http://tortoisesvn.net>`_
+プロジェクトによる TortoiseOverlays ハンドラが含まれています。
+
表記規則
========
|
@@ -53,6 +53,14 @@ Mercurial 内蔵のウェブサーバを利用した場合はスパム対策のためメールアドレス
の一部のみ表示されます。
+もし Windows 向けのインストーラを使用しないでインストールした場合、GUI
+の差分表示ツールを設定しておく必要があります。 :command:`hgtk userconfig`
+を実行してグローバル設定ダイアログを表示して TortoiseHg タブを開くと
+:guilabel:`GUI 差分表示コマンド` という設定項目があるはずです。
+これのドロップダウンリストに選択肢がない場合は、事前に Mercurial の ExtDiff
+拡張機能を有効にし、ツールを設定しておく必要があります。それらの設定は
+グローバル設定ダイアログを再起動すると反映されます。
+
リポジトリの初期化
==================
@@ -93,10 +101,9 @@なのかを指定します。これにはいくつものやり方があります:
1. エクスプローラで追加したいファイルを右クリックしてメニューを開いて
- :menuselection:`TortoiseHg --> 追加` を選択します。
- この操作はすぐに実行され、TortoiseHg のダイアログは表示されませんが、
- エクスプローラでそのファイルのアイコンオーバーレイが追加されたことを示す
- アイコンに変わったことを確認できます。
+ :menuselection:`TortoiseHg --> 追加...` を選択します。
+ するとファイル追加を確認するダイアログが表示され、それで問題なければ
+ :guilabel:`追加` ボタンを押してください。
2. もしくは、ステータスツール (:menuselection:`TortoiseHg --> 変更点の確認`
またはコマンドラインから :command:`hgtk status`) を開いて追加したいファイルの
@@ -155,12 +162,10 @@
これであなたの成果を共有するための準備が整いました。あとはこのリポジトリを
他のメンバからも参照できる共用スペースにコピーするだけでOKです。
-Mercurial ではこれを *リポジトリのクローン (cloning your repository)* と
-呼んでいます。リポジトリを共用スペース、例えば共有ドライブ、またウェブサイト
-などにクローンすれば、それが開発チームのマージポイントになるでしょう。
-エクスプローラで共有ドライブに置いたリポジトリを開き、そのディレクトリの
-右クリックメニューから :menuselection:`TortoiseHg --> リポジトリのクローン`
-を選ぶか、コマンドラインから :command:`hgtk clone` を実行します。
+Mercurial ではこのコピー操作を *リポジトリのクローン (cloning your repository)*
+と呼んでいます。リポジトリを共有ドライブにするには右クリックメニューから
+:menuselection:`TortoiseHg --> リポジトリのクローン` を選択するか、
+コマンドラインから :command:`hgtk clone` を実行します。
.. figure:: figures/share.png
:alt: クローンダイアログ
@@ -210,6 +215,10 @@手っ取り早い方法はコミットツールを使うことです:
.. {{images/image001.png}}
+.. figure:: figures/overlayicons.png
+ :alt: アイコンオーバーレイ
+
+ Windows Vista でのアイコンオーバーレイ表示
コミットツールは変更の差分を表示してくれます。もしくは普段使用している GUI の
差分表示ツール (kdiff など) を使用することもできます。 Mercurial のリポジトリは
@@ -218,12 +227,11 @@
変更を共有リポジトリに公開する準備が整ったら、
-1. まだ変更をローカルリポジトリにコミットしていないのであれば、
- 先にそれを済ませます (前述)。
+1. ローカルのリポジトリに変更点をコミットします (前述)。
2. 共有リポジトリから変更をローカルリポジトリにプル (pull) します:
- 右クリックメニューから :menuselection:`TortoiseHg --> 同期ツール` または
- コマンドラインから :command:`hgtk synch` を実行し、共有リポジトリの場所を
- 選択してからツールバーの :guilabel:`プル` ボタンを押します。
+ 右クリックメニューから :menuselection:`TortoiseHg --> ログの表示` または
+ コマンドラインから :command:`hgtk log` を実行し、共有リポジトリの場所を
+ 同期バーで選択して、ツールバーの :guilabel:`プル` ボタンを押します。
3. いくつかのチェンジセットがプルされた場合、それらの変更とローカルでの変更を
マージして、マージ結果をローカルリポジトリにコミットしてください。
チェンジログビューアから (:menuselection:`TortoiseHg --> ログの表示`
@@ -233,20 +241,16 @@ してください。
4. マージが正しく行われたかどうかテストなどで検証してください。
5. 変更を共有リポジトリにプッシュ (push) するために、
- :menuselection:`TortoiseHg --> 同期ツール` または :command:`hgtk synch`
+ :menuselection:`TortoiseHg --> ログの表示` または :command:`hgtk log`
で同期ダイアログを開き、共有リポジトリの場所を選択してから
:guilabel:`プッシュ` ボタンを押します。
-文章にすると複雑に見えますが、実際には同期ツールのボタンを押すだけです。
+文章にすると複雑に見えますが、実際にはコミットしてチェンジログビューアのボタンを
+押すだけです。
.. note::
マージ作業に失敗したとしても安全に最初からマージ作業を始めることが可能です。
-.. figure:: figures/synchronize.png
- :alt: 同期ダイアログ
-
- 同期ダイアログ
-
Mercurial は共同作業を簡単に、素早く、効率的にします。
詳しくは Mercurial の `wiki <http://mercurial.selenic.com/wiki/>`_
をご覧ください。
|
|
@@ -34,19 +34,20 @@ 方が良いでしょう。TortoiseHg 設定ダイアログもこれに従い、次の2つのファイルにのみ
変更を行います:
-Global
+グローバル
ユーザ設定ファイル :file:`Mercurial.ini` または :file:`hgrc` を編集します
-Repository
+リポジトリ
リポジトリ設定ファイル :file:`.hg/hgrc` を編集します
-TortoiseHg バージョン 0.8 からはこの2つのファイルをダイアログ上部のコンボボックスから
-切り替えることができます。
+どちらの設定ファイルを編集するかはダイアログ上部のコンボボックスから切り替える
+ことができます。さらにあらかじめ設定されている GUI エディタで直接編集をすること
+もできます。
-リポジトリ設定ファイルは他の設定ファイルより優先されるためどんな設定でも記述できますが、
-多くの TortoiseHg ユーザは全ての設定をユーザ設定ファイルにまとめて保存しておき、
-リポジトリ設定ファイルにはリポジトリパスのエイリアスや、ウェブサーバ設定など
-のみ保存するでしょう。共通にすることの多いユーザ名であっても、リポジトリごとに異なる
-ユーザ名を設定可能です。ユーザおよびリポジトリ設定ファイルは自分で作成するか、
+これら2種類の設定ファイルの使い分けについては、リポジトリ設定ファイルは
+他の設定ファイルより優先されるため、全てのリポジトリに共通する設定を
+ユーザ設定ファイルにまとめて保存しておき、リポジトリ設定ファイルには
+リポジトリパスのエイリアスや、ウェブサーバ設定といったリポジトリ固有の設定を
+保存する、といった感じになります。ユーザおよびリポジトリ設定ファイルは自分で作成するか、
初めて設定ダイアログを開くまで存在しませんので注意してください。
@@ -112,6 +113,23 @@ 差分表示パネルをステータス・シェルフ・コミットダイアログのファイル一覧の下に配置します。
デフォルト:False (ファイル一覧の右側に表示)。
+:guilabel:`標準エラーの補足:`
+ 標準エラー出力の実行時エラーを補足して表示します。デフォルト:True。
+
+:guilabel:`ダイアログプロセス生成:`
+ hgtk をコマンドラインから起動したとき、ダイアログ用のバックグラウンドプロセスを
+ 生成するかどうかを設定します。デフォルト:True。
+
+:guilabel:`タイトルの絶対パス表示:`
+ 各種ダイアログのタイトルにリポジトリのディレクトリ名のかわりにフルパスを
+ 表示します。デフォルト:False。
+
+:guilabel:`スペルチェック言語:`
+ スペルチェックに使用するデフォルトの言語を指定します。指定されなかった場合は
+ システム既定の言語が使用されます。例:en, en_GB, en_US。
+ スペルチェックには gtkspell が必要になるため、 GNOME デスクトップを
+ 採用している環境でのみ使用可能です。
+
.. module:: commit.settings
:synopsis: コミットダイアログに関する設定
@@ -122,10 +140,6 @@:guilabel:`ユーザ名:`
コミット時に使用する名前。
-:guilabel:`外部コミットツール:`
- TortoiseHg から起動するコミットツール。現在、Qct は同梱されていません。
- デフォルト:なし (TortoiseHg のコミットツールを起動)。 [DEPRECATED]
-
:guilabel:`要約行最大文字数:`
コミットログ最初の行 (要約行) の最大文字数。これが設定された場合、
要約行が長すぎる、もしくは要約行とそれ以降のログが空行で区切られていないときに
@@ -136,6 +150,18 @@ 設定文字数を上回っていると警告が表示され、その文字数で強制的に折り返すための
ポップアップメニューが表示されます。デフォルト:0 (制限しません)。
+:guilabel:`コミット後にプッシュ:`
+ True にすることで *コミット後にプッシュ* チェックボックス の初期値として
+ 使用されます。デフォルト:False。
+
+:guilabel:`自動コミットリスト:`
+ コミットに自動的に含めたいファイルをカンマ区切りで指定します。
+ 通常はグローバル設定ではなくリポジトリ設定で使用します。デフォルト:指定無し。
+
+:guilabel:`自動除外リスト:`
+ ステータス、コミット、シェルフツールにおいて自動的にチェックを外したい
+ ファイルをカンマ区切りで指定します。デフォルト:指定無し。
+
.. module:: changelog.settings
:synopsis: チェンジログの表示に関する設定
@@ -157,7 +183,23 @@
:guilabel:`ハッシュ値のコピー:`
チェンジログビューアでそのとき選択しているチェンジセットのチェンジセット ID
- をクリップボードにコピーできるようにします。デフォルト:False。
+ をクリップボードにコピーできるようにします。廃止予定。デフォルト:False。
+
+:guilabel:`削除済みブランチ:`
+ リポジトリでブランチ名一覧を作成する際に無視するブランチ名をカンマ区切りで指定。
+ デフォルト:指定無し。
+
+:guilabel:`ブランチの色:`
+ ブランチ名とその色を "branch:#XXXXXX" の形式で空白文字区切りで指定。
+ ブランチ名に含まれる空白文字とコロン(":")はバックスラッシュ("\")で
+ エスケープする必要があります。同様に他の文字についても、例えば "\u0040"
+ はアットマーク("@")にデコードされ、"\n" は改行になります。
+ デフォルト:指定無し。
+
+:guilabel:`非表示タグ:`
+ 非表示にしたいタグ名を空白区切りで指定。便利な使用例:"qbase qparent qtip"
+ を設定することで MQ 拡張機能が使用するタグを隠すことができます。
+ デフォルト:指定無し。
.. module:: synchronize.settings
@@ -313,6 +355,10 @@差分
----
+:guilabel:`パッチ改行文字:`
+ パッチファイルの改行文字を LF または CR+LF に正規化します。
+ Strict の場合は正規化されません。デフォルト:Strict。
+
:guilabel:`Git 拡張形式:`
GIT の拡張差分ヘッダ形式を使用します。デフォルト:False。
@@ -332,6 +378,14 @@ 比較時に空行の有無を無視します。デフォルト:False。
+キーボードショートカット
+========================
+
+:kbd:`Ctrl-Enter`
+ 変更を保存してダイアログを閉じます。これは :guilabel:`OK` ボタンを
+ 押したときと同じ動作になります。
+
+
コマンドラインからの実行
========================
|
@@ -22,13 +22,12 @@
ツールバーボタンを左から順に見ていきます:
- :guilabel:`再読み込み`
- 作業ディレクトリの状態を再読み込みします。
- 再読み込み後もチェックボックスの選択状態は保たれます。
- :guilabel:`シェルフ`
+ :guilabel:`シェルフ`
チェックされたファイルの選択されたハンクをシェルフします。
:guilabel:`シェルフから戻す`
シェルフされた変更点を作業ディレクトリに戻します。
+ :guilabel:`差分`
+ チェックの入っているファイルの GUI 差分を表示します。
:guilabel:`元に戻す`
チェックされているファイルを変更を加える前の状態に戻します。
その変更がマージの場合はどちらの親リビジョンに戻すか選択できます。
@@ -38,6 +37,11 @@ チェックされているファイルを指定されたディレクトリに移動します。
:guilabel:`削除`
チェックされているファイルを削除します。
+ :guilabel:`破棄`
+ チェックされている管理済みファイルを破棄します。
+ :guilabel:`再読み込み`
+ 作業ディレクトリの状態を再読み込みします。
+ 再読み込み後もチェックボックスの選択状態は保たれます。
ファイル一覧には4つの列があります:
@@ -58,6 +62,18 @@無効になります。
+タブ
+----
+
+シェルフツールの差分表示パネルには4つのタブがあります:
+
+ 1) テキスト差分 - 選択されているファイルの差分が表示されます
+ 2) ハンク選択 - 選択されているファイルのハンク選択状態を変更できます
+ 3) シェルフプレビュー - 全ての選択されている変更点が表示されます。このプレビュー
+ に表示されている内容が作業ディレクトリから取り除かれてシェルフに格納されます。
+ 4) シェルフ内容 - シェルフに格納されている内容が表示されます
+
+
変更点をシェルフする
--------------------
|
@@ -1,6 +1,9 @@ 構成管理を始める
================
+.. module:: start
+ :synopsis: リポジトリ作成に使用するダイアログ
+
プロジェクトで Mercurial または TortoiseHg を使って構成管理を始める方法は
いろいろあります。
@@ -21,20 +24,24 @@これ以降の節をご覧ください。
+リポジトリの新規作成
+----------------------
+
+TODO
+
+リポジトリのクローン
+--------------------
+
+TODO
+
プロジェクトの変換
------------------
-TortoiseHg にはリポジトリを変換するためのツールはありませんが、
-Mercurial のリポジトリに変換しさえすれば TortoiseHg を利用できます。
-
どのように変換するのかについてはこのマニュアルの範囲を越えるため、
より詳細な説明については
http://mercurial.selenic.com/wiki/RepositoryConversion
を参照してください。
-
-.. NEEDFORREVIEW
-
-通常、 *convert* 拡張機能を有効にして親ディレクトリから::
+*convert* 拡張機能を有効にして親ディレクトリから::
hg convert myproject
|
@@ -9,6 +9,10 @@
同期ダイアログ
+.. note::
+ 同期ツールはバージョン 0.9 において廃止予定となり、以降のリリースで削除されます。
+ そのため同期操作はチェンジログビューアで行うことを推奨しています。
+
同期ツールはリポジトリ間でチェンジセットを転送したり、メールを送信するのに使います。
:guilabel:`受信`
@@ -21,9 +25,14 @@ それらはローカルにあって、指定したリポジトリにはないチェンジセットです。
:guilabel:`プッシュ`
チェンジセットを指定したリポジトリにプッシュします。その結果、
- ローカルにおける *tip* リビジョンが指定したリポジトリの新しい *tip* リビジョンになります。
+ ローカルにおける *tip* リビジョンが指定したリポジトリの新しい
+ *tip* リビジョンになります。
:guilabel:`メール送信`
指定したリポジトリへのチェンジセットをメールとして送信します
+ :guilabel:`シェルフ`
+ いくつかの同期操作は作業ディレクトリがクリーンであることを前提として
+ いるため、シェルフツールを起動して作業ディレクトリにおける変更点を
+ 一時的にシェルフに退避します。
:guilabel:`中止`
現在の操作を中止します
:guilabel:`設定`
@@ -52,12 +61,12 @@ 変更が衝突した場合にマージが発生する可能性があります。
:guilabel:`取得`
:command:`hg fetch` と同じ操作になります。動作の詳細については fetch 拡張機能の
- ヘルプを参照してください。
+ ヘルプを参照してください。この機能は fetch 拡張機能がユーザによって有効化されて
+ いるときのみ表示されます。
:guilabel:`リベース`
:command:`hg pull --rebase` と同じ操作になります。動作の詳細については
- rebase 拡張機能のヘルプを参照してください。
- リベース操作はリポジトリオブジェクトを保有するツールへの破壊的な操作となるため、
- チェンジログビューアとの連携動作を無効にします。
+ rebase 拡張機能のヘルプを参照してください。この機能は rebase 拡張機能が
+ ユーザによって有効化されているときのみ表示されます。
:guilabel:`プロキシサーバを使用する` チェックボックスは同期操作ごとに
プロキシサーバの設定を無効化するのに便利です。
@@ -89,14 +98,12 @@プルした後
----------
-チェンジセットがローカルのリポジトリにプルされた後、ダイアログの下部に2つのボタンが表示されます:
+チェンジセットがローカルのリポジトリにプルされた後、ダイアログの下部にボタンが表示されます:
- :guilabel:`プルされたチェンジセットを表示`
- チェンジログビューアを開いてプルされたチェンジセットを確認します
- :guilabel:`tipリビジョンに更新`
- 作業ディレクトリを新しい tip リビジョンに更新します
+ :guilabel:`tip リビジョンに更新`
+ 作業ディレクトリを現在のブランチの tip リビジョンに更新します
-どちらのボタンもその操作が有効なときのみ表示されます。
+ボタンは使用可能なときにのみ表示されます。
メール送信
@@ -145,13 +152,4 @@それ以外のエイリアスの場合は *default* URL が選択されます。
選択された URL が見つからない場合は最初に見つかったパスが使用されます。
-0.7 からの変更点
-----------------
-
-* リポジトリパスのドロップダウンリストに最近使用したパスを含めない。
- 表示されるのはリポジトリで設定されたパスのみ。
-* メールダイアログに :guilabel:`In-Reply-To` タグと添付ファイル形式の
- 設定項目を追加。
-* メールダイアログはパッチ数に関わらず説明メールを送信するようになった。
-
.. vim: noet ts=4
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
@@ -102,7 +102,7 @@ The annotation data will automatically follow lines of code back through
copies and renames to find the initial changeset that introduced the
line. The graph log pane will also attempt to follow renames and
-copies, so some lines in the graph may corrolate to different filenames
+copies, so some lines in the graph may correlate to different filenames
than the original annotated file path. Renames are indicated in the
graph by color changes within a column.
|
doc/source/figures/commit.png
size changed from 1017x674 to 830x560
mode changed from RGBA to RGB |
||
---|---|---|
|
doc/source/figures/log.png
size changed from 899x730 to 753x564
mode changed from RGBA to RGB |
||
---|---|---|
|
|
doc/source/figures/settings.png
size changed from 446x646 to 442x642
|
||
---|---|---|
|
doc/source/figures/syncbar.png
size changed from 628x29 to 763x28
|
||
---|---|---|
|
@@ -28,6 +28,7 @@
from mercurial import demandimport
demandimport.ignore.append('win32com.shell')
+demandimport.ignore.append('tortoisehg.util.config')
demandimport.enable()
from mercurial import ui, util
from tortoisehg.util.hgversion import hgversion, checkhgversion
@@ -56,6 +57,7 @@ mystderr = cStringIO.StringIO()
origstderr = sys.stderr
sys.stderr = mystderr
+ ret = 0
try:
ret = tortoisehg.hgtk.hgtk.dispatch(sys.argv[1:])
sys.stderr = origstderr
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
@@ -10,6 +10,7 @@ import time
import sys
import os
+import subprocess
from distutils.core import setup
from distutils.command.build import build
from distutils.spawn import spawn, find_executable
@@ -54,7 +55,7 @@ _scripts = []
_data_files = []
_packages = ['tortoisehg.hgtk', 'tortoisehg.hgtk.logview',
- 'tortoisehg.util']
+ 'tortoisehg.util', 'tortoisehg']
extra = {}
hgextmods = []
@@ -158,11 +159,19 @@ (scripts, packages, data_files, extra) = setup_posix()
desc='TortoiseHg dialogs for Mercurial VCS'
+version = ''
+
try:
- l = os.popen('hg -R . id -it').read().split()
+ l = os.popen('hg -R . id -i -t').read().split()
while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags
l.pop()
- version = l and l[-1] or 'unknown' # latest tag or revision number
+ if len(l) > 1: # tag found
+ version = l[-1]
+ if l[0].endswith('+'): # propagate the dirty status to the tag
+ version += '+'
+ elif len(l) == 1: # no tag found
+ cmd = 'hg parents --template {latesttag}+{latesttagdistance}-'
+ version = os.popen(cmd).read() + l[0]
if version.endswith('+'):
version += time.strftime('%Y%m%d')
except OSError:
|
@@ -55,7 +55,7 @@ # changeset info
style = csinfo.panelstyle(label=_('Changeset Description'),
margin=4, padding=2)
- self.csetframe = csinfo.create(repo, rev, style)
+ self.csetframe = csinfo.create(repo, rev, style, withupdate=True)
self.vbox.pack_start(self.csetframe, False, False, 2)
# backout commit message
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -145,11 +145,11 @@ date = self.opts.get('date') or ''
pats = ' '.join(self.pats) or ''
if self.qnew:
- return root + ' - qnew'
+ return root + _(' - qnew')
elif self.mqmode:
patch = self.repo.mq.lookup('qtip')
- return root + ' - qrefresh ' + patch
- return root + ' - ' + ' '.join(['commit', pats, user, date])
+ return root + _(' - qrefresh ') + patch
+ return root + ' '.join([_(' - commit'), pats, user, date])
def get_icon(self):
return 'menucommit.ico'
@@ -269,7 +269,8 @@ self.update_parent_labels()
self.update_commit_button()
if not self.committer_cbbox.get_active_text():
- user = self.opts['user'] or self.repo.ui.config('ui', 'username')
+ user = self.opts['user'] or os.environ.get('HGUSER') or \
+ self.repo.ui.config('ui', 'username')
if user:
update_recent_committers(hglib.toutf(user))
if not self.autoinc_entry.get_text():
@@ -300,7 +301,7 @@ adv_hbox.pack_start(self.committer_cbbox, True, True, 2)
self._mru_committers = self.settings.mrul('recent_committers')
self.update_recent_committers()
- committer = self.repo.ui.config('ui', 'username')
+ committer = os.environ.get('HGUSER') or self.repo.ui.config('ui', 'username')
if committer:
self.update_recent_committers(committer)
self.committer_cbbox.set_active(0)
@@ -336,7 +337,8 @@ else:
self.qnew_name = None
- liststore = gtk.ListStore(str, str)
+ liststore = gtk.ListStore(str, # summary line (utf-8)
+ str) # full commit message
self.msg_cbbox = gtk.ComboBox(liststore)
cell = gtk.CellRendererText()
self.msg_cbbox.pack_start(cell, True)
@@ -378,18 +380,19 @@ # parent changeset info
parents_vbox = gtk.VBox(spacing=1)
self.parents_frame = parents_vbox
- style = csinfo.labelstyle(contents=('Parent: %(rev)s',
+ style = csinfo.labelstyle(contents=(_('Parent: %(rev)s'),
' %(athead)s', ' %(branch)s', ' %(tags)s',
' %(summary)s'), selectable=True)
- def data_func(widget, ctx):
- return widget.get_data('ishead') or self.mqmode
- def markup_func(widget, value):
- if value:
- return ''
- text = '[%s]' % _('not at head revision')
- return gtklib.markup(text, weight='bold')
- custom = csinfo.custom(athead={
- 'data': data_func, 'markup': markup_func})
+ def data_func(widget, item, ctx):
+ if item == 'athead':
+ return widget.get_data('ishead') or self.mqmode
+ raise csinfo.UnknownItem(item)
+ def markup_func(widget, item, value):
+ if item == 'athead' and value is False:
+ text = '[%s]' % _('not at head revision')
+ return gtklib.markup(text, weight='bold')
+ raise csinfo.UnknownItem(item)
+ custom = csinfo.custom(data=data_func, markup=markup_func)
factory = csinfo.factory(self.repo, custom, style)
def add_parent():
label = factory()
@@ -439,6 +442,7 @@ return
buf.set_text(model[index][1])
buf.set_modified(False)
+ combobox.set_active(-1)
def first_msg_popdown(self, combo, shown):
combo.disconnect(self.popupid)
@@ -449,11 +453,13 @@ if msg:
self._mru_messages.add(msg)
self.settings.write()
- if self.popupid is not None: return
+ if self.popupid is not None:
+ return
liststore = self.msg_cbbox.get_model()
liststore.clear()
for msg in self._mru_messages:
- if not msg: continue
+ if not msg:
+ continue
sumline = hglib.toutf(hglib.tounicode(msg).splitlines()[0])
liststore.append([sumline, msg])
@@ -554,7 +560,7 @@ new_sentence = ['']
for part in parts:
- if len(new_sentence[-1]) + len(part) > line_width:
+ if len(new_sentence[-1]) + len(part) + 1 > line_width:
new_sentence.append('')
new_sentence[-1] += '%s ' % part
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
@@ -30,9 +30,9 @@
class Prompt(SimpleMessage):
- def __init__(self, title, message, parent):
+ def __init__(self, title, message, parent, type=gtk.MESSAGE_INFO):
SimpleMessage.__init__(self, parent, gtk.DIALOG_MODAL,
- gtk.MESSAGE_INFO, gtk.BUTTONS_CLOSE)
+ type, gtk.BUTTONS_CLOSE)
self.set_title(hglib.toutf(title))
self.set_markup('<b>' + hglib.toutf(message) + '</b>')
mod = gtklib.get_thg_modifier()
@@ -340,21 +340,41 @@ def get_menuitem(self, name):
return self.menuitems[name]
+ def get_widgets(self, name):
+ widgets = []
+ widgets.append(self.toolbuttons.get(name))
+ widgets.append(self.menuitems.get(name))
+ return widgets
+
def cmd_set_sensitive(self, name, sensitive):
- ws = []
- ws.append(self.toolbuttons.get(name))
- ws.append(self.menuitems.get(name))
- for w in ws:
+ for w in self.get_widgets(name):
if w:
w.set_sensitive(sensitive)
def cmd_set_active(self, name, active):
- ws = []
- ws.append(self.toolbuttons.get(name))
- ws.append(self.menuitems.get(name))
- for w in ws:
+ for w in self.get_widgets(name):
+ if w and hasattr(w, 'set_active'):
+ w.set_active(active)
+
+ def cmd_get_active(self, name, fallback=None):
+ prev = None
+ for w in self.get_widgets(name):
+ if w and hasattr(w, 'set_active'):
+ active = w.get_active()
+ if prev is not None and prev != active:
+ return fallback
+ prev = active
+ return prev
+
+ def cmd_handler_block_by_func(self, name, func):
+ for w in self.get_widgets(name):
if w:
- w.set_active(active)
+ w.handler_block_by_func(func)
+
+ def cmd_handler_unblock_by_func(self, name, func):
+ for w in self.get_widgets(name):
+ if w:
+ w.handler_unblock_by_func(func)
def get_reponame(self):
return hglib.get_reponame(self.repo)
|
@@ -16,7 +16,7 @@ from tortoisehg.util.i18n import _
from tortoisehg.util import paths, hglib, thread2
-from tortoisehg.hgtk import hgtk
+from tortoisehg.hgtk import hgtk, gdialog
if gtk.gtk_version < (2, 14, 0):
# at least on 2.12.12, gtk widgets can be confused by control
@@ -25,6 +25,10 @@else:
from gobject import markup_escape_text
+if gobject.pygobject_version <= (2,12,1):
+ # http://www.mail-archive.com/tortoisehg-develop@lists.sourceforge.net/msg06900.html
+ raise Exception('incompatible version of gobject')
+
def set_tortoise_icon(window, thgicon):
ico = paths.get_tortoise_icon(thgicon)
if ico: window.set_icon_from_file(ico)
@@ -158,10 +162,14 @@ """run the file dialog, either return a file name, or False if
the user aborted the dialog"""
try:
- import win32gui, win32con, pywintypes
- return self.runWindows()
+ import win32gui, win32con, pywintypes
+ filepath = self.runWindows()
except ImportError:
- return self.runCompatible()
+ filepath = self.runCompatible()
+ if filepath:
+ return self.overwriteConfirmation(filepath)
+ else:
+ return False
def runWindows(self):
@@ -198,7 +206,7 @@ while thread.isAlive():
# let gtk process events while we wait for rundlg finishing
gtk.main_iteration(block=True)
- fname = None
+ fname = False
if q.qsize():
fname = q.get(0)
return fname
@@ -213,7 +221,6 @@ buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_SAVE, gtk.RESPONSE_OK)
dlg = gtk.FileChooserDialog(self.title, None, action, buttons)
- dlg.set_do_overwrite_confirmation(True)
dlg.set_default_response(gtk.RESPONSE_OK)
dlg.set_current_folder(self.initial)
if not self.open:
@@ -229,6 +236,18 @@ result = False
dlg.destroy()
return result
+
+ def overwriteConfirmation(self, filepath):
+ result = filepath
+ if os.path.exists(filepath):
+ res = gdialog.Confirm(_('Confirm Overwrite'), [], None,
+ _('The file "%s" already exists!\n\n'
+ 'Do you want to overwrite it?') % filepath).run()
+ if res == gtk.RESPONSE_YES:
+ os.remove(filepath)
+ else:
+ result = False
+ return result
class NativeFolderSelectDialog:
"""Wrap the windows folder dialog, or display default gtk dialog if
@@ -338,7 +357,7 @@ All options must be passed as keywork arguments.
"""
if len(kargs) == 0:
- return text
+ return markup_escape_text(str(text))
attr = ''
for name, value in kargs.items():
attr += ' %s="%s"' % (name, value)
|
@@ -30,10 +30,8 @@ if len(title) > 80:
title = title[:80] + '...'
title = hglib.toutf(title.replace('\n', ' '))
- gtk.Dialog.__init__(self,
- title=title,
- flags=gtk.DIALOG_MODAL,
- )
+ gtk.Dialog.__init__(self, title=title, flags=gtk.DIALOG_MODAL)
+ self.set_has_separator(False)
gtklib.set_tortoise_icon(self, 'hg.ico')
gtklib.set_tortoise_keys(self)
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
Loading...