| Version 2 (modified by , 11 years ago) ( diff ) |
|---|
管理ツール
Table of Contents
Trac は強力なコマンドラインの管理ツールとともに配布されています。このツールで Trac を管理/設定し、インストールを用途に合わせてカスタマイズすることができます。
ここに挙げる操作の一部は 管理 (英語版では Admin) Web インタフェースでも実行することができます。バージョン 0.11 以降で WebAdmin プラグインは Trac 本体に統合されました。
使い方
ほぼ全ての trac-admin コマンドにおいて、以下の例に示す通り、第1引数には管理対象とする TracEnvironment のパスを指定する必要があります:
trac-admin /path/to/projenv wiki list
唯一の例外は help コマンドで、 Environment を指定しない場合でも動作し、使用できるコマンドの簡易なリスト (help や initenv のような) を表示します。同じリストは、引数を指定せずに trac-admin コマンドを使用した場合も表示されます。
また trac-admin --version を使用すると (0.12 のような形式の) Trac のバージョンを表示します。
使用できるコマンドやサブコマンドの完全なリストを取得したい場合は、 Environment のパスを指定してください:
trac-admin /path/to/projenv help
一部のコマンドでは、 help のサブコマンドとしてコマンド名を指定することで、より詳細なヘルプをみることができます:
trac-admin /path/to/projenv help <command>
trac-admin <targetdir> initenv
このサブコマンドは、指定された <targetdir> に TracEnvironment を作成する、とても重要なコマンドです。対象のディレクトリが実行時に存在するとエラーになります。
initenv [<projectname> <db>]
Create and initialize a new environment
If no arguments are given, then the required parameters are requested
interactively unless the optional argument `--config` is specified.
One or more optional arguments --inherit=PATH can be used to specify the
"[inherit] file" option at environment creation time, so that only the
options not already specified in one of the global configuration files are
written to the conf/trac.ini file of the newly created environment.
Relative paths are resolved relative to the "conf" directory of the new
environment.
The optional argument --config=PATH can be used to specify a configuration
file that is used to populate the environment configuration. The arguments
<projectname>, <db> and any other arguments passed in the invocation are
optional, but if specified will override values in the configuration file.
--inherit オプションを使用すると、グローバルな設定ファイルを指定することができます。このファイルは複数の Environment 間で共有されます。共有する設定ファイルを後から設定したい場合は、 Environment に含まれる conf/trac.ini ファイルに [inherit] file オプションを設定してください。 Environment 作成時のオプションでグローバルな設定ファイルを指定すると、自動的に conf/trac.ini ファイルにオプションが記載され、重複するオプションについては作成時に設定する必要がなくなるというメリットがあります。
詳細は TracIni#グローバルな設定 を参照してください。
Note: Trac のバージョン 0.11 では initenv の最終引数 <templatepath> が廃止されました。この引数は以前のバージョンでは templates ディレクトリの場所を指定するのに使用されていました。現在のコマンドはワンライナーでは 'trac-admin /path/to/trac/ initenv <projectname> <db> <repostype> <repospath>' となるので、以前と同じ引数で起動すると 'Wrong number of arguments to initenv: 4' というエラーが発生します。このエラーが発生した場合、 古い バージョンの Trac に同梱されている trac-admin スクリプトが動いていると考えられます。
対話モード
trac-admin は TracEnvironment のパスだけを引数に指定して起動した場合、対話モードになります。
プロンプトから入力したコマンドは指定した TracEnvironment に対して実行します。
コマンドを Tab キーで補完する機能と、最後に実行したコマンドを繰り返す機能が提供されます (非 Windows 環境の場合、 Python が readline モジュールを使用できる必要があります) 。
一度対話モードで起動すると、特定のコマンドのヘルプやコマンドのサブセットを見ることができます:
例えば、 resync コマンドの説明を得るためには以下のように実行します:
> help resync
Wiki に関するすべてのコマンドのヘルプを得るためには、以下のように実行します:
> help wiki
完全なコマンドリファレンス
以下に示すのは trac-admin で標準的に使用できる全てのコマンドの詳細なヘルプです。 trac-admin <yourenv> help で表示されるリストとは一致しないこともありますが、 Environment で無効化されているコンポーネントに由来するコマンドは表示されず、逆に Environment で有効化されているプラグインによって提供されるコマンドが別途表示されるためです。
help
Show documentation
initenv [<projectname> <db>]
Create and initialize a new environment
If no arguments are given, then the required parameters are requested
interactively unless the optional argument `--config` is specified.
One or more optional arguments --inherit=PATH can be used to specify the
"[inherit] file" option at environment creation time, so that only the
options not already specified in one of the global configuration files are
written to the conf/trac.ini file of the newly created environment.
Relative paths are resolved relative to the "conf" directory of the new
environment.
The optional argument --config=PATH can be used to specify a configuration
file that is used to populate the environment configuration. The arguments
<projectname>, <db> and any other arguments passed in the invocation are
optional, but if specified will override values in the configuration file.
attachment add <realm:id> <path> [author] [description]
Attach a file to a resource
The resource is identified by its realm and identifier. The attachment will
be named according to the base name of the file.
attachment export <realm:id> <name> [destination]
Export an attachment from a resource to file or stdout
The resource is identified by its realm and identifier. If no destination
is specified, the attachment is output to stdout.
attachment list <realm:id>
List attachments of a resource
The resource is identified by its realm and identifier.
attachment move <realm:id> <name> <new_realm:new_id> <new_name>
Rename or move an attachment to another resource
The resource is identified by its realm and identifier.
attachment remove <realm:id> <name>
Remove an attachment from a resource
The resource is identified by its realm and identifier.
changeset added <repos> <rev> [rev] [...]
Notify trac about changesets added to a repository
This command should be called from a post-commit hook. It will trigger a
cache update and notify components about the addition.
changeset modified <repos> <rev> [rev] [...]
Notify trac about changesets modified in a repository
This command should be called from a post-revprop hook after revision
properties like the commit message, author or date have been changed. It
will trigger a cache update for the given revisions and notify components
about the change.
config get <section> <option>
Get the value of the given option in "trac.ini"
config remove <section> [<option>]
Remove the specified option or section from "trac.ini"
config set <section> <option> <value>
Set the value for the given option in "trac.ini"
convert_db <dburi> [new_env]
Convert database
Converts the database backend in the environment in which the command is
run (in-place), or in a new copy of the environment. For an in-place
conversion, the data is copied to the database specified in <dburi> and the
[trac] database setting is changed to point to the new database. The new
database must be empty, which for an SQLite database means the file should
not exist. The data in the existing database is left unmodified.
For a database conversion in a new copy of the environment, the environment
in which the command is executed is copied and the [trac] database setting
is changed in the new environment. The existing environment is left
unmodified.
Be sure to create a backup (see `hotcopy`) before converting the database,
particularly when doing an in-place conversion.
deploy <directory>
Extract static resources from Trac and all plugins
hotcopy <backupdir> [--no-database]
Make a hot backup copy of an environment
The database is backed up to the 'db' directory of the destination, unless
the --no-database option is specified.
milestone add <name> [due]
Add milestone
milestone completed <name> <completed>
Set milestone complete date
The <completed> date must be specified in the "MM/dd/YY hh:mm:ss" or "YYYY-
MM-DDThh:mm:ss±hh:mm" (ISO 8601) format. Alternatively, "now" can be used
to set the completion date to the current time. To remove the completion
date from a milestone, specify an empty string ("").
milestone due <name> <due>
Set milestone due date
The <due> date must be specified in the "MM/dd/YY hh:mm:ss" or "YYYY-MM-
DDThh:mm:ss±hh:mm" (ISO 8601) format. Alternatively, "now" can be used to
set the due date to the current time. To remove the due date from a
milestone, specify an empty string ("").
milestone list
Show milestones
milestone remove <name>
Remove milestone
milestone rename <name> <newname>
Rename milestone
permission add <user> <action> [action] [...]
Add a new permission rule
permission export [file]
Export permission rules to a file or stdout as CSV
permission import [file]
Import permission rules from a file or stdin as CSV
permission list [user]
List permission rules
permission remove <user> <action> [action] [...]
Remove a permission rule
priority add <value>
Add a priority value option
priority change <value> <newvalue>
Change a priority value
priority list
Show possible ticket priorities
priority order <value> up|down
Move a priority value up or down in the list
priority remove <value>
Remove a priority value
repository add <repos> <dir> [type]
Add a source repository
repository alias <name> <target>
Create an alias for a repository
repository list
List source repositories
repository remove <repos>
Remove a source repository
repository resync <repos> [rev]
Re-synchronize trac with repositories
When [rev] is specified, only that revision is synchronized. Otherwise, the
complete revision history is synchronized. Note that this operation can
take a long time to complete. If synchronization gets interrupted, it can
be resumed later using the `sync` command.
<repos> must be the repository name, not the repository path. Use `list` to
see a list of repository names and associated paths. To synchronize all
repositories, specify "*" for <repos>. The default repository can be
specified using "(default)".
repository set <repos> <key> <value>
Set an attribute of a repository
The following keys are supported: alias, description, dir, hidden, name,
sync_per_request, type, url
repository sync <repos> [rev]
Resume synchronization of repositories
It works like `resync`, except that it doesn't clear the already
synchronized changesets, so it's a better way to resume an interrupted
`resync`.
See `resync` help for detailed usage.
resolution add <value>
Add a resolution value option
resolution change <value> <newvalue>
Change a resolution value
resolution list
Show possible ticket resolutions
resolution order <value> up|down
Move a resolution value up or down in the list
resolution remove <value>
Remove a resolution value
session add <sid[:0|1]> [name] [email]
Create a session for the given sid
Populates the name and email attributes for the given session. Adding a
suffix ':0' to the sid makes the session unauthenticated, and a suffix ':1'
makes it authenticated (the default if no suffix is specified).
session delete <sid[:0|1]> [...]
Delete the session of the specified sid
An sid suffix ':0' operates on an unauthenticated session with the given
sid, and a suffix ':1' on an authenticated session (the default).
Specifying the sid 'anonymous' will delete all anonymous sessions.
session list [sid[:0|1]] [...]
List the name and email for the given sids
Specifying the sid 'anonymous' lists all unauthenticated sessions, and
'authenticated' all authenticated sessions. '*' lists all sessions, and is
the default if no sids are given.
An sid suffix ':0' operates on an unauthenticated session with the given
sid, and a suffix ':1' on an authenticated session (the default).
session purge <age>
Purge anonymous sessions older than given age or date
Age may be specified as a relative time like "90 days ago", or as a date in
the "MM/dd/YY hh:mm:ss" or "YYYY-MM-DDThh:mm:ss±hh:mm" (ISO 8601) format.
session set <name|email|default_handler> <sid[:0|1]> <value>
Set the name or email attribute of the given sid
An sid suffix ':0' operates on an unauthenticated session with the given
sid, and a suffix ':1' on an authenticated session (the default).
severity add <value>
Add a severity value option
severity change <value> <newvalue>
Change a severity value
severity list
Show possible ticket severities
severity order <value> up|down
Move a severity value up or down in the list
severity remove <value>
Remove a severity value
ticket remove <ticket#>
Remove ticket
ticket remove_comment <ticket#> <comment#>
Remove ticket comment
ticket_type add <value>
Add a ticket type
ticket_type change <value> <newvalue>
Change a ticket type
ticket_type list
Show possible ticket types
ticket_type order <value> up|down
Move a ticket type up or down in the list
ticket_type remove <value>
Remove a ticket type
upgrade [--no-backup]
Upgrade database to current version
The database is backed up to the directory specified by [trac] backup_dir
(the default is 'db'), unless the --no-backup option is specified. The
shorthand alias -b can also be used to specify --no-backup.
version add <name> [time]
Add version
version list
Show versions
version remove <name>
Remove version
version rename <name> <newname>
Rename version
version time <name> <time>
Set version date
The <time> must be specified in the "MM/dd/YY hh:mm:ss" or "YYYY-MM-
DDThh:mm:ss±hh:mm" (ISO 8601) format. Alternatively, "now" can be used to
set the version date to the current time. To remove the date from a
version, specify an empty string ("").
wiki dump <directory> [page] [...]
Export wiki pages to files named by title
Individual wiki page names can be specified after the directory. A name
ending with a * means that all wiki pages starting with that prefix should
be dumped. If no name is specified, all wiki pages are dumped.
wiki export <page> [file]
Export wiki page to file or stdout
wiki import <page> [file]
Import wiki page from file or stdin
wiki list
List wiki pages
wiki load <path> [...]
Import wiki pages from files
If a given path is a file, it is imported as a page with the name of the
file. If a path is a directory, all files in that directory are imported.
wiki remove <page>
Remove wiki page
wiki rename <page> <new_name>
Rename wiki page
wiki replace <path> [...]
Replace content of wiki pages from files (DANGEROUS!)
This command replaces the content of the last version of one or more wiki
pages with new content. The previous content is lost, and no new entry is
created in the page history. The metadata of the page (time, author) is not
changed either.
If a given path is a file, it is imported as a page with the name of the
file. If a path is a directory, all files in that directory are imported.
WARNING: This operation results in the loss of the previous content and
cannot be undone. It may be advisable to backup the current content using
"wiki dump" beforehand.
wiki upgrade
Upgrade default wiki pages to current version
See also: TracGuide, TracBackup, TracPermissions, TracEnvironment, TracIni, TracMigrate
