Differences between revisions 27 and 28
Revision 27 as of 2011-07-02 07:36:28
Size: 19602
Comment: sync with UsingExtensions@260
Revision 28 as of 2011-07-30 04:38:18
Size: 19934
Comment: sync with UsingExtensions@264
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
エクステンションをフルパスで指定してもかまいません: エクステンションをフルパスで指定してもかまいません (.py ファイル名か {{{__init__.py}}} のあるフォルダ名):
Line 30: Line 30:
Mercurial と共に配布されていないエクステンションを使うには、ダウンロード後どこでも良いのでファイルシステム上に置いてください。この例では、 {{{~/.hgext/}}} にダウンロードしています。
Line 31: Line 33:

Mercurial エクステンションを使う

Mercurial の機能を任意のエクステンションで拡張しよう。

1. はじめに

Mercurial は安全で分かりやすいコマンドセットを提供しており、たいていのユーザーがその機能を満足できるように設計されています。 Mercurial のパワーユーザーはエクステンションを活用できるかもしれません。エクステンションを使うと、強力な新機能を Mercurial のコアに統合することができます。

<!> エクステンションが提供する機能は、 Mercurial のポリシー、つまり、安全性、信頼性、使い易さを満たしていないかもしれません。

エクステンションのヘルプは 'hg help extensions' で表示できます。有効にしたエクステンションのヘルプを見るには、 'hg help <extension-name>' を実行してください。

2. エクステンションを有効にする

エクステンション "foo" を有効にするには、 そのエクステンションが Mercurial とともに配布されているか Python のサーチパスに含まれている場合は、 対応するエントリーを hgrc ファイルに追加してください。 例:

[extensions]
foo =

エクステンションをフルパスで指定してもかまいません (.py ファイル名か __init__.py のあるフォルダ名):

[extensions]
myfeature = ~/.hgext/myfeature.py

Mercurial と共に配布されていないエクステンションを使うには、ダウンロード後どこでも良いのでファイルシステム上に置いてください。この例では、 ~/.hgext/ にダウンロードしています。

上位スコープの hgrc で有効になっているエクステンションを特に無効化したい場合は、 ! をパスの前に足してください:

[extensions]
# /path/to/extension/bar.py にある bar エクステンションを無効化
bar = !/path/to/extension/bar.py
# baz エクステンションのパスを指定しなくても同じこと
baz = !

たいていのエクステンションは、同じ設定ファイル上の専用セクションで細かい設定ができるようになっています。

3. Mercurial とともに配布されているエクステンション

以下のエクステンションは Mercurial プロジェクトで保守・配布しています。

名称

ページ

説明

acl

AclExtension

コントロールリストをもとにリポジトリの一部へのコミットアクセスを制御

alias

AliasExtension

コマンドにユーザー定義の別名を (Mercurial 1.3 以降はビルトイン)

bisect

JapaneseBisectExtension

履歴の2分探索(O(log(n))でバグや機能が入ったリビジョンをサクッと見つける。 (Mercurial 1.0 以降はビルトイン)

bookmarks

BookmarksExtension

コミットに追従していくマーカー (Mercurial 1.8 以降はビルトイン)

bugzilla

BugzillaExtension

チェンジセットで Bugzilla の ID を参照していれば、エントリーを更新

children

ChildrenExtension

子リビジョンを表示

churn

ChurnExtension

Show change statistics for mercurial operations per author

convert

ConvertExtension

他の SCM から Mercurial へリポジトリを変換

color

ColorExtension

カラフルな diff, status, qseries コマンド

eol

EolExtension

Translate line-ending characters between working copy and repository

extdiff

ExtdiffExtension

外部プログラムで変更内容を比較

fetch

FetchExtension

pull, merge, update は1ステップでどう?

gpg

GpgExtension

GPG を使ったチェンジセットの署名とその検証

graphlog

GraphlogExtension

ASCII アートのリビジョングラフと履歴を並べて表示

hgcia

HgciaExtension

CIA に通知

hgk

HgkExtension

Graphical repository and history browser based on gitk

highlight

HighlightExtension

hgweb のファイルリビジョン表示でシンタックスハイライト

imerge

ImergeExtension

Perform interactive, interruptible merges

inotify

InotifyExtension

linux 2.6 inotify API を用いて status を瞬時に更新

interhg

InterhgExtension

This extension allows you to change changelog and summary text just like InterWiki way

keyword

KeywordExtension

管理中のファイルで CVS 風のキーワード展開

mq

JapaneseMqExtension

Mercurial パッチキュー - 変更内容を一連のパッチとして管理

notify

NotifyExtension

リポジトリの変更を登録メールアドレスへお知らせ

pager

PagerExtension

Allows you to choose a pager

parentrevspec

ParentrevspecExtension

foo の親リビジョンを foo^ として参照

patchbomb

PatchbombExtension

チェンジセットを一連のパッチ email として送信

progress

ProgressExtension

Show progress bars for some actions (new in 1.5)

purge

PurgeExtension

Mercurial で管理していないファイル・ディレクトリを消去

rebase

RebaseExtension

リビジョンの分岐点を移動

record

RecordExtension

darcs record 的、コミットしたい変更点の選択

relink

RelinkExtension

Recreates hardlinks between repository clones

schemes

SchemesExtension

Add shortcuts to urls as url schemes

share

ShareExtension

Share repository history between multiple repos

transplant

TransplantExtension

Cherry-picking, rebasing and changeset rewriting

win32mbcs

JapaneseWin32mbcsExtension

Windows で shift_jis・big5 ファイル名を使う

win32text

Win32TextExtension

Windows リポジトリの改行コード変換に対処

zeroconf

ZeroconfExtension

Announce and browse respositories via zeroconf/bonjour

4. 外部提供のエクステンション

エクステンションの一覧は常に更新されています。最新の情報は UsingExtensions (英語) を参照してください。

These extensions are not distributed together with Mercurial. The Mercurial project provides no guarantees about these and does not maintain or test them.

Note that Mercurial explicitly does not provide a stable API for extension programmers, so it is up to their respective providers/maintainers to adapt them to API changes.

actionlog

ActionLogExtension

Provides hook intended to help keep track of a remote repository's state that multiple people have access to update

activity

ActivityExtension

Create an image representing the activity of the repository

artemis

ArtemisExtension

Simple and light-weight issue tracker

attic

AtticExtension

Easily deal with individual patches

autopager

AutopagerExtension

Invoke pager when output is longer than one screen

autosync

AutoSyncExtension

Automated duplex synchronization with another repository

b

bExtension

Distributed bug tracker based off the lightweight task manager t

bfiles

BfilesExtension

Handle large binary files

bigfiles

BigfilesExtension

Support versions of big files with storage outside hg repo

boundmode

BoundModeExtension

Enables a bound mode (commit command auto-pushes)

branchhead

BranchHeadExtension

Show head(s) of the branch the working directory or given revision is on

bugtracker

BugtrackerExtension

A tiny distributed bugtracking extension for Mercurial

casefold

CaseFoldExtension

Successful unjams case-folding conflicts

caseguard

CaseGuardExtension

Prevents users from adding files to a repository if that could cause a CaseFolding collision

casestop

CasestopExtension

Stops case-folding conflicts on commit

cedit

CeditExtension

Command line editor for configuration files, never manually edit hgrc files again

changelog

ChangelogExtension

Auto-generate commit message from changelog entry

chart

ChartExtension

Display activity graphs (see also ActivityExtension and ChurnExtension)

checkfiles

CheckFilesExtension

Commit hook and command to check for and fix tabs and trailing whitespace

cifiles

CifilesExtension

Print the names of all checked-in files

codesmell

CodesmellExtension

Ask before committing "smelly" changes

commits

CommitsExtension

Commit modified files as multiple changesets at once

commitsigs

CommitsigsExtension

Embed GnuPG and OpenSSL signatures directly into changesets

committer

CommitterExtension

Record the committer when you are not the author of a changeset.

compass

CompassExtension

Find your way in repositories with multiple heads, branches and bookmarks.

collapse

CollapseExtension

Collapse consecutive changesets into one

config

ConfigExtensionCommandLine

Manage config files via command line only

config

ConfigExtension

Manage hgrc files via dialogs and command line

contains

ContainsExtension

Test whether a changset is contained in a branch

crecord

CrecordExtension

Select graphically which files/hunk/lines to commit

cutehg

CuteHgExtension

A growing set of easy to install and use dialogs for mercurial commands

cvscommit

CvscommitExtension

Push changesets to CVS

defpasswd

DefpasswdExtension

Automatically provide credentials (username/passwords) read from a file.

deps

DepsExtension

Create and manage versioned repository dependencies

digest

DigestExtension

Create and use small digest files for outgoing/bundle

dotlog

DotLogExtension

Yet Another DOT grapher

duckcharset

DuckcharsetExtension

Detect/convert character encoding when displaying

easycommit

EasycommitExtension

Command-line GUI for committing changes

easymerge

EasymergeExtension

Command-line GUI for merging

editcommitmsgs

EditcommitmsgsExtension

Change commit messages for all applied mq patches in one go

exportfiles

ExportFilesExtension

Export all files changed in a revision or revision range to a directory.

exclude

ExcludeExtension

Exclude some modified files by default (e.g., config files that are always modified)

excludechangesets

ExcludeChangesetsExtension

Exclude "bad" changesets from being re-added to a central repository

fastimport

FastImportExtension

Read a git "fast import" stream and turn it into changesets in a Mercurial repository

filereview

FileReviewExtension

Perform code review for any project using mercurial

fixcase

FixcaseExtension

Fix problems where an external tool has changed the case of a filename

fixfrozenexts

FixfrozenextsExtension

Fix extensions.disabled() to work on frozen package

fixrenames

FixrenamesExtension

Replay old history to add rename information

fixutf8

FixUtf8Extension

Fix problems on non-utf8 systems with filenames (Windows never supports utf8 filenames)

foreign

ForeignExtension

Interactively register or delete foreign/unknown files

forest

ForestExtension

Manage a bunch of mercurial repos as a meta repository, with snapshot support thread

ftp

FTPExtension

Manage uploaded snapshots on FTP server

graphviz

JapaneseGraphvizExtension

チェンジセットツリーを描くために DOT 言語のソースを生成

group

GroupExtension

Allow to visually regroup a set of changesets

hg-git

HgGit

Push to and pull from a Git server

hg-kerberos

hg-kerberos

Kerberos authentication extension by Henrik Stuart

hg-remotebranches

hg-remotebranches

Keeps track of remote branch heads for each entry in [paths] and exposes them as tags.

hgbb

BitbucketExtension

Several helpers for working with bitbucket.org repositories

hgexternals

HgExternals

Pull external repositories into a Mercurial repository

hgnested

HgNestedExtension

Manage nested repositories

hgopenurl

HgOpenURLExtension

Quickly show repository URLs in the browser

hgsftp

hgsftp

Use Mercurial over SFTP

hgsubversion

HgSubversion

Use Mercurial as a Subversion client

hgview

hgview

Tool for visually navigating a repository history and comparing multiple revisions

hg-textauth

hg-textauth

Plaintext file authentication

hgtrac

HgTracExtension

Mercurial/Trac Integration Hook (pre/post hooks for Trac/Mercurial)

histedit

HisteditExtension

Edit, fold, drop changesets in the style of git rebase --interactive

histpush

HistpushExtension

Record locally which revisions have been pushed

info

InfoExtension

Display basic information about a repository

kerberos

KerberosExtension

Kerberos Authentication over HTTP support

keyring

KeyringExtension

Securely save HTTP passwords in os-specific keyring (Gnome Keyring, KWallet, OSXKeyChain, encrypted file)

localbranch

LocalbranchExtension

Create clones inside your working directory

lock

LockExtension

Take locks on resources

makewritable

MakewritableExtension

Interactively removes read-only flags from files

mbox

MboxExtension

Import patches from unix mailboxes in MQ

mergediff

MergediffExtension

Show only the changes introduced by a merge

mergeutil

MergeUtilExtension

Useful utilities for merging branches

moinport

MoinportExtension

Fetch changes from MoinMoin Wiki

multirepo

MultirepoExtension

Allow commands to affect multiple repositories simultaneously

nearest

NearestExtension

Display the nearest tag from a given changeset

onsub

OnsubExtension

Recursively execute a command in each subrepository

pack

PackExtension

Pack all files involved in the give revision (if your customer does not know what a diff file is)

paste

PasteExtension

Paste changes to pastebin

pastebin

PastebinExtension

Paste changes to public and private pastebins

patience

PatienceExtension

Generate diffs using Bram Cohen's patience diff algorithm

pbranch

PatchBranchExtension

Collaborative and/or long-term patch development and maintenance

perfarce

PerfarceExtension

Allow Hg to pull from and push to a Perforce depot

prompt

PromptExtension

Put information about the current repository into a shell prompt

publishall

PublishAllExtension

Publish to all your set repositories (ie: paths)

punchcard

PunchcardExtension

Generate a "punch card" graph of your commit habits

reviewboard

ReviewboardExtension

Post changesets for review to a Review Board server

qct

QctExtension

Provide access to the Qct commit tool

qtimes

QtimesExtension

Save or restore modification times of files affected by patch queue

qup

QupExtension

Move MQ patches to top of unapplied part of series

rcpath

RcpathExtension

Displays Mercurial configuration file paths and names

rebaseif

RebaseIfExtension

Command that rebases only if there are no conflicts, otherwise does a merge

rdiff

RdiffExtension

Allow diff to work against remote repositories

reposettings

ReposettingsExtension

Allow repo specific configuration from central configuration files

rsync

RemoteSyncExtension

Keep your working directory in sync with remote files, that exist outside of the repository

rupdate

RemoteUpdateExtension

Update a remote repository to a specified revision if the remote repository is hosted via ssh

send

SendExtension

Automatic send of bundle containing changesets missing on remote, like darcs send

shared_mq

SharedMQExtension

Allow shared repositories have same MQ queues

shelve

ShelveExtension

Interactively select changes to set aside

snap

SnapExtension

Version (big) file snapshots with storage outside a Mercurial repository

sonichg

SonicHgExtension

Record pushlog data, web interfaces to view pushlog & shortlog with slider, advanced search for pushlog, new file log page, full side-by-side diffs, regex filter, commit syntax warning and more!

spellcheck

SpellcheckExtension

Interactively correct spelling errors in commit messages; also includes a hook to reject changesets with spelling errors in their commit messages

subpaths

SubpathsExtension

Manage subpath remappings using a central file, distributed on clone and pull

talaria

TalariaExtension

Manage simple hierarchical trees of HTML-documents, such as web-sites, documentation, etc

tasks

TasksExtension

Manage tasks as collections of contiguous changesets

textful

TextfulExtension

Convert binary file to text or handle character encoding when displaying

tfs

TfsExtension

Update Team Foundation Server work items when bug ids are referenced in a changeset

timestamp

TimestampExtension

Saves and restores file timestamps

timetracker

TimetrackerExtension

Tracks the time spent on a project

tpager

TpagerExtension

Mercurial pager with color support on Windows

versions

VersionsExtension

Display the version information for Mercurial and all installed extensions.

win32lfn

Win32LongFileNamesExtension

Allow manipulating files with names longer than 260 characters on Windows.

win32xattrs

Win32xattrsExtension

handle windows-specific file attributes like "hidden"

wincolor

WinColorExtension

Support colors on Windows consoles.

zipdoc

ZipdocExtension

Version control zipped document formats like docx or odt as uncompressed zip archives to improve delta compression.

5. 参考


CategoryJapanese

English, Français, Deutsch

JapaneseUsingExtensions (last edited 2017-04-09 13:39:00 by YuyaNishihara)