第9章 Subversion リファレンス

目次

Subversion コマンドラインクライアント: svn
svn のスイッチ
svn サブコマンド
svnadmin
svnadminスイッチ
svnadmin サブコマンド
svnlook
svnlookスイッチ
svnlook
svnserve
svnserve スイッチ
svnversion
mod_dav_svn

この章はSubversionの完全なリファレンスです。 コマンドラインクライアント (svn) とそのすべてのサブコマンド、 さらにリポジトリ管理プログラム (svnadminsvnlook) と そのすべてのサブコマンドです。

Subversion コマンドラインクライアント: svn

コマンドラインクライアントを使うには svn と入力してから、使いたいサブコマンドを入力してください。 [48], どんなスイッチや対象となる ターゲットについてもそうです— サブコマンドとスイッチの並びには特定の順序はありません。たとえば svn status: を使う場合に、以下はどれも有効です:

$ svn -v status
$ svn status -v 
$ svn status -v myfile

クライアントコマンドの利用法については、もっとたくさんの 例が 章 3. 同伴ツアーにあり、属性の管理については 属性項にあります。

svn のスイッチ

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フォーマットで出力します。

svn サブコマンド



[48] はい、そうですね。 --version スイッチを使うときにはサブコマンドは不要です。少し後でそのことに 触れます。