view doc/ja/hgrc.5.ja.txt @ 1803:06e7447c7302

speed up hg log --patch Changing dodiff to read the manifest/changelog for node1 before calling repo.update allows us to take advantage of the revlog revision cache. Before this patch and my previous "speed up hg log --debug" patch, when using hg log -p to display three revisions (A, B and C), dodiff and repo.changes would end up reading the manifests in this order: B A B A C B C B With both patches, this order becomes: A A B B B B C C (This considers only dodiff and repo.changes. I'm not sure how other parts of hg log enter the picture.) The speed up will depend on the revisions being displayed. (All "before" times already have my previous "speed up hg log --debug" patch applied.) hg repo (tip = 414e81ae971f). hg log -p before after real 0m50.981s 0m45.279s user 0m47.930s 0m42.560s sys 0m2.526s 0m2.523s output size: 6917897 bytes kernel repo (tip = 9d4e135960ed). hg log -p -l64 before after real 2m14.995s 1m45.025s user 2m9.509s 1m33.900s sys 0m3.663s 0m2.942s output size: 31497621 bytes same kernel repo. hg log -p -l64 -r c84c2069592f:0 before after real 1m48.045s 1m0.076s user 1m44.094s 0m58.492s sys 0m2.603s 0m1.103s output size: 197983 bytes c84c2069592f was the tip of a 10 day old kernel repo that I had lying around and was where I first tested this patch. For some weird coincidence it's also a place where the patch makes a huge difference.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 26 Feb 2006 02:26:17 +0100
parents 874efc57e00a
children ea7b982b6c08
line wrap: on
line source

HGRC(5)
=======
Bryan O'Sullivan <bos@serpentine.com>

名前
--
hgrc - Mercurial の設定ファイル

書式
--

Mercurial システムはその振舞いの正常を制御するのに、一連の設定ファ
イルを使用します。

ファイル
----

Mercurial は 3つのファイルから設定を読みます:

/etc/mercurial/hgrc::
    このグローバルの設定ファイルのオプションは実行したユーザ、ディ
    レクトリを問わず全ての Mercurial コマンドに適用されます。

$HOME/.hgrc::
    ユーザ毎の設定オプションで、ディレクトリを問わず全ての
    Mercurial コマンドに適用されます。このファイルの値はグローバル
    の設定を上書きします。

<repo>/.hg/hgrc::
    リポジトリ毎の設定オプションで、そのリポジトリのみに適用されま
    す。このファイルはバージョン管理されず、 "clone" 操作で転送さ
    れることもありません。このファイルの値はグローバルの設定とユー
    ザ毎の設定を上書きします。

構文
--

設定ファイルは "[セクション]" ヘッダから始まるセクションと、それに
続く"名前: 値"のエントリから成ります: "名前=値"も認められます。

    [spam]
    eggs=ham
    green=
       eggs

各行は1つのエントリを含みます。もし次の行がインデントされていた場
合、それは前の行の続きとして扱われます。

先行する空白は値から取り除かれます。空行は読み飛ばされます。

オプションの値は同じセクションや、特別な DEFAULT セクションの別の
値を参照するフォーマット文字列を含むことができます。

"#" や ";" で始まる行は無視されるので、コメントとして使うことがで
きます。

セクション
-----

このセクションは Merucurial の "hgrc" に使うことができる異なったセ
クションのそれぞれの目的や可能なキー、そして取り得る値について記述
します。

decode/encode:: 
  checkout/checkin でファイルを転送するときのフィルターです。これ
  は典型的には改行を処理したり、他の地域化/標準化に使われるでしょ
  う。

  フィルターはフィルターパターンとそれに続くフィルターコマンドから
  なります。コマンドは標準入力からのデータを受け付け、変換したデー
  タを標準出力に返す必要があります。

  例:

    [encode]
    # delta 圧縮を改善するためにチェックイン時に gzip ファイルを
    # 伸長します
    # 注意: 必ずしも良いアイディアではありません。ただの例です
    *.gz = gunzip

    [decode]
    # 作業ディレクトリに書き出すときにファイルを gzip で再圧縮します
    *.gz = gzip

hooks::
  コミットの開始、終了時など様々なアクションで自動的に実行されるコ
  マンドです。
  changegroup;;
    push や pull でチェンジグループが加えられたあとに起動します。
  commit;;
    チェンジセットが作成された後に起動します。新しく作成されたチェ
    ンジセットの ID が渡されます。
  precommit;;
    コミット前に起動します。終了ステータス 0 によりコミットを続行
    します。非ゼロのステータスでコミットは失敗します。

http_proxy::
  HTTP プロキシを通してウェブを使った Mercurial のリポジトリにアク
  セスするのに使われます。
  host;;
    プロキシサーバのホスト名と(オプションの)ポートで、例えば 
    "myproxy:8000"などです。
  no;;
    オプションです。コンマで区切られたプロキシを通過すべきホスト名
    のリストです。
  passwd;;
    オプションです。プロキシサーバの認証用のパスワードです。
  user;;
    オプションです。プロキシサーバの認証用のユーザ名です。

paths::
  リポジトリにシンボル名を割当てます。左側がシンボル名で、右側がリ
  ポジトリの場所を示すディレクトリや URL です。

ui::
  ユーザインターフェースの設定です。
  debug;;
    デバッグ情報を表示します。True か False を取ります。デフォルト
    では False です。
  editor;;
    コミット中に使用するエディタです。デフォルトは $EDITOR か
    "vi" です。
  interactive;;
    ユーザに対してプロンプトを出すようにします。True か False を取
    ります。デフォルトでは True です。
  merge;;
    手動での merge 中に衝突を解決するために使われるプログラムです。
    デフォルトは "hgmerge" です。
  quiet;;
    表示される出力の量を減らします。True か False を取ります。デフォ
    ルトは False です。
  remotecmd;;
    clone/push/pull 操作で使われるリモートのコマンドです。デフォル
    トは 'hg' です。
  ssh;;
    SSH 接続で使われるコマンドです。デフォルトは 'ssh' です。
  username;;
    コミットを実行したときに作成されるチェンジセットのコミッタです。
    一般的には人名と電子メールアドレスで、例えば "Fred Widget
    <fred@example.com>" などです。デフォルトは $EMAIL か
    username@hostname です。
  verbose;;
    表示される出力の量を増やします。True か False を取ります。デフォ
    ルトは False です。

web::
  ウェブインターフェイスの設定です。
  accesslog;;
    アクセスログの出力先です。デフォルトでは標準出力です。
  address;;
    バインドするインターフェイスアドレスです。デフォルトでは全てで
    す。
  allowbz2;;
    リポジトリのリビジョンから .tar.bz2 をダウンロードさせるかどう
    かです。デフォルトでは false です。
  allowgz;;
    リポジトリのリビジョンから .tar.gz をダウンロードさせるかどう
    かです。デフォルトでは false です。
  allowpull;;
    リポジトリから pull させるかどうかです。デフォルトでは true で
    す。
  allowzip;;
    リポジトリのリビジョンから .zip をダウンロードさせるかどうかで
    す。デフォルトでは false です。この機能は一時ファイルを作成し
    ます。
  description;;
    リポジトリの目的や内容についてのテキストによる説明です。デフォ
    ルトでは"unknown" です。
  errorlog;;
    エラーログの出力先です。デフォルトでは標準エラー出力です。
  ipv6;;
    IPv6 を使うかどうかです。デフォルトでは false です。
  name;;
    ウェブインターフェイスを使うときのリポジトリの名前です。デフォ
    ルトは現在の作業ディレクトリです。
  maxchanges;;
    チェンジログに記載する変更の最大数です。デフォルトでは 10 です。
  maxfiles;;
    チェンジセットに記載するファイルの最大数です。デフォルトでは
    10 です。
  port;;
    リスンするポートです。デフォルト は 8000 です。
  style;;
    使用するテンプレートマップのスタイルです。
  templates;;
    HTML テンプレートの在処です。デフォルトではインストールしたと
    きのパスです。

著者
--
Bryan O'Sullivan <bos@serpentine.com>.

Mercurial は Matt Mackall <mpm@selenic.com> により書かれました。

関連項目
----
hg(1)

COPYING
-------
このマニュアルの著作権は 2005 Bryan O'Sullivan です。
Mercurial の著作権は 2005 Matt Mackall です。
このソフトウェアの自由な使用は GNU 一般公有使用許諾 (GPL) のもとで
認められます。