この章はSubversionの完全なリファレンスです。 コマンドラインクライアント (svn) とそのすべてのサブコマンド、 さらにリポジトリ管理プログラム (svnadminとsvnlook) と そのすべてのサブコマンドです。
コマンドラインクライアントを使うには svn と入力してから、使いたいサブコマンドを入力してください。 [49], どんなスイッチや対象となる ターゲットについてもそうです— サブコマンドとスイッチの並びには特定の順序はありません。たとえば svn status: を使う場合に、以下はどれも有効です:
$ svn -v status $ svn status -v $ svn status -v myfile
クライアントコマンドの利用法については、もっとたくさんの 例が 3章同伴ツアーにあり、属性の管理については 「属性」にあります。
Subversion はサブコマンドごとに違ったスイッチを持って
いますが、どれもグローバルに働きます—つまりそれぞれの
スイッチは一緒に利用されるサブコマンドにかかわらず同じ意味
を持ちます。たとえば--verbose
(-v
)
は常に、どのサブコマンドと一緒に使っても「冗長な出力」を
意味します。
--auto-props
config
ファイルにあるenable-auto-props
ディレクティブを上書きする形で auto-props を有効にします。
--config-dir
DIR
Subversion にデフォルトの場所(ユーザのホームディレクトリにある.subversion
)のかわりに特定のディレクトリから設定情報を読み出すように指示します。
--diff-cmd
CMD
ファイル間の差異を表示するために使う外部プログラムを指定します。
svn diffが起動されると、デフォルトでは unifid diff形式
であるSubversionの内部 diff エンジンが利用されます。外部 diff プログラム
を利用したい場合は、--diff-cmd
を使ってください。
--extensions
スイッチで diffプログラムを指定することもで
きます。(詳しくはこの章のあとで説明します)。
--diff3-cmd
CMD
ファイルをマージするために使う外部プログラムを指定します。
--dry-run
コマンドの実行をそのままたどりますが、実際の動作はしません —作業コピーに対しても、リポジトリに対するコマンドにも使えます。
--editor-cmd
CMD
ログメッセージや属性値を編集するのに使う外部プログラムを指定します。
--encoding
ENC
コミットメッセージが指定した文字コード系でエンコードされていることを Subversion に伝えます。 デフォルトはあなたのオペレーティングシステムのもともとの ロケールで、コミットメッセージが別の文字コード系でエンコードされている場合にはそれを 指定する必要があります。
--extensions
(-x
)
ARGS
Subversion がファイル間の差異を得るときに使う外部 diff コマンドに渡さなく
てはならない一つ以上の引数を指定します。複数の引数を渡したい
場合は、それらすべてをクオートでくくらなくてはなりません。(たとえば、
svn diff --diff-cmd /usr/bin/diff -x "-b -E")。
このスイッチは--diff-cmd
スイッチも指定した場合
にのみ利用することができます。
--file
(-F
)
FILENAME
指定したサブコマンドに対し、このスイッチの引数として 渡したファイルの内容が使われます。
--force
特定のコマンドまたは操作の実行を強制します。 Subversion が通常なら拒否するようないくつかの操作がありますが、 この強制スイッチを使い、Subversion に「そうしたら どうなるかはわかっているから、とにかく やらせてくれ」と伝えることができます。 このスイッチは、電子工作か何かで、最後に電源を入れる状況に 似ています—何をやろうとしているのかよく理解していなければ きっと嫌な目に遭うでしょう。
--force-log
--messages
(-m
) や
--file
(-F
) オプションに
渡す疑わしい引数を正しいものとして強制的に受け入れる
ように指示します。デフォルトでは、Subversion は正しいサブコマンドで
あると解釈するかわりに、そのような引数が間違いであるとして
エラーを生成します。
たとえば、バージョン化されたファイルのパスを--file
(-F
) オプションに渡すと、Subversion はそのパスが
操作対象として意図されていたと考えずに、その引数には間違いがあると
みなし、ログメッセージのためのバージョン化されていない元ファイルを
用意することに失敗してしまいます。自分の意図を宣言し、この種のエラー
を無視するためには、--force-log
オプションをログメッセージ
を受け入れるサブコマンドに対して指定する必要があります。
--help
(-h or -?
)一つ以上のサブコマンドと一緒に使って、それぞれのサブコマンドの 組み込みヘルプテキストを表示します。このスイッチだけを単独で 使うと、一般的なコマンドクライアントのヘルプテキストを表示します。
--ignore-ancestry
Subversion に対して 差分を計算するときに、系統情報を無視するよう指示します(単にパス内容のみを利用します)。
--ignore-externals
Subversion に外部定義と外部定義によって管理される外部作業コピー を無視するように指示します。
--incremental
(他の出力と)連結するのに適した形式で 出力を表示します。
--limit
NUM
最初の NUM
個のログメッセージだけを
表示します。
--message
(-m
)
MESSAGE
コマンドライン上でコミットメッセージを指定します。このスイッチの あとに、たとえば:
$ svn commit -m "They don't make Sunday."
--new
ARG
ARG
を新しいターゲットとして利用します。
--no-auth-cache
認証情報(ユーザ名やパスワードなど)をSubversion管理ディレクトリにキャッシュしないよう 指示します。
--no-auto-props
config
ファイル中のenable-auto-props
ディレクティブを上書きする形で auto-props を無効にします。
--no-diff-added
Subversion が追加されたファイルの差分を表示するのを防ぎます。 ファイルを追加した場合のデフォルトの動作はsvn diff については、すでに(空の)ファイルが存在していて、そこに新たな ファイルの内容全体が追加された場合の差分の出力と同じになります。
--no-diff-deleted
削除されたファイルの差分を表示しないようにSubversionに指示します。 デフォルトではファイルを削除したときのsvn diffの 出力は、ファイルは削除されずゼロバイトで残っているかのような 形になります。
--no-ignore
global-ignores
設定オプション、あるいはsvn:ignore属
性にマッチしたため通常なら省略されるようなファイルの
ステータス一覧を表示します。
「config」と
「svn:ignore
」
にさらに詳しい情報があります。
--no-unlock
自動的にファイルをアンロックしません(デフォルトのコミットの動作は コミットの一環として関連するすべてのファイルをアンロックします)。 より詳しくは「ロック」を見て ください。
--non-interactive
認証が失敗したり十分な許可がないときに、認証要求するのを 抑制します。(たとえば、ユーザ名とパスワード)これは、 Subversionを自動スクリプト中で実行しているようなときで 認証要求させるよりも単に失敗したほうが便利な場合に 役に立ちます。
--non-recursive
(-N
)サブディレクトリに対してサブコマンドを再帰的に実行するのを 抑止します。ほとんどのサブコマンドはデフォルトで再帰的に実行 されますが、いくつかのサブコマンド—普通は、作業コピーの 変更に対する削除や取り消しが起きるようなもの—はそうでは ありません。
--notice-ancestry
差分を計算するときに系統情報を考慮します。
--old
ARG
ARG
を古いターゲットとして利用します。
--password
PASS
コマンドライン上で認証用パスワードを指定します—これを 指定しなければ、必要な場所でSubversion はパスワード入力を 要求してきます。
--quiet
(-q
)実行中に重要な情報だけを表示するように指示します。
--recursive
(-R
)サブコマンドをサブディレクトリに対して再帰的に実行する ようにします。ほとんどのサブコマンドはデフォルトで再帰的な 動作をします。
--relocate
FROM TO
[PATH...]
svn switchサブコマンドと一緒に使うことで作業コピー が参照しているリポジトリの場所を変更します。これは、リポジトリの 場所が移動しても、既に存在している作業コピーを続けて利用したい場合 に便利です。例として、svn switchを参照してください。
--revision
(-r
)
REV
特定の操作で、リビジョン(またはリビジョンの範囲)を設定します。 リビジョンはリビジョンスイッチの引数として、番号、キーワード、 日付(この場合は中かっこを使って)のどれかで指定することができます。 リビジョンを二つ指定するときにはコロンで区切ります。たとえば:
$ svn log -r 1729 $ svn log -r 1729:HEAD $ svn log -r 1729:1744 $ svn log -r {2001-12-04}:{2002-02-17} $ svn log -r 1729:{2002-02-17}
詳しくは「リビジョンキーワード」 を見てください。
--revprop
ファイルやディレクトリの属性のかわりに、リビジョンの属性に対して
操作するようにします。このスイッチを使う場合は
--revision
(-r
)を使ってリビジョンも
渡す必要があります。
バージョン化しない属性についての詳細は「バージョン化されない属性」
を見てください。
--show-updates
(-u
)作業コピーのどのファイルが最新であるかの情報を表示します。 これは実際に自分に作業ファイルを更新しません—もし svn updateを実行したとしたら、どの ファイルが更新されるかを表示するだけです。
--stop-on-copy
Subversion のサブコマンドでバージョン化されたリソースを巡回する ようなものについて、コピーを発見したときには履歴情報の収集を止める ようにします。— ここで言うコピーとは履歴の中でリポジトリの ほかの場所からコピーされたリソースがあるような場所のことを言って います。
--strict
Subversion が厳密なセマンティクスを使うように します。ここで言う"セマンティクス"の意味ですが、具体的なサブコマンドに則して 説明しなければ漠然としたものになってしまいます。
--targets
FILENAME
コマンドライン上にすべてのファイルを記入するかわりに、 指定したファイルから操作したいファイルの一覧を取得するよう Subversion に指示します。
--username
NAME
コマンドライン上での認証に、指定したユーザ名称を使うように 指示します—そうでなければ、必要な場所で、Subversionは その入力をユーザに求めます。
--verbose
(-v
)サブコマンド実行時に、できるたけ多くの情報を表示するように 指示します。Subversion は、追加フィールド、すべてのファイルの 詳細情報、動作内容についての追加情報などを表示するようになります。
--version
クライアントプログラムのバージョン番号を表示します。この情報は バージョン番号のほか、Subversionリポジトリにクライアントプログラム がアクセスするために利用できるモジュールの一覧も表示します。
--xml
XMLフォーマットで出力します。