view doc/ja/hg.1.ja.txt @ 4370:4ddc6d374265

localrepository.status: only acquire wlock if actually needed. This speeds up the common case of not needing to update the dirstate, and avoids the need to reload and parse the dirstate "just in case".
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 24 Apr 2007 11:05:39 -0700
parents 345bac2bc4ec
children 63b9d2deed48
line wrap: on
line source

HG(1)
=====
Matt Mackall <mpm@selenic.com>

名前
--
hg - Mercurial ソースコード管理システム

書式
--
'hg' [-v -d -q -y] <command> [command options] [files]

説明
--
hg(1) コマンドは Mercurial システムへのコマンドラインインターフェ
イスを提供します。

オプション
----

-R, --repository::
    リポジトリのルートディレクトリを指定します。

--cwd::
    作業ディレクトリを変更します。

-y, --noninteractive::
    プロンプトを出さずに、要求された答えが全て 'yes' であると仮定
    します。

-q, --quiet::
    出力を抑制します。

-v, --verbose::
    さらなる出力を可能にします。

7--debug::
    デバッグ出力を可能にします。

--traceback::
    例外時にトレースバックを表示します。

--time::
    コマンドにどのくらい時間がかかるかを表示します。

--profile::
    コマンドを実行したときのプロファイルを表示します。

--version::
    バージョン情報を表示して終了します。

-h, --help::
    ヘルプを表示して終了します。

コマンドの要素
-------

files ...::
    1つ以上のファイル名か相対的なパスを表します; パターンマッチン
    グの情報は「ファイル名のパターン」を参照してください。

path::
    ローカルマシン上のパスを表します

revision::
    チェンジセットのリビジョンナンバー, タグ, チェンジセットのハッ
    シュ値のユニークな部分文字列により指定できるチェンジセットを表
    します

repository path::
    ローカルのリポジトリのパス名かリモートのリポジトリの URI を表
    します。URI のプロトコルとしては現在 2 つが利用可能です。
    http:// は高速で、static-http:// は遅いですがウェブのホストに特別
    なサーバを必要としません。

コマンド
----

add [options] [files ...]::
    ファイルをバージョン管理下に置きリポジトリに追加することを予定
    します。

    ファイルは次にコミット時にリポジトリに追加されます。

    ファイル名が与えられなければ、現在のディレクトリとサブディレク
    トリの全てのファイルを追加します。

addremove [options] [files ...]::
    新しいファイルを全て追加し無くなったファイルを全てリポジトリか
    ら取り除きます。

    新しいファイルは .hgignore 中のパターンにマッチした場合無視さ
    れます。add のようにこの変更は次のコミット時に効果を持ちます。

annotate [-r <rev> -u -n -c] [files ...]::
    ファイル中の変更を列挙し、各行の原因であるリビジョン id を表示
    します。

    このコマンドある変更が生じた際に誰がその変更をしたかを発見する
    のに役に立ちます。

    -a オプションが無いと、annotate はバイナリとして検出されたファ
    イルを避けるようになります。-a があると、annotate はとくかく注
    釈を生成し、おそらく望ましくない結果になるでしょう。

    オプション:
    -a, --text            全てのファイルをテキストとして扱います
    -I, --include <pat>   与えられたパターンにマッチした名前を含め
                          ます
    -X, --exclude <pat>   与えられたパターンにマッチした名前を除外
                          します
    -r, --revision <rev>  指定されたリビジョンの注釈を生成します
    -u, --user            著者を列挙します
    -c, --changeset       チェンジセットを列挙します
    -n, --number          リビジョンナンバーを列挙します
                          (デフォルト)

bundle <file> <other>::
    (実験的)

    他のリポジトリには見付からなかった全てのチェンジセットを集めた、
    圧縮済みチェンジグループファイルを生成します。

    このファイルは従来の方法で転送することができ、他のリポジトリに
    unbundle コマンドで適用できます。これは push と pull が使えな
    いか、リポジトリ全体をエクスポートしてしまうことが望ましくない
    ときに便利です。標準のファイル拡張子は ".hg" です。

    import/export と違って、これはパーミッション、名前変更のデータ、
    リビジョンの履歴を含めたチェンジセットの内容全てを保存します。

cat [options] <file ...>::
    指定されたファイルを与えられたリビジョンの内容で表示します。リ
    ビジョンが指定されなかった場合は tip が使われます。

    出力はファイルに対しても可能です。その場合、ファイル名はフォー
    マット文字列により指定されます。フォーマット規則は export コマ
    ンドと同じですが、さらに次のものが追加されます。

    %s   出力されるファイルのベース名
    %d   出力されるファイルのディレクトリ名か、リポジトリのルート
         にいる場合は "."
    %p   出力されるファイルのルートからの相対パス

    オプション:
    -I, --include <pat>       与えられたパターンにマッチした名前
                              を含めます
    -X, --exclude <pat>       与えられたパターンにマッチした名前
                              を除外します
    -o, --output <filespec>   整形された名前でファイルに出力しま

    -r, --rev <rev>           与えられたリビジョンを表示します

clone [-U] <source> [dest]::
    既存のリポジトリのコピーを新しいディレクトリに作成します

    コピー先のディレクトリ名が指定されなければ、デフォルトでソース
    のベース名を使用します。

    今後の pull に使えるように、コピー元が新しいリポジトリの
    .hg/hgrc に追加されます。

    効率のために、コピー元とコピー先が同じファイルシステム上にある
    場合はハードリンクが使われます。

    オプションン:
    -U, --noupdate   新しい作業ディレクトリで update を行いません
    -e, --ssh        使用される ssh コマンドを指定します
    --remotecmd      リモート側で実行する hg コマンドを指定します

commit [options] [files...]::
    指定されたファイルの変更をリポジトリにコミットします。

    もしファイルのリストが省略されたら、リポジトリのルートから実行
    した"hg status" で報告される全ての変更がコミットされます。

    HGEDITOR や EDITOR 環境変数はコミット時のコメントを追加するエ
    ディタを起動するために使われます。

    オプション:

    -A, --addremove       コミット中に addremove を実行します
    -I, --include <pat>   与えられたパターンにマッチした名前を含め
                          ます
    -X, --exclude <pat>   与えられたパターンにマッチした名前を除外
                          します
    -m, --message <text>  <text> をコミットメッセージとして使いま

    -l, --logfile <file>  <file> からコミットメッセージを読み込み
                          ます
    -d, --date <datecode> datecode をコミットした日付として記録し
                          ます
    -u, --user <user>     user をコミッタとして記録します。

    別名: ci

copy <source ...> <dest>::
    コピー先がコピー元のファイルのコピーを持っていると印を付けます。
    もしコピー先がディレクトリなら、コピーはディレクトリ中に置かれ
    ます。もしコピー先がファイルなら、コピー元は1つのみ指定可能で
    す。

    デフォルトでは、このコマンドはファイルがその作業ディレクトリに
    あるものとしてその内容をコピーします。もし --after と一緒に呼
    び出されれば、操作は記録されますが、コピーは実行されません。

    このコマンドは次のコミット時に効果を持ちます。

    注意: このコマンドは実験的です。リネームされたファイルを適切に
    記録できますが、この情報はマージによってまだ完全には使われませ
    んし、ログで完全に報告されることもありません。

    オプション:
    -A, --after           既に発生したコピーを記録します。
    -I, --include <pat>   与えられたパターンにマッチした名前を含め
                          ます
    -X, --exclude <pat>   与えられたパターンにマッチした名前を除外
                          します
    -f, --force           既存の変更されたファイルに無理矢理コピー
                          します
    -p, --parents         コピー先にコピー元のパスを追加します
    
    別名: cp

diff [-a] [-r revision] [-r revision] [files ...]::
    指定されたファイルのリビジョン間の差分を表示します。

    ファイル間の差分は unified diff 形式で表示されます。

    2つのリビジョンが引数として指定された場合、それらのリビジョン
    間の差分が表示されます。1つのリビジョンしか指定されなければ、
    そのリビジョンは作業ディレクトリと比較されます。そして リビジョ
    ンが指定されなければ、作業ディレクトリのファイルがその親と比較
    されます。

    -a オプション無しでは、diff はバイナリファイルを検出したときに
    その差分を生成するのを避けます。-a オプションでは、diff はとに
    かく差分を生成し、恐らく望ましくない結果をもたらすでしょう。

    オプション:
    -a, --text           全てのファイルをテキストとして扱います
    -I, --include <pat>  与えられたパターンにマッチした名前を含め
                         ます
    -X, --exclude <pat>  与えられたパターンにマッチした名前を除外
                         します

export [-o filespec] [revision] ...::
    1つ以上のリビジョンのチェンジセットのヘッダと差分を出力します。

    チェンジセットのヘッダに表示される情報は: 著者、チェンジセット
    のハッシュ、親、コミット時のコメントです。

    出力はファイルに対しても可能です。その場合、ファイル名はフォー
    マット文字列により指定されます。フォーマット規則は下記の通りで
    す:

    %%   そのままの "%" 文字
    %H   チェンジセットのハッシュ (40 バイトの 16 進数)
    %N   生成されているパッチの番号
    %R   チェンジセットのリビジョンナンバー
    %b   エクスポートしているリポジトリのメース名
    %h   短い形式のチェンジセットのハッシュ (12 バイトの 16 進数)
    %n   0 で 詰められた 1 から始まる連番
    %r   0 で 詰められたリビジョンナンバー

    -a オプション無しでは、diff はバイナリファイルを検出したときに
    その差分を生成するのを避けます。-a オプションでは、diff はとに
    かく差分を生成し、恐らく望ましくない結果をもたらすでしょう。

    オプション:
    -a, --text                全てのファイルをテキストとして扱います
    -o, --output <filespec>   整形された名前でファイルに出力します

forget [options] [files]::
    次のコミット時に予定された 'hg add' を取り消します。

    オプション:
    -I, --include <pat> 与えられたパターンにマッチした名前を含めま
    -すX, --exclude <pat> 与えられたパターンにマッチした名前を除外
    -します

grep [options] pattern [files]::
    正規表現によりファイルのリビジョンを検索します。

    このコマンドは Unix の grep とは違う振舞いをします。これは
    Python/Perl の正規表現だけを受けつけます。これは作業ディレクト
    リではなくリポジトリの履歴を検索します。これは常にマッチしたも
    のが現れたリビジョンナンバーを表示します。

    デフォルトでは、grep はマッチしたものが見つかったファイルの最
    初のリビジョンを出力します。マッチ状況の変化("-" はマッチが非
    マッチに、"+" は非マッチがマッチに)を含んだ各リビジョンを表示
    するには、--all フラグを使ってください。

    オプション:
    -0, --print0              ファイル名を NUL で終えます。
    -I, --include <pat>       与えられたパターンにマッチした名前
                              を含めます
    -X, --exclude <pat>       与えられたパターンにマッチした名前
                              を除外します
        --all                 マッチした全てのリビジョンを表示し
                              ます
    -i, --ignore-case         マッチのときに英大文字と小文字を区
                              別しないようにします
    -l, --files-with-matches  マッチしたファイル名とリビジョンの
                              みを表示します
    -n, --line-number         マッチした行番号を表示します
    -r, --rev <rev>           指定されたリビジョンの間で検索しま

    -u, --user                その変更をコミットしたユーザを表示
                              します

heads::
    リポジトリの先頭のチェンジセットを全て表示します。

    リポジトリの「先頭」とは子のチェンジセットを持っていないチェン
    ジセットです。それらは大抵開発が行われる場所で、通常 update と
    merge 操作の対象となるところです。

identify::
    レポジトリの現在の状態の短いサマリを表示します。

    このサマリはリポジトリの状態を1つまたは2つの親のハッシュ識別子
    を使って識別します。親のハッシュ識別子はもし作業ディレクトリに
    コミットされていない変更があれば後ろに + が付き、更にその後に
    このリビジョンのタグのリストが付きます。

    別名: id

import [-p <n> -b <base> -f] <patches>::
    一連のパッチをインポートし、それぞれ個別にコミットします。

    作業ディレクトリに未解決の変更があった場合、import は -f フラ
    グが指定されてなければ中断します。

    もしパッチがメールのよう(最初の行が "From " か RFC 822 ヘッダ
    のよう) であれば、-f オプションが使われていない限りそれは適用
    されません。インポート機構はメールのヘッダをパースもしなければ
    破棄もしないので、本物のメールをインポートしないようにする「メー
    ルのようなものの」健全性チェックを上書きするためだけに -f を使っ
    てください。

    オプション:
    -p, --strip <n>   patch の ディレクトリ除去オプションです。これ
                      は関連する patch のオプションと同じ意味を持ち
                      ます
    -b <path>         パッチを読み込むベースとなるディレクトリを指
                      定します
    -f, --force       未解決でまだコミットされていない変更のチェッ
                      クを省略します

    別名: patch

incoming [-p] [source]::
    指定されたリポジトリか、デフォルトで pull するリポジトリ中に見
    つかった新しいチェンジセットを表示します。これらは pull が要求
    されたときにpull されるチェンジセットです。

    現在はローカルのリポジトリのみがサポートされています。

    オプション:
    -p, --patch           パッチを表示します

    別名: in

init [dest]::
    指定されたディレクトリ中に新しいリポジトリを初期化します。指定
    されたディレクトリが存在しない場合は作成されます。

    ディレクトリが指定されなければ、現在のディレクトリが使用されま
    す。

locate [options] [files]::
    Mercurial の管理下にあるファイルで名前が指定されたパターンにマッ
    チしたものを全て表示します。

    このコマンドは現在のディレクトリとサブディレクトリを検索します。
    リポジトリ全体を検索するには、リポジトリのルートに移動してくだ
    さい。

    もしマッチするためのパターンが与えられなければ、このコマンドは
    全てのファイルの名前を表示します。

    もしこのコマンドの出力を "xargs" コマンドに送りたいなら、
    "-0" オプションをこのコマンドと "xargs" コマンドの両方で使用し
    てください。これは "xargs" がスペースの入ったファイル名を複数
    のファイル名として扱わないようにします。

    オプション:

    -0, --print0         xargs と一緒に使うために、ファイル名を 
                         NUL で終えます
    -f, --fullpath       ファイルシステムのルートからの完全なパ
                         スを表示します
    -I, --include <pat>  与えられたパターンにマッチした名前を含
                         めます
    -r, --rev <rev>      rev のときのリポジトリを検索します
    -X, --exclude <pat>  与えられたパターンにマッチした名前を除外
                         します

log [-r revision ...] [-p] [files]::
    指定されたファイルかプロジェクト全体のリビジョンの履歴を表示し
    ます。

    デフォルトではこのコマンドは次のものを出力します: チェンジセッ
    トのid とハッシュ、タグ、親、ユーザ、日付、各コミットのサマ
    リ。-v スイッチは変更されたファイルやマニフェストのハッシュ、
    メッセージのシグネチャといったより詳しい情報を追加します。

    オプション:
    -I, --include <pat>   与えられたパターンにマッチした名前を含め
                          ます
    -X, --exclude <pat>   与えられたパターンにマッチした名前を除外
                          します
    -r, --rev <A>         指定されたリビジョンまたは範囲を表示しま

    -p, --patch           パッチを表示します

    別名: history

manifest [revision]::
    指定されたリビジョンでバージョン管理されているファイルのリスト
    を表示します。

    manifest はバージョン管理されているファイルのリストです。もし
    リビジョンが指定されなければ、tip が使われます。

outgoing [-p] [dest]::
    指定された行き先のリポジトリかデフォルトで push するリポジトリ
    中に見付からなかったチェンジセットを表示します。これらは push
    が要求されたときに push されるであろうチェンジセットです。

    オプション:
    -p, --patch           パッチを表示します

    別名: out

parents::
    作業ディレクトリの親リビジョンを表示します。

paths [NAME]::
    シンボルのパス名である NAME の行き先を表示します。もしシンボル
    名が指定されなければ、利用可能なシンボル名の行き先を表示します。

    パス名は /etc/mercurial/hgrc と $HOME/.hgrc の [paths] セクショ
    ンで定義されます。もしリポジトリの内部で実行された場
    合、.hg/hgrc も使用されます。

pull <repository path>::
    リモートのリポジトリの変更をローカルのリポジトリに pull します。

    これは指定されたパスや URL にあるリポジトリの全ての変更を見つ
    けて、それらをローカルのリポジトリに追加します。デフォルトでは、
    これは作業ディレクトリのプロジェクトのコピーを更新しません。

    有効な URL の次の形式です:

      local/filesystem/path
      http://[user@]host[:port][/path]
      https://[user@]host[:port][/path]
      ssh://[user@]host[:port][/path]

    SSH は行き先のマシンのシェルアカウントと、リモートのパスにhg
    のコピーが必要になります。SSH を使用すると、パスはデフォルトで
    はリモートのユーザのホームディレクトリの相対パスになります; ファ
    イルシステムのルートからの相対パスであることを指定するには、パ
    スの最初にスラッシュを 2つ使用してください。

    オプション:
    -u, --update   pull の後に作業ディレクトリを tip に更新します
    -e, --ssh    使用する ssh コマンドを指定します
    --remotecmd  リモート側で使われる hg コマンドを指定します

push <destination>::
    ローカルのリポジトリの変更を指定された行き先に push します。

    これは pull と対称的な操作です。これは現在のリポジトリの変更を
    他のリポジトリへ移すのに役立ちます。もし行き先がローカルであれ
    ば、これはそのディレクトリから現在のディレクトリに対して pull
    するのと同じです。

    デフォルトでは、push は実行した結果リモートのヘッドの数が増え
    るならば、実行を拒否します。これはたいていクライアントが push
    する前に sync とmerge を忘れていることを意味します。

    有効な URL は次の形式です:

      local/filesystem/path
      ssh://[user@]host[:port][/path]

    SSH は行き先のマシンのシェルアカウントと、リモートのパスに hg
    のコピーが必要になります。

    オプション:

    -f, --force  update を強行します
    -e, --ssh    使用される ssh コマンドを指定します
    --remotecmd  リモート側で実行される hg コマンドを指定します

rawcommit [-p -d -u -F -m -l]::
    低レベルのコミットで、ヘルパースクリプト中で使用されます。

    このコマンドは通常のユーザに使われることは想定していません。こ
    れは主に他の SCM からインポートするときに便利です。

recover::
    中断された commit や pull から復帰します。

    このコマンドは中断された操作からリポジトリの状態を修整しようと
    試みます。これは Mercurial がそうするよう提案したときのみ必要
    でしょう。

remove [options] [files ...]::
    指定されたファイルをリポジトリから削除することを予定します。

    このコマンドはファイルを次のコミット時に削除することを予定しま
    す。このコマンドはファイルを現在の枝から取り除くだけで、プロジェ
    クトの履歴全体からは削除しません。もしファイルが作業ディレクト
    リ中にまだ存在していれば、それらは作業ディレクトリから削除され
    ます。

    別名: rm

rename <source ...> <dest>::
    コピー先をコピー元のコピーのコピーであると印をつけます; コピー
    元に削除の印をつけます。もしコピー先がディレクトリであれば、コ
    ピーはそのディレクトリ中に置かれます。もしコピー先がファイルな
    ら、コピー元は 1 つのみ指定可能です。

    デフォルトでは、このコマンドはファイルがその作業ディレクトリに
    あるものとしてその内容をコピーします。もし --after と一緒に呼
    び出されれば、操作は記録されますが、コピーは実行されません。

    このコマンドは次のコミット時に効果を持ちます。

    注意: このコマンドは実験的です。リネームされたファイルを適切に
    記録できますが、この情報はマージによってまだ完全には使われませ
    んし、ログで完全に報告されることもありません。

    オプション:
    -A, --after        既に発生したリネームを記録します
    -f, --force        既存の変更されたファイルに無理矢理コピーし
                       ます
    -p, --parents      コピー先にコピー元のパスを追加します

    別名: mv

revert [names ...]::
    指定されたファイルやディレクトリの未コミットの変更を取り消しま
    す。これは関連したファイルの内容をコミットされてない状態に戻し
    ます。

    もしファイルが削除されていれば、再作成されます。もしファイルの
    実行モードが変更されていれば、リセットされます。

    ディレクトリが指定された場合、そのディレクトリ中のすべてのファ
    イルとサブディレクトリが元に戻されます。

    もし引数が指定されなければ、現在のディレクトリ中の全てのファイ
    ルとサブディレクトリが元の戻されます。

    オプション:
    -r, --rev <rev>       元に戻す先のリビジョンを指定します
    -n, --nonrecursive    サブディレクトリを再帰的に辿らないように
                          します

root::
    現在のリポジトリのルートディレクトリを表示します。

serve [options]::
    ローカルの HTTP リポジトリと pull サーバを起動します。

    デフォルトでは、サーバはアクセスログを標準出力に、エラーログを
    標準エラー出力に出力します。ファイルにログを取るには "-A" と
    "-E" オプションを使ってください。

    オプション:
    -A, --accesslog <file>   アクセスログが出力されるファイルの名前
                             を指定します
    -E, --errorlog <file>    エラーログが出力されるファイルの名前を
                             指定します
    -a, --address <addr>     使用するアドレスを指定します
    -p, --port <n>           使用するポートを指定します 
                             (デフォルト: 8000)
    -n, --name <name>        ウェブページで表示する名前を指定します 
                             (デフォルト: working dir)
    -t, --templatedir <path> 使用するウェブの雛型を指定します
    -6, --ipv6               IPv4 に加えて IPv6 も使用します

status [options] [files]::
    作業ディレクトリ中の変更されたファイルを表示します。名前が指定
    されなければ、全てのファイルが表示されます。名前が指定されれば、
    指定された名前にマッチしたファイルのみが表示されます。

    ファイルの状態を表示するのに使われる記号:

    M = 変更されました
    A = 追加されました
    R = 削除されました
    ? = バージョン管理下にありません

    オプション:

    -m, --modified       変更されたファイルのみを表示します
    -a, --added          追加されたファイルのみを表示します
    -r, --removed        削除されたファイルのみを表示します
    -u, --unknown        不明な(バージョン管理下にない)ファイルのみ
                         を表示します
    -n, --no-status      状態を示す接頭辞を隠します
    -0, --print0         xargs と一緒に使うために、ファイル名を NUL
                         で終えます
    -I, --include <pat>  与えられたパターンにマッチした名前を含めま

    -X, --exclude <pat>  与えられたパターンにマッチした名前を除外し
                         ます

tag [-l -m <text> -d <datecode> -u <user>] <name> [revision]::
    特定のリビジョンに <name> を使って名前を付けます。

    タグはリポジトリの特定のリビジョンに名前を付けるために使われ、
    そして異なるリビジョンを比較したり、重要な以前のバージョンに戻っ
    たり、リリース等の分岐点に印をつけたりするのに便利です。

    もしバージョンが指定されなければ、tip が使われます。

    バージョン管理、配布、タグのマージを楽にするために、それらは
    ".hgtags" という名前のファイルに格納され、他のプロジェクトのファ
    イルと同様に扱ったり、必要であれば手で編集できます。

    オプション:
    -l, --local           タグをローカルにします
    -m, --message <text>  タグをコミットしたときのログのエントリの
                          メッセージを指定します
    -d, --date <datecode> コミットの日付を指定します
    -u, --user <user>     コミットするユーザを指定します

    注意: ローカルのタグはバージョン管理や配布されることはなく、ま
    た.  hg/localtags ファイルに格納されます。もし同じ名前のローカ
    ルのタグと公開されたタグがあれば、ローカルのタグが使われます。

tags::
    リポジトリのタグを列挙します。

    これは通常のタグとローカルのタグを両方列挙します。

tip::
    tip のリビジョンを表示します。

unbundle <file>::
    (実験的)

    bundle コマンドで生成された、圧縮済みチェンジグループファイル
    を適用します。

undo::
    最後の commit や pull の処理を取り消します。

    リポジトリの最後の pull や commit 処理を巻戻し、プロジェクトを
    それより前の状態に戻します。

    このコマンドは注意して使ってください。まだ 1回の undo だけで、
    redo はありません。

    このコマンドは公開したリポジトリで使われることは想定していませ
    ん。いったん他のユーザから pull で変更が見えるようになれば、ロー
    カルでそれを取り消しても意味がありません。

update [-m -C] [revision]::
    作業ディレクトリを指定されたリビジョンに更新します。

    デフォルトでは、更新によりローカルの変更をマージしたり破棄した
    りすることが必要となるとき、update はそれを拒否します。

    -m オプションで、マージが実行されます。

    -C オプションで、ローカルの変更が失われます。

    オプション:
    -m, --merge       枝のマージを許可します
    -C, --clean       ローカルで変更されたファイルを上書きします

    別名: up checkout co

verify::
    現在のリポジトリの整合性を検証します。

    これはリポジトリの整合性を全面的にチェックし、チェンジログの各
    エントリ、manifest, 管理下のファイルのハッシュとチェックサムを
    検証し、またクロスリンクとインデクスの整合性も検証します。

ファイル名とパターン
---------

    Mercurial では同時に複数のファイルを識別するのに複数の記法が使
    えます。

    デフォルトでは、Mercurial はファイル名をシェルのスタイルの拡張
    glob パターンとして扱います。

    別のパターン表記は明示的に指定する必要があります。

    パターンマッチングなしの単純なパス名を使うには、パス名を
    "path:" で始めてください。これらのパス名は、現在のリポジトリの
    ルートから完全にマッチしている必要があります。

    拡張 glob を使うには、名前を "glob:" で始めてください。glob は
    現在のディレクトリのみに適用されます: "*.c" といった glob は現
    在のディレクトリ中の ".c" で終わるファイルのみにマッチします。

    サポートされている glob 文法の拡張はパスの分離記号を越えて全て
    の文字列にマッチする "**" と、"a または b" を意味する "{a,b}"
    です。

    Perl/Python の正規表現を使うには、名前を "re:" で始めてくださ
    い。正規表現によるマッチはリポジトリのルートの固定されています。

    単純な例:

    path:foo/bar   リポジトリのルートにある foo というディレクトリ
                   の bar という名前
    path:path:name "path:name" という名前のファイルまたはディレク
                   トリ

    Glob の例:

    glob:*.c       現在のディレクトリ中の ".c" で終わる全ての名前
    *.c            現在のディレクトリ中の ".c" で終わる全ての名前
    **.c           現在のディレクトリと全てのサブディレクトリ中の
                    ".c" で終わる全ての名前
    foo/*.c        ディレクトリ foo 中の ".c" で終わる全ての名前
    foo/**.c       ディレクトリ foo とその全てのサブディレクトリ中
                   の ".c" で終わる全ての名前

    正規表現の例:

    re:.*\.c$      リポジトリ全体の中の ".c" で終わる全ての名前


単一のリビジョンの指定法
-----------

    Mercurial では個々のリビジョンを識別するのに複数の記法が使えま
    す。

    単純な整数はリビジョンナンバーとして扱われます。負の整数はtip
    からのオフセットとして扱われ、-1 が tip を表します。

    40 桁の 16 進数の文字列はユニークなリビジョン識別子として扱わ
    れます。

    40 桁より少ない 16 進数の文字列はユニークなリビジョン識別子と
    して扱われ、短い形式の識別子と呼ばれます。短い形式の識別子はそ
    れが完全な長さの識別子の接頭語であるときだけ有効です。

    他の文字列は全てタグ名として扱われます。タグはあるリビジョン識
    別子に関連付けられたシンボル名です。タグ名は ":" 文字を含んで
    はいけません。

    リビジョン名 "tip" は特別なタグで、常に一番最新のリビジョンを
    指します。

複数のリビジョンの指定法
-----------

    Mercurial が 1つより多くのリビジョンを受けいれるとき、それらは
    別々に指定されるか、連続した範囲として ":" 文字で区切って与え
    られるかもれません。

    範囲表記の構文は [BEGIN]:[END] で BEGIN と END はリビジョンの
    識別子です。BEGIN も END も両方とも任意です。もし BEGIN が指定
    されなければ、デフォルトでリビジョンナンバー 0 になります。も
    し END が指定されなければ、デフォルトで tip になります。従って
    範囲 ":" は "全てのリビジョン" を意味します。

    もし BEGIN が END より大きければ、リビジョンは逆の順序として扱
    われます。

    範囲は閉区間として動作します。これは範囲が 3:5 は 3,4,5 になる
    ことを意味します。同様に、範囲 4:2 は 4,3,2 になります。

環境変数
----

HGEDITOR::
    これはコミッチ時に使われるエディタの名前です。デフォルトでは
    EDITOR の値が使われます。

    (廃止予定です, .hgrc を使ってください)

HGMERGE::
    merge 時の衝突を解決するのに使われる実行ファイルです。プログラ
    ムは3 つの引数で実行されます: ローカルのファイル、リモートのファ
    イル、1 世代前のファイルです。

    デフォルトのプログラムは "hgmerge" で、これは Mercurial によっ
    て提供される常識的な設定のシェルスクリプトです。

    (廃止予定です, .hgrc を使ってください)

HGUSER::
    これはコミット時の著者として使われる文字列です。

    (廃止予定です, .hgrc を使ってください)

EMAIL::
    もし HGUSER が設定されていなければ、これがコミット時の著者とし
    て使われます。

LOGNAME::
    もし HGUSER も EMAIL も設定されていなければ、コミット時の著者
    としてLOGNAME が('@hostname' を付けた形で)使われます。

EDITOR::
    これは hgmerge スクリプト中で使われるエディタの名前です。もし
    HGEDITOR が設定されていなければ、コミット時のメッセージに使わ
    れます。デフォルトは 'vi' です。

PYTHONPATH::
    これはインポートされるモジュールを見つけるために Python によっ
    て使われ、Mercurial がシステム全体にインストールされていなけれ
    ば、適切に設定される必要があるでしょう。

ファイル
----
 .hgignore::
    このファイルは(1行ごとに) hg によって無視されるべきファイルを
    記述した正規表現を含みます。

 .hgtags::
    このファイルはリポジトリの内容のタグ付けされたバージョンに一致
    したハッシュ値とテキストのタグ名(それぞれは空白で区切られます)を
    含みます。

 /etc/mercurial/hgrc, $HOME/.hgrc, .hg/hgrc::
    このファイルはデフォルトの設定を含みます。.hg/hgrc の値は
    $HOME/.hgrc の設定を上書きし、$HOME/.hgrc の設定はグローバルな
    /etc/mercurial/hgrc の設定を上書きします。これらのファイルの内
    容と書式の詳細については hgrc(5) を参照してください。

バグ
--
沢山あるでしょうから、もしバグを見つけたらそれをメーリングリスト
(下の情報源を参照)に送ってください。

関連項目
----
hgrc(5)

著者
--
Matt Mackall <mpm@selenic.com> により書かれました。

情報源
---
http://selenic.com/mercurial[主なウェブサイト]

http://www.serpentine.com/mercurial[Wiki サイト]

http://selenic.com/hg[ソースコードのリポジトリ]

http://selenic.com/mailman/listinfo/mercurial[メーリングリスト]

著作権情報
-----
Copyright (C) 2005, 2006 Matt Mackall.
このソフトウェアの自由な使用は GNU 一般公有使用許諾 (GPL) のもとで
認められます。