コマンドラインクライアントを使うには、svn と入力してから、使いたいサブコマンドを入力し[58]、その後オプションや捜査する対象を入力してください。— サブコマンドとスイッチの並びには特定の順序はありません。たとえば svn status を使う際、以下のどれも有効です。
$ svn -v status $ svn status -v $ svn status -v myfile
ほとんどのクライアントコマンドの使用法は、もっとたくさんの例が 第2章 にあり、属性の管理を行うコマンドは 属性項 にあります。
Subversion はサブコマンドごとに違ったオプションを持っていますが、どれもグローバル — つまりそれぞれのオプションは、一緒に利用されるサブコマンドにかかわらず同じ意味になります。たとえば --verbose
(-v
) は常に、どのサブコマンドと一緒に使っても、「冗長 (verbose) な出力」を意味します。
--auto-props
config
ファイルにある enable-auto-props
ディレクティブを上書きして auto-props を有効にします。
--change
(-c
) ARG
特定の「変化」 (別名、リビジョン) を参照するのに使用します。このオプションは、「-r ARG-1:ARG」 の簡略記法です。
--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
ログメッセージや属性値を編集するのに使う外部プログラムを指定します。デフォルトエディタを指定する方法は、config項 の editor-cmd
をご覧ください。
--encoding
ENC
コミットメッセージが、指定した文字セットでエンコードされていることを Subversion に伝えます。デフォルトは、あなたのオペレーティングシステムのもともとのロケールで、コミットメッセージが別の文字セットでエンコードされている場合には、それを指定する必要があります。
--extensions
(-x
) ARGS
Subversion が外部 diff コマンドに渡す、一つ以上の引数を指定します。このオプションは、--diff-cmd
オプションを指定した、svn diff や svn merge でのみ有効です。複数の引数を渡す場合、それらすべてをクォートでくくらなくてはなりません (例: svn diff --diff-cmd /usr/bin/diff -x "-b -E")。
--file
(-F
) FILENAME
そのファイルの内容を、サブコマンドに指定するのに使用しますが、サブコマンドが変われば、その内容の扱いが変わります。例えば、svn commit では内容をコミットログとして扱いますが、svn propset では属性値として扱います。
--force
特定のコマンドや操作の実行を強制します。通常であれば Subversion が拒否するような操作がいくつかありますが、この force オプションを渡し、Subversion に「影響含め何をしようとしているかわかっているから、とにかくやらせてくれ」と伝えられます。このオプションは、電源を入れたまま電子工作をするのに似ています — 何をやろうとしているのかよく理解していないと、きっと嫌な目に遭うでしょう。
--force-log
--messages
(-m
) や --file
(-F
) オプションに渡す、疑わしい引数を正しいものとして強制的に受け入れるように指示します。Subversion はデフォルトでは、サブコマンドの対象ではなく、上記のようなオプションを引数に渡されるとエラーとなります。例えば、--file
(-F
) オプションにバージョン管理下のファイルのパスを指定すると、Subversion はあなたが間違ったと見なし、パスを操作の対象とし、ログメッセージの取得先として、他の (バージョン管理外の) ファイルの読み込みに単に失敗します。自分の意図を宣言し、この種のエラーを無視するには、--force-log
オプションを、ログメッセージを受け入れるサブコマンドに対して指定します。
--help
(-h
や -?
) 一つ以上のサブコマンドと一緒に使って、それぞれのサブコマンドの内蔵ヘルプテキストを表示します。このオプションだけを単独で使うと、共通のクライアントヘルプテキストを表示します。
--ignore-ancestry
Subversion に対して差分を計算するときに、系統情報を無視するよう指示します (単にパス内容のみを利用します)。
--ignore-externals
Subversion に、外部定義と外部定義によって管理される外部作業コピーを無視するように指示します。
--incremental
(他の出力と) 連結しやすい形式で出力を表示します。
--limit
NUM
最初の NUM
個のログメッセージだけを表示します。
--message
(-m
) MESSAGE
コマンドライン上で、このオプションの後にログメッセージやロックコメントを指定します。以下のようになります。
$ svn commit -m "They don't make Sunday."
--new
ARG
ARG
を新しいほうのターゲットとして使用します (svn diff とともに使います)。
--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項 と 無視されるバージョン管理下にないアイテム項 をご覧ください。
--no-unlock
自動的にファイルをロック解除しません (デフォルトのコミットの動作は、コミットの一部として対象ファイルをすべてロック解除します)。詳しい情報は、ロック項 をご覧ください。
--non-interactive
認証が失敗したり十分な許可がないときに、認証要求 (例: ユーザ名とパスワード) するのを抑制します。これは、Subversion を自動スクリプト中で実行しており、認証要求するより単に失敗したほうが都合がいい場合に役に立ちます。
--non-recursive
(-N
)サブディレクトリに対して、サブコマンドを再帰的に実行するのを抑止します。ほとんどのサブコマンドはデフォルトで再帰的に実行しますが、いくつかのサブコマンド — 通常、本質的に削除や取り消しが起きるようなもの — はそうではありません。
--notice-ancestry
差分を計算するときに系統情報を考慮します。
--old
ARG
ARG
を古いほうのターゲットとして使用します (svn diff とともに使います)。
--password
PASS
コマンドラインで認証用パスワードを指定します — この指定がなければ、必要な場合、Subversion はパスワードを要求してきます。
--quiet
(-q
)実行中に重要な情報だけを表示するように指示します。
--recursive
(-R
)サブコマンドをサブディレクトリに対して再帰的に実行するようにします。ほとんどのサブコマンドはデフォルトで再帰的です。
--relocate
FROM TO [PATH...]
作業コピーが参照しているリポジトリの場所を変更するため、svn switch サブコマンドと一緒に使います。これは、リポジトリの場所が移動しても、既存の作業コピーを使い続けたい場合に便利です。サンプルは svn switch をご覧ください。
--revision
(-r
) REV
特定の操作で、リビジョン (またはリビジョン範囲) を指定します。revision オプションの引数として、リビジョン番号、リビジョンキーワード、日付 (中かっこ内) を指定できます。リビジョン範囲を指定する場合、二つのリビジョンをコロンで区切ってください。以下に例を示します。
$ 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 が厳密なセマンティックスを使うようにします。このセマンティックスとは、具体的なサブコマンド (はっきり言うと svn propget) について説明しないと、漠然とした概念になってしまいます。
--targets
FILENAME
コマンドラインにすべてのファイルを記述するかわりに、指定したファイルから操作するファイルの一覧を取得するよう Subversion に指示します。
--username
NAME
コマンドラインでの認証に、指定したユーザ名を使うように指示します — そうしないと、必要に応じて Subversion はその入力をユーザに求めます。
--verbose
(-v
)サブコマンド実行時に、できるたけ多くの情報を表示するように、クライアントに指示します。Subversion は、追加フィールド、すべてのファイルの詳細情報、動作内容についての追加情報などを表示するようになります。
--version
クライアントのバージョン情報を表示します。この情報は、クライアントのバージョン番号だけでなく、クライアントが Subversion リポジトリにアクセスする際の、すべてのリポジトリアクセスモジュールの一覧も表示します。--quiet
(-q
) と一緒に指定すると、短い形式でバージョン番号を表示します。
--xml
XML フォーマットで出力します。