Size: 18262
Comment: sync with UsingExtensions@245
|
Size: 18521
Comment: sync with UsingExtensions@247
|
Deletions are marked like this. | Additions are marked like this. |
Line 98: | Line 98: |
||'''bugtracker''' ||BugtrackerExtension ||A tiny distributed bugtracking extension for Mercurial || | |
Line 145: | Line 146: |
||'''hgview''' ||[[http://www.logilab.org/project/hgview|hgview]] || Tool for visually navigating a repository history and comparing multiple revisions || |
Mercurial エクステンションを使う
Mercurial の機能を任意のエクステンションで拡張しよう。
1. はじめに
Mercurial は安全で分かりやすいコマンドセットを提供しており、たいていのユーザーがその機能を満足できるように設計されています。 Mercurial のパワーユーザーはエクステンションを活用できるかもしれません。エクステンションを使うと、強力な新機能を Mercurial のコアに統合することができます。
エクステンションが提供する機能は、 Mercurial のポリシー、つまり、安全性、信頼性、使い易さを満たしていないかもしれません。
エクステンションのヘルプは 'hg help extensions' で表示できます。有効にしたエクステンションのヘルプを見るには、 'hg help <extension-name>' を実行してください。
2. エクステンションを有効にする
エクステンション "foo" を有効にするには、 そのエクステンションが Mercurial とともに配布されているか Python のサーチパスに含まれている場合は、 対応するエントリーを hgrc ファイルに追加してください。 例:
[extensions] foo =
エクステンションをフルパスで指定してもかまいません:
[extensions] myfeature = ~/.hgext/myfeature.py
上位スコープの hgrc で有効になっているエクステンションを特に無効化したい場合は、 ! をパスの前に足してください:
[extensions] # /path/to/extension/bar.py にある bar エクステンションを無効化 bar = !/path/to/extension/bar.py # baz エクステンションのパスを指定しなくても同じこと baz = !
たいていのエクステンションは、同じ設定ファイル上の専用セクションで細かい設定ができるようになっています。
3. Mercurial とともに配布されているエクステンション
名称 |
ページ |
説明 |
acl |
コントロールリストをもとにリポジトリの一部へのコミットアクセスを制御 |
|
alias |
コマンドにユーザー定義の別名を (Mercurial 1.3 以降はビルトイン) |
|
bisect |
履歴の2分探索(O(log(n))でバグや機能が入ったリビジョンをサクッと見つける。 (Mercurial 1.0 以降はビルトイン) |
|
bookmarks |
コミットに追従していくマーカー |
|
bugzilla |
チェンジセットで Bugzilla の ID を参照していれば、エントリーを更新 |
|
children |
子リビジョンを表示 |
|
churn |
Show change statistics for mercurial operations per author |
|
convert |
他の SCM から Mercurial へリポジトリを変換 |
|
color |
カラフルな diff, status, qseries コマンド |
|
eol |
Translate line-ending characters between working copy and repository |
|
extdiff |
外部プログラムで変更内容を比較 |
|
fetch |
pull, merge, update は1ステップでどう? |
|
gpg |
GPG を使ったチェンジセットの署名とその検証 |
|
graphlog |
ASCII アートのリビジョングラフと履歴を並べて表示 |
|
hgcia |
CIA に通知 |
|
hgk |
Graphical repository and history browser based on gitk |
|
highlight |
hgweb のファイルリビジョン表示でシンタックスハイライト |
|
imerge |
Perform interactive, interruptible merges |
|
inotify |
linux 2.6 inotify API を用いて status を瞬時に更新 |
|
interhg |
This extension allows you to change changelog and summary text just like InterWiki way |
|
keyword |
管理中のファイルで CVS 風のキーワード展開 |
|
mq |
Mercurial パッチキュー - 変更内容を一連のパッチとして管理 |
|
notify |
リポジトリの変更を登録メールアドレスへお知らせ |
|
pager |
Allows you to choose a pager |
|
parentrevspec |
foo の親リビジョンを foo^ として参照 |
|
patchbomb |
チェンジセットを一連のパッチ email として送信 |
|
progress |
Show progress bars for some actions (new in 1.5) |
|
purge |
Mercurial で管理していないファイル・ディレクトリを消去 |
|
rebase |
リビジョンの分岐点を移動 |
|
record |
darcs record 的、コミットしたい変更点の選択 |
|
relink |
Recreates hardlinks between repository clones |
|
schemes |
Add shortcuts to urls as url schemes |
|
share |
Share repository history between multiple repos |
|
transplant |
Cherry-picking, rebasing and changeset rewriting |
|
win32mbcs |
Windows で shift_jis・big5 ファイル名を使う |
|
win32text |
Windows リポジトリの改行コード変換に対処 |
|
zeroconf |
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 |
Provides hook intended to help keep track of a remote repository's state that multiple people have access to update |
|
activity |
Create an image representing the activity of the repository |
|
artemis |
Simple and light-weight issue tracker |
|
attic |
Easily deal with individual patches |
|
autopager |
Invoke pager when output is longer than one screen |
|
autosync |
Automated duplex synchronization with another repository |
|
b |
Distributed bug tracker based off the lightweight task manager t |
|
bfiles |
Handle large binary files |
|
bigfiles |
Support versions of big files with storage outside hg repo |
|
boundmode |
Enables a bound mode (commit command auto-pushes) |
|
branchhead |
Show head(s) of the branch the working directory or given revision is on |
|
bugtracker |
A tiny distributed bugtracking extension for Mercurial |
|
casefold |
Successful unjams case-folding conflicts |
|
caseguard |
Prevents users from adding files to a repository if that could cause a CaseFolding collision |
|
casestop |
Stops case-folding conflicts on commit |
|
cedit |
Command line editor for configuration files, never manually edit hgrc files again |
|
changelog |
Auto-generate commit message from changelog entry |
|
chart |
Display activity graphs (see also ActivityExtension and ChurnExtension) |
|
checkfiles |
Commit hook and command to check for and fix tabs and trailing whitespace |
|
cifiles |
Print the names of all checked-in files |
|
codesmell |
Ask before committing "smelly" changes |
|
commits |
Commit modified files as multiple changesets at once |
|
commitsigs |
Embed GnuPG and OpenSSL signatures directly into changesets |
|
compass |
Find your way in repositories with multiple heads, branches and bookmarks. |
|
collapse |
Collapse consecutive changesets into one |
|
config |
Manage config files via command line only |
|
config |
Manage hgrc files via dialogs and command line |
|
contains |
Test whether a changset is contained in a branch |
|
crecord |
Select graphically which files/hunk/lines to commit |
|
cutehg |
A growing set of easy to install and use dialogs for mercurial commands |
|
cvscommit |
Push changesets to CVS |
|
defpasswd |
Automatically provide credentials (username/passwords) read from a file. |
|
deps |
Create and manage versioned repository dependencies |
|
digest |
Create and use small digest files for outgoing/bundle |
|
dotlog |
Yet Another DOT grapher |
|
duckcharset |
Detect/convert character encoding when displaying |
|
easycommit |
Command-line GUI for committing changes |
|
easymerge |
Command-line GUI for merging |
|
editcommitmsgs |
Change commit messages for all applied mq patches in one go |
|
exportfiles |
Export all files changed in a revision or revision range to a directory. |
|
fastimport |
Read a git "fast import" stream and turn it into changesets in a Mercurial repository |
|
filereview |
Perform code review for any project using mercurial |
|
fixcase |
Fix problems where an external tool has changed the case of a filename |
|
fixfrozenexts |
Fix extensions.disabled() to work on frozen package |
|
fixutf8 |
Fix problems on non-utf8 systems with filenames (Windows never supports utf8 filenames) |
|
foreign |
Interactively register or delete foreign/unknown files |
|
forest |
Manage a bunch of mercurial repos as a meta repository, with snapshot support thread |
|
ftp |
Manage uploaded snapshots on FTP server |
|
graphviz |
チェンジセットツリーを描くために DOT 言語のソースを生成 |
|
group |
Allow to visually regroup a set of changesets |
|
hg-git |
Push to and pull from a Git server |
|
hg-kerberos |
Kerberos authentication extension by Henrik Stuart |
|
hg-remotebranches |
Keeps track of remote branch heads for each entry in [paths] and exposes them as tags. |
|
hgbb |
Several helpers for working with bitbucket.org repositories |
|
hgexternals |
Pull external repositories into a Mercurial repository |
|
hgnested |
Manage nested repositories |
|
hgopenurl |
Quickly show repository URLs in the browser |
|
hgsftp |
Use Mercurial over SFTP |
|
hgsubversion |
Use Mercurial as a Subversion client |
|
hgview |
Tool for visually navigating a repository history and comparing multiple revisions |
|
hg-textauth |
Plaintext file authentication |
|
hgtrac |
Mercurial/Trac Integration Hook (pre/post hooks for Trac/Mercurial) |
|
histedit |
Edit, fold, drop changesets in the style of git rebase --interactive |
|
histpush |
Record locally which revisions have been pushed |
|
info |
Display basic information about a repository |
|
kerberos |
Kerberos Authentication over HTTP support |
|
keyring |
Securely save HTTP passwords in os-specific keyring (Gnome Keyring, KWallet, OSXKeyChain, encrypted file) |
|
localbranch |
Create clones inside your working directory |
|
lock |
Take locks on resources |
|
makewritable |
Interactively removes read-only flags from files |
|
mbox |
Import patches from unix mailboxes in MQ |
|
mergeutil |
Useful utilities for merging branches |
|
moinport |
Fetch changes from MoinMoin Wiki |
|
nearest |
Display the nearest tag from a given changeset |
|
onsub |
Recursively execute a command in each subrepository |
|
pack |
Pack all files involved in the give revision (if your customer does not know what a diff file is) |
|
paste |
Paste changes to pastebin |
|
pastebin |
Paste changes to public and private pastebins |
|
pbranch |
Collaborative and/or long-term patch development and maintenance |
|
perfarce |
Allow Hg to pull from and push to a Perforce depot |
|
prompt |
Put information about the current repository into a shell prompt |
|
publishall |
Publish to all your set repositories (ie: paths) |
|
punchcard |
Generate a "punch card" graph of your commit habits |
|
reviewboard |
Post changesets for review to a Review Board server |
|
qct |
Provide access to the Qct commit tool |
|
qtimes |
Save or restore modification times of files affected by patch queue |
|
qup |
Move MQ patches to top of unapplied part of series |
|
rcpath |
Displays Mercurial configuration file paths and names |
|
rebaseif |
Command that rebases only if there are no conflicts, otherwise does a merge |
|
rdiff |
Allow diff to work against remote repositories |
|
reposettings |
Allow repo specific configuration from central configuration files |
|
rupdate |
Update a remote repository to a specified revision if the remote repository is hosted via ssh |
|
send |
Automatic send of bundle containing changesets missing on remote, like darcs send |
|
sharedrepo |
Let multiple working directories share the same repository |
|
shared_mq |
SharedMQExtension |
Allow shared repositories have same MQ queues |
shelve |
Interactively select changes to set aside |
|
snap |
Version (big) file snapshots with storage outside a Mercurial repository |
|
sonichg |
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 |
Interactively correct spelling errors in commit messages; also includes a hook to reject changesets with spelling errors in their commit messages |
|
subpaths |
Manage subpath remappings using a central file, distributed on clone and pull |
|
talaria |
Manage simple hierarchical trees of HTML-documents, such as web-sites, documentation, etc |
|
tasks |
Manage tasks as collections of contiguous changesets |
|
textful |
Convert binary file to text or handle character encoding when displaying |
|
tfs |
Update Team Foundation Server work items when bug ids are referenced in a changeset |
|
timestamp |
Saves and restores file timestamps |
|
timetracker |
Tracks the time spent on a project |
|
tpager |
Mercurial pager with color support on Windows |
|
versions |
Display the version information for Mercurial and all installed extensions. |
|
win32lfn |
Allow manipulating files with names longer than 260 characters on Windows. |
|
win32xattrs |
handle windows-specific file attributes like "hidden" |
|
wincolor |
Support colors on Windows consoles. |
5. 参考
WritingExtensions for information on creating new extensions