TortoiseSVN のすべてのコマンドはコマンドラインパラメータで制御されるため、バッチスクリプトで自動化したり、他のプログラム (例えば、お気に入りのテキストエディタなど) から特定のコマンドやダイアログを開始したりできます。
TortoiseSVN は GUI クライアントであり、この自動化ガイドは、ユーザー入力を収集するために TortoiseSVN ダイアログをどのように表示させるかを示していることを覚えておいてください。入力を必要としないスクリプトを作成したい場合は、代わりに公式の Subversion コマンドラインクライアントを使用する必要があります。
TortoiseSVN GUI プログラムは TortoiseProc.exe
と呼ばれます。すべてのコマンドは、パラメータ /command:abcd
で指定します。ここで abcd
は必要なコマンド名です。これらのコマンドのほとんどは、少なくとも 1 つのパス引数を必要とし、これは /path:"some\path"
で指定します。次の表では、command は /command:abcd
パラメータを指し、path は /path:"some\path"
パラメータを指します。
コマンドラインで何も指定されていない場合、プロジェクトモニターを起動する特別なコマンドがあります。 /tray
が指定されている場合、プロジェクトモニターは非表示で起動し、システムトレイにアイコンのみを追加します。
一部のコマンドはターゲットパスのリスト (例えば、複数の特定のファイルのコミット) を取ることができるため、/path
パラメータは、*
文字で区切られた複数のパスを取ることができます。
改行で区切られたパスのリストを含むファイルを指定することもできます。ファイルは、 BOM なしの UTF-16 形式である必要があります。このようなファイルを渡す場合は、/path
の代わりに /pathfile
を使用します。コマンド完了後に TortoiseProc にそのファイルを削除させるには、パラメータ /deletepathfile
を渡すことができます。/deletepathfile
を渡さない場合、自分でファイルを削除するか、ファイルが残ります。
コミット、更新、およびその他の多くのコマンドで使用されるプログレスダイアログは、通常、ユーザーが
ボタンを押すまで、コマンドが完了した後も開いたままになります。これは、設定ダイアログで対応するオプションをチェックすることで変更できます。ただし、その設定を使用すると、バッチファイルからコマンドを開始した場合でも、TortoiseSVN コンテキストメニューから開始した場合でも、プログレスダイアログが閉じられます。設定ファイルの別の場所を指定するには、パラメータ /configdir:"path\to\config\directory"
を使用します。これにより、レジストリ設定を含むデフォルトパスがオーバーライドされます。
永続的な設定を使用せずに、コマンドの最後にプログレスダイアログを自動的に閉じるには、/closeonend
パラメータを渡すことができます。
/closeonend:0
ダイアログを自動的に閉じない
/closeonend:1
エラーがない場合は自動的に閉じる
/closeonend:2
エラーと競合がない場合は自動的に閉じる
/closeonend:3
エラー、競合、およびマージがない場合は自動的に閉じる
ローカル操作でエラーまたは競合が発生しなかった場合にプログレスダイアログを閉じるには、/closeforlocal
パラメータを渡します。
以下の表に、TortoiseProc.exe コマンドラインを使用してアクセスできるすべてのコマンドをリストします。上記のように、これらは /command:abcd
の形式で使用する必要があります。表では、スペースを節約するために /command
プレフィックスを省略しています。
表 D.1. 利用可能なコマンドとオプションの一覧
コマンド | 説明 |
---|---|
:about | バージョン情報ダイアログを表示します。これは、コマンドが指定されていない場合にも表示されます。 |
:log |
ログダイアログを開きます。
svn の日付リビジョンは、次のいずれかの形式にすることができます
|
:checkout |
チェックアウトダイアログを開きます。
|
:import | インポートダイアログを開きます。/path は、インポートするデータを含むディレクトリを指定します。/logmsg スイッチを指定して、事前定義されたログメッセージをインポートダイアログに渡すこともできます。または、コマンドラインでログメッセージを渡したくない場合は、/logmsgfile:path を使用します。ここで path は、ログメッセージを含むファイルを指します。 |
:update | /path 内のワーキングコピーを HEAD に更新します。/rev オプションが指定されている場合、ユーザーに更新するリビジョンを尋ねるダイアログが表示されます。ダイアログを回避するには、リビジョン番号 /rev:1234 を指定します。その他のオプションは、/nonrecursive 、/ignoreexternals 、および /includeexternals です。/stickydepth は、指定された深度をスティッキーにする必要があることを示し、スパースチェックアウトを作成します。/skipprechecks を設定すると、更新前に実行されるすべてのチェックをスキップできます。これが指定されている場合、ログを表示 ボタンが無効になり、更新後に差分を表示するためのコンテキストメニューも無効になります。 |
:commit | コミットダイアログを開きます。/path は、ターゲットディレクトリまたはコミットするファイルのリストを指定します。/logmsg スイッチを指定して、事前定義されたログメッセージをコミットダイアログに渡すこともできます。または、コマンドラインでログメッセージを渡したくない場合は、/logmsgfile:path を使用します。ここで path は、ログメッセージを含むファイルを指します。(バグトラッカーとの統合を適切に設定している場合に) バグ ID ボックスを事前に記入するには、/bugid:"ここにバグ ID" を使用できます。 |
:add | /path 内のファイルをバージョン管理に追加します。 |
:revert | ワーキングコピーのローカルな変更を元に戻します。/path は、元に戻すアイテムを示します。 |
:cleanup | 中断または中止された操作をクリーンアップし、/path 内のワーキングコピーをロック解除します。実際にクリーンアップを実行するには、/cleanup も渡す必要があります。/noui を使用すると、結果ダイアログ (クリーンアップが完了したことを通知するか、エラーメッセージを表示する) がポップアップ表示されなくなります。/noprogressui もプログレスダイアログを無効にします。/nodlg は、ユーザーがクリーンアップで正確に何を実行するかを選択できるクリーンアップダイアログの表示を無効にします。利用可能なアクションは、ステータスクリーンアップには /cleanup 、すべてのロックを解除するには /breaklocks 、コミットされていない変更を元に戻すには /revert 、/delunversioned 、/delignored 、/refreshshell 、/externals 、/fixtimestamps および /vacuum オプションで指定できます。 |
:resolve | /path で指定された競合ファイルを解決済みとしてマークします。/noquestion が指定されている場合、本当に実行する必要があるかどうかを最初にユーザーに確認することなく、解決が実行されます。 |
:repocreate | /path にリポジトリを作成します |
:switch | スイッチダイアログを開きます。/path はターゲットディレクトリを指定し、/url はスイッチ先の URL を指定します。 |
:export | /path 内のワーキングコピーを別のディレクトリにエクスポートします。/path がバージョン管理されていないディレクトリを指している場合、/path 内のディレクトリにエクスポートする URL を尋ねるダイアログが表示されます。/blockpathadjustments キーを指定すると、自動エクスポートパスの調整がブロックされます。 |
:dropexport | /path 内のワーキングコピーを /droptarget で指定されたディレクトリにエクスポートします。このエクスポートはエクスポートダイアログを使用せず、直接実行されます。/overwrite オプションは、既存のファイルがユーザーの確認なしに上書きされることを指定し、/autorename オプションは、ファイルが既に存在する場合、エクスポートされたファイルが上書きを避けるために自動的に名前変更されることを指定します。/extended オプションは、ローカルで変更されたファイルのみをエクスポートするには localchanges 、バージョン管理されていないアイテムもすべてエクスポートするには unversioned のいずれかを指定できます。 |
:dropvendor | /path 内のフォルダを /droptarget で指定されたディレクトリに再帰的にコピーします。新しいファイルは自動的に追加され、ターゲットワーキングコピーで不足しているファイルは削除されます。基本的には、ソースと宛先が完全に同じになるようにします。/noui を指定して確認ダイアログをスキップし、/noprogressui を指定してプログレスダイアログの表示も無効にします。 |
:merge | マージダイアログを開きます。/path はターゲットディレクトリを指定します。リビジョン範囲をマージするには、次のオプションを使用できます: /fromurl:URL 、/revrange:string 。2 つのリポジトリツリーをマージするには、次のオプションを使用できます: /fromurl:URL 、/tourl:URL 、/fromrev:xxx および /torev:xxx 。 |
:mergeall | すべてマージダイアログを開きます。/path はターゲットディレクトリを指定します。 |
:copy | ブランチ/タグダイアログを表示します。/path は、ブランチ/タグを作成するワーキングコピーです。/url はターゲット URL です。URL が ^ で始まる場合、リポジトリルートに対する相対パスであると見なされます。ワーキングコピーを新しいブランチ/タグに切り替える オプションをすでにチェックするには、/switchaftercopy スイッチを渡します。中間フォルダを作成する オプションをチェックするには、/makeparents スイッチを渡します。/logmsg スイッチを指定して、事前定義されたログメッセージをブランチ/タグダイアログに渡すこともできます。または、コマンドラインでログメッセージを渡したくない場合は、/logmsgfile:path を使用します。ここで path は、ログメッセージを含むファイルを指します。 |
:settings | 設定ダイアログを開きます。 |
:remove | /path 内のファイルをバージョン管理から削除します。 |
:rename | /path 内のファイルの名前を変更します。ファイルの新しい名前はダイアログで尋ねられます。類似したファイルの名前を一度に変更することに関する質問を避けるには、/noquestion を渡します。 |
:diff | TortoiseSVN 設定で指定された外部差分プログラムを起動します。/path は最初のファイルを指定します。/path2 オプションが設定されている場合、差分プログラムはそれら 2 つのファイルで起動されます。/path2 が省略されている場合、差分は /path 内のファイルとその BASE との間で行われます。指定されたファイルにプロパティの変更もある場合、外部差分ツールは変更された各プロパティに対しても起動されます。それを防ぐには、/ignoreprops オプションを渡します。リビジョン番号を明示的に設定するには、/startrev:xxx および /endrev:xxx を使用し、オプションのペグリビジョンには /pegrev:xxx を使用します。/blame が設定され、/path2 が設定されていない場合、差分は、最初に指定されたリビジョンでファイルを blame することによって行われます。パラメータ /line:xxx は、差分が表示されるときにジャンプする行を指定します。 |
:shelve | 指定されたパスを新しいシェルフにシェルフします。/shelfname:name オプションはシェルフの名前を指定します。オプションのログメッセージは /logmsg:message で指定できます。/checkpoint オプションが渡されると、ファイルの変更が保持されます。 |
:unshelve | 名前 /shelfname:name のシェルフをワーキングコピーパスに適用します。デフォルトでは、シェルフの最新バージョンが適用されますが、/version:X でバージョンを指定できます。 |
:showcompare |
比較する URL とリビジョンに応じて、統合差分 ( オプション 指定された URL にプロパティの変更もある場合、外部差分ツールは変更された各プロパティに対しても起動されます。それを防ぐには、 統合差分が要求された場合、オプションの |
:conflicteditor | /path 内の競合ファイルに対して、TortoiseSVN 設定で指定された競合エディタを正しいファイルで起動します。 |
:relocate | 再配置ダイアログを開きます。/path は、再配置するワーキングコピーパスを指定します。 |
:help | ヘルプファイルを開きます。 |
:repostatus | 変更の確認ダイアログを開きます。/path は、ワーキングコピーディレクトリを指定します。/remote が指定されている場合、ユーザーが リポジトリを確認 ボタンをクリックした場合と同様に、ダイアログは起動時にリポジトリにすぐに接続します。 |
:repobrowser |
リポジトリブラウザダイアログを起動し、
追加オプション
|
:ignore | /path 内のすべてのターゲットを無視リストに追加します。つまり、それらのファイルに svn:ignore プロパティを追加します。 |
:blame |
オプション
オプション |
:cat | /path で指定された URL またはワーキングコピーパスから /savepath:path で指定された場所にファイルを保存します。リビジョンは /revision:xxx で指定します。これは、特定のリビジョンのファイルを取得するために使用できます。 |
:createpatch | /path で指定されたパスのパッチファイルを作成します。ファイル保存ダイアログをスキップするには、/savepath:path を渡して、パッチファイルを直接保存するパスを指定できます。統合差分ビューアがパッチファイルを表示して起動するのを防ぐには、/noview を渡します。統合差分が要求された場合、オプションの prettyprint オプションを指定できます。これにより、merge-info プロパティがよりユーザーフレンドリーな形式で表示されます。 |
:revisiongraph |
特定パスのリビジョングラフのイメージファイルを作成するには、グラフウィンドウを表示せずに、出力ファイルへのパスを含む リビジョングラフには表示方法に影響を与える多くのオプションがあるため、出力イメージファイルを作成するときに使用するオプションを設定することもできます。これらのオプションを |
:lock | /path で指定されたディレクトリ内のファイルまたはすべてのファイルをロックします。「ロック」ダイアログが表示されるので、ユーザーはロックのコメントを入力できます。 |
:unlock | /path で指定されたディレクトリ内のファイルまたはすべてのファイルのロックを解除します。 |
:rebuildiconcache | Windows アイコンキャッシュを再構築します。これは、Windows アイコンが破損している場合にのみ使用してください。これの副作用 (避けられない) は、デスクトップ上のアイコンが再配置されることです。メッセージボックスを抑制するには、/noquestion を渡します。 |
:properties |
バージョン管理されたプロパティを扱う場合、このコマンドにはワーキングコピーが必要です。
特定のプロパティのプロパティダイアログを直接開くには、プロパティ名を |
:sync |
設定をエクスポート/インポートします。現在の設定とエクスポートされた設定のどちらが新しいかに応じて、または指定されたとおりに。 パスが パラメータ
パラメータ |
例 (1 行で入力する必要があります)
TortoiseProc.exe /command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt" /logmsg:"test log message" /closeonend:0 TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0 TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt" /startrev:50 /endrev:60 /closeonend:0