TortoiseSVNのコマンド

チェックアウト

svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH
      

depthの引数は、「チェックアウトする深さ」コンボボックスに関連します。

外部参照を除外する がチェックされているなら、--ignore-externals スイッチを使用してください。

特定のリビジョンをチェックアウトしたい場合、-r スイッチを使って指定してください。

更新

svn info URL_of_WC
svn update [-r rev] PATH
      

複数の項目を更新するのに、現在の Subversion では不可分操作できません。そこで TortoiseSVN は、まず HEAD リビジョンをリポジトリから探し出し、複数のリビジョン場混じった作業コピーを作らないように、特定のリビジョン番号を持つすべての項目を更新します。

1項目しか選択しないで更新したり、選択した項目がすべて同じリポジトリにない場合、TortoiseSVN は HEAD リビジョンに更新します。

ここでのコマンドラインオプションはありません。特定リビジョンへ更新 も update コマンドを実装していますが、こちらはもっとオプションがあります。

リビジョンの更新

svn info URL_of_WC
svn update [-r rev] [-depth ARG] [--ignore-externals] PATH
      

depthの引数は、「チェックアウトする深さ」コンボボックスに関連します。

外部参照を除外する がチェックされているなら、--ignore-externals スイッチを使用してください。

コミット

TortoiseSVN ではコミットダイアログを使って複数の Subversion コマンドを実行します。最初は、コミットできる作業コピーの項目について状態チェックを行います。リストを確認し、コミットするよう選択したファイルと BASE に diff をかけることができます。

svn status -v PATH
      

バージョン管理外のファイルを表示にチェックがあると、TortoiseSVN は作業コピーの階層にあるバージョン管理外のファイルやフォルダーも(無視ルールを考慮して)表示します。svn status コマンドはバージョン管理外のフォルダー以下は検索しないため、この特殊な機能は直接対応する Subversion コマンドがありません。

バージョン管理外のファイルやフォルダーをチェックすると、最初にその項目を作業コピーへ追加します。

svn add PATH...
      

OK をクリックすると、その場で Subversion のコミット(commit)が実行されます。ファイル選択のチェックボックスをすべてデフォルト状態のままにすると、作業コピーの再帰的コミットが実行されます。ファイルを選択を外した場合、コマンドラインで個別にパスを指定した形で、非再帰的コミット(-N)が実行されます。

svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...
      

LogMessage にはログメッセージエディットボックスの内容を記述してください。空でもかまいません。

ロックを保持 にチェックしているなら、--no-unlock スイッチを使用してください。

差分

svn diff PATH
      

メインのコンテキストメニューから差分が実行された場合、BASEリビジョンから変更されたファイルに対して比較を行います。上記のCLIコマンドの出力では比較を行い、結果をUnified差分ファイルで出力します。しかし、TortoiseSVNはこれを使用しているわけではありません。TortoiseSVNはTortoiseMerge(または、任意の差分表示プログラム)でフルテキストファイルの差分を視覚的に表示します、そのため、CLIで直接相当するものはありません。

TortoiseSVN で、バージョン管理下であってもなくても、任意の 2 ファイルを比較することができます。TortoiseSVN は、単に2つのファイルを選択した差分プログラムに渡し、どこに差分があるかを比較させます。

ログの表示

svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH
or
svn log -v -r M:N [--stop-on-copy] PATH
      

デフォルトでは TortoiseSVN は --limit を使用してログメッセージを 100 個取得しようとします。古い API を使用するような設定になっていれば、リポジトリのリビジョンを100個分、ログメッセージを取得するには、2 番目の形式を使用してください。

コピー/名前の変更が発生したら停止 がチェックされている場合は、--stop-on-copy スイッチを使用してください。

変更をチェック

svn status -v PATH
or
svn status -u -v PATH
      

状態チェックの初期状態では、作業コピーに対してのみ行います。リポジトリをチェック をクリックすると、更新時にどのファイルが変更されるかリポジトリもチェックしますが、これには -u スイッチが必要です。

バージョン管理外のファイルを表示にチェックがあると、TortoiseSVN は作業コピーの階層にあるバージョン管理外のファイルやフォルダーも(無視ルールを考慮して)表示します。svn status コマンドはバージョン管理外のフォルダー以下は検索しないため、この特殊な機能は直接対応する Subversion コマンドがありません。

リビジョングラフ

リビジョングラフは TortoiseSVN のみの機能です。コマンドラインにはありません。

What TortoiseSVN does is an

svn info URL_of_WC
svn log -v URL
        

where URL is the repository root and then analyzes the data returned.

リポジトリブラウザー

svn info URL_of_WC
svn list [-r rev] -v URL
      

リポジトリブラウザーでトップレベルに表示されるリポジトリのルートを決めるのに svn info を使用できます。このレベル以上へは へ行けません。またこのコマンドは、リポジトリブラウザーに表示されるロック情報を返します。

svn list は URL とリビジョンで指定した、ディレクトリの内容をリスト表示します。

競合の編集

このコマンドには、同等の CLI がありません。競合したファイルを見て、どの行を使用するか整理するのに、TortoiseMerge や、その他の3画面差分・マージツールを起動します。

解決済み

svn resolved PATH
      

名前変更

svn rename CURR_PATH NEW_PATH
      

削除

svn delete PATH
      

変更の取り消し

svn status -v PATH
      

第一段階として、作業コピー内で変更の取り消しが行える項目を決定するよう、状態チェックを行います。一覧を確認し、BASE に対するファイルの比較、取り消す項目の選択を行えます。

OK をクリックすると、その場で Subversion の変更の取り消し(revert)が実行されます。ファイル選択のチェックボックスをすべてデフォルト状態のままにすると、作業コピーの再帰的な(-R)変更の取り消しが実行されます。ファイルの選択を外した場合、コマンドラインで個別にパスを指定した形で、変更の取り消しが実行されます。

svn revert [-R] PATH...
      

クリーンアップ

svn cleanup PATH
      

ロックの取得

svn status -v PATH
      

第一段階として、作業コピー内でロックできる項目を決定するよう、状態チェックを行います。ロックしたい項目を選択できます。

svn lock -m "LockMessage" [--force] PATH...
      

LockMessage には、ロックメッセージエディットボックスの内容を記述してください。空でもかまいません。

ロックを奪う にチェックが付いている場合、--force スイッチを使用してください。

ロックの解除

svn unlock PATH
      

ブランチ・タグ

svn copy -m "LogMessage" URL URL
or
svn copy -m "LogMessage" [email protected] [email protected]
or
svn copy -m "LogMessage" PATH URL
      

ブランチ/タグダイアログはリポジトリへのコピーを実行します。以下のようにラジオボタンのオプションが3つあります。

  • リポジトリ内の最新リビジョン
  • リポジトリのリビジョンを指定
  • 作業コピー

これは上記のコマンドライン 3 種に該当します。

LogMessage にはログメッセージエディットボックスの内容を記述してください。空でもかまいません。

切り替え

svn info URL_of_WC
svn switch [-r rev] URL PATH
      

マージ

svn merge [--dry-run] --force [email protected] [email protected] PATH
      

マージのテスト は、--dry-run スイッチ付きの merge と同じ動作をします。

svn diff [email protected] [email protected]
      

Unified diff はマージ処理されるものを差分で表示します。

エクスポート

svn export [-r rev] [--ignore-externals] URL Export_PATH
      

この形式はバージョン管理外フォルダーからアクセスし、エクスポート先に指定フォルダーを使用します。

作業コピーを別の場所にエクスポートするのに、Subversion ライブラリを使用ません。そのため、相当するコマンドラインが存在しません。

TortoiseSVN が行うのは、操作の進行を表示しながら、新しい場所に全ファイルをコピーすることです。バージョン管理外ファイル/フォルダーも、オプションでエクスポートできます。

どちらの場合でも、外部参照を除外する がチェックされていれば、--ignore-externals スイッチを使用してください。

再配置

svn switch --relocate From_URL To_URL
      

ここにリポジトリを作成

svnadmin create --fs-type fsfs PATH
      

追加

svn add PATH...
      

フォルダーを選択すると、TortoiseSVN はまず、追加できる項目を再帰的に検索します。

インポート

svn import -m LogMessage PATH URL
      

LogMessage にはログメッセージエディットボックスの内容を記述してください。空でもかまいません。

注釈履歴

svn blame -r N:M -v PATH
svn log -r N:M PATH
      

注釈情報を参照するのに TortoiseBlame を使用する場合、ツールチップにログメッセージを表示するのに、ファイルのログも必要です。注釈をテキストファイルで参照する場合は、この情報は必要ありません。

無視リストに追加

svn propget svn:ignore PATH > tempfile
{tempfileを編集し無視する項目を追加してください}
svn propset svn:ignore -F tempfile PATH

svn:ignore プロパティは複数行の値をとることがあるため、ここでは、直接コマンドラインで指定するのではなく、テキストファイルで変更する方法を示します。

パッチを作成

svn diff PATH > patch-file
      

TortoiseSVN は、作業コピーと BASE リビジョンを比較して、unified差分形式のパッチファイルを作成します。

パッチの適用

パッチと作業コピーが同じリビジョンでない場合、パッチの適用は困難な作業です。幸いなことに、Subversionには該当する機能がありませんが、TortoiseMergeを使用sるうことができます。