メインコンテンツ

MATLAB における SVN 管理対象ファイルの操作

MATLAB® で Subversion® (SVN) ソース管理を使用すると、ファイルを管理して他のユーザーと共同作業できます。SVN を使用すると、ファイルの変更を追跡して、後で特定のバージョンを再表示できます。

Basic SVN workflow

既存のリポジトリをチェックアウトした後、SVN ソース管理にファイルを追加し、[ファイル] パネル、[プロジェクト] パネル、および [ソース管理] パネルから変更をコミットできます。[ソース管理] アイコンがサイドバーにない場合は、[パネルをさらに開く] ボタン Open more panels icon をクリックし、[ソース管理] パネルを選択します。

[コマンドのコピー] ボタンを使用して、SVN ソース管理下の例をダウンロードします。

SVN リポジトリからのファイルのチェックアウト

https:// または file:// プロトコルを使用して、リモート SVN リポジトリからファイルをチェックアウトできます。

1. [ホーム] タブの [ファイル] セクションで、[新規][SVN Checkout] を選択します。あるいは、[ファイル] パネルまたは [プロジェクト] パネルで空白部分を右クリックし、[ソース管理][SVN リポジトリをチェックアウト] を選択します。

2. [SVN リポジトリをチェックアウト] ダイアログ ボックスで、URL を指定します。

  • trunk からチェックアウトするための URL の例は https://svn.example.com/repos/TeamRepos/TeamUtilities/trunk です。

  • リポジトリのタグ付けされたバージョンをチェックアウトするための URL の例は https://svn.example.com/repos/TeamRepos/TeamUtilities/tags/1.1.0 です。リポジトリでは標準のフォルダー構造を使用する必要があります。詳細については、標準の SVN リポジトリ構造の使用を参照してください。

  • ブランチ フォルダーからチェックアウトするための URL の例は file://var/svn/repos/TeamRepos/TeamUtilities/branches/Release2024 です。ブランチからチェックアウトすることはできますが、組み込みの SVN 統合ではブランチのマージはサポートされていません。ブランチのマージを実行するには、TortoiseSVN などの外部ツールを使用します。

3. 作業用コピーのフォルダーの場所を指定します。フォルダーは空でなければなりません。

ローカル フォルダーを使用します。SVN でネットワーク フォルダーを使用すると、ソース管理操作が遅くなります。

4. [チェックアウト] をクリックします。プロンプトが表示されたら、リモート リポジトリのログイン情報を入力します。既定では、MATLAB は SVN リポジトリとやり取りするときにユーザー名とパスワードを記憶します。資格情報管理を無効にする方法については、SVN 設定の構成を参照してください。

SVN リポジトリ用に保存されたログイン情報を削除するには、[ファイル] パネルまたは [プロジェクト] パネルで空白部分を右クリックし、[ソース管理][資格情報をクリア] を選択します。あるいは、[ソース管理] パネルで [その他のソース管理オプション] ボタン More source control options icon をクリックし、[資格情報をクリア] を選択します。

SVN ファイルのロック

ソース管理の設定時に、特定の拡張子をもつファイルを読み取り専用にするように SVN を構成できます。ユーザーは、読み取り専用ファイルを編集する前に、そのファイルをロックする必要があります。ファイルがロックされると、他のユーザーにファイルが編集中であることが示され、マージの問題を防ぐことができます。詳細については、編集前にファイルを強制ロックするを参照してください。

  • 読み取り専用ファイルをチェックアウトするには、[ファイル] パネルまたは [プロジェクト] パネルでファイルを右クリックし、[ソース管理][ファイルのロック] を選択します。ソース管理ステータス列にロック シンボル が表示されます。他のユーザーの作業フォルダー内にロック シンボルは表示されませんが、他のユーザーはファイル ロックを取得したり、ロックされたファイルをチェックインしたりできません。

  • ロックを確認または解除するには、[ファイル] パネルまたは [プロジェクト] パネルの最上位の作業フォルダーで空白部分を右クリックし、[ソース管理][SVN ロック] を選択します。[SVN ロック] ダイアログ ボックスで、ロックされているファイルおよびロックの所有者を確認できます。ロックを解除するには、ファイルを右クリックし、[ロックの強制解除] をクリックします。

SVN Locks dialog box with the list of locked files and their owners

  • SVN が working copy locked エラーを報告したときに古いロックを解除するには、空白部分を右クリックし、[ソース管理][SVN クリーンアップ] を選択します。

SVN ソース管理に追加するファイルのマーク

ソース管理下のフォルダーに新しいファイルを作成すると、[ファイル] パネルのステータス列に [ソース管理対象ではありません] シンボル Not Under Source Control icon が表示されます。

ソース管理にファイルを追加するには、追加するファイルを選択して右クリックします。次に、[ソース管理]、[ソース管理に追加] を選択します。ソース管理列のソース管理ステータスが [追加されました] Added icon に変わります。

MATLAB プロジェクトを使用してフォルダー内のファイルを管理する場合、ステータスが [プロジェクト内] であるすべてのファイルが MATLAB によってソース管理に自動的に追加されます。

ヒント: 設計が拡大するにつれて、参照ファイルと依存関係の管理が複雑化します。MATLAB プロジェクトは、必要なファイルの検索、パスの管理、ショートカットの作成、およびファイルと設定の共有を行うことで、大規模な階層を整理するのに役立ちます。詳細については、プロジェクトを参照してください。

大規模なリポジトリでは、[ソース管理] パネルを使用して、追跡されていないファイルのリストのみを表示します。

  • ファイルをソース管理に追加するには、[追跡していないファイル] セクションでファイルを右クリックし、[ソース管理に追加] を選択します。

  • フォルダーとその内容をソース管理に追加するには、[追跡していないファイル] セクションでフォルダーを右クリックし、[追跡していないファイルを追加] を選択します。[ファイルの追加] ダイアログ ボックスで、ソース管理に追加しないファイルをクリアし、[追加] をクリックします。

  • 作業フォルダー内の追跡されていないすべてのファイルをソース管理に追加するには、[その他のソース管理オプション] ボタン More source control option icon をクリックします。次に、[追跡していないファイルを追加] を選択します。[ファイルの追加] ダイアログ ボックスですべてを選択し、[追加] をクリックします。

SVN ファイルのステータスとリビジョンの更新

ファイルのソース管理ステータスおよびソース管理列のアイコンを更新するには、[ファイル] パネルまたは [プロジェクト] パネルで 1 つ以上のファイルを右クリックし、[ソース管理][リフレッシュ] を選択します。

フォルダー内のすべてのファイルのステータスを更新するには、[ファイル] パネルまたは [プロジェクト] パネルの空白部分を右クリックし、[ソース管理][リフレッシュ] を選択します。あるいは、[ソース管理] パネルで [その他のソース管理オプション] ボタン More source control options icon をクリックし、[リフレッシュ] を選択します。

SVN ソース管理ステータスを更新しても、リポジトリに接続して最新のファイル リビジョンが取得されることはありません。最新のファイル リビジョンを取得するには、次のいずれかのオプションを使用して作業フォルダーを更新する必要があります。

  • 選択したファイルのローカル コピーを更新するには、[ファイル] パネルまたは [プロジェクト] パネルで 1 つ以上のファイルを選択して右クリックし、[ソース管理][更新] を選択します。

  • フォルダー内のすべてのファイルを更新するには、[ファイル] パネルまたは [プロジェクト] パネルで右クリックし、[ソース管理][更新] を選択します。あるいは、[ソース管理] パネルで [更新] ボタン をクリックします。

The illustration shows the Files and Source Control panel staked together. The SVN repository in the Source Control panel shows the list of modified files with a context menu listing all the options.

自分と別のユーザーが別々の SVN 作業フォルダーに含まれている同じファイルに変更を加えた場合、変更をコミットする前に作業フォルダーを更新すると、競合が発生する可能性があります。競合を解決する方法については、SVN ソース管理の競合の解決を参照してください。

SVN ソース管理での変更の確認

変更が含まれるすべてのファイルのソース管理ステータスには、[変更されました] シンボル Modified icon が表示されます。変更を SVN にコミットする前に確認するには、[ファイル] パネルまたは [プロジェクト] パネルで変更済みファイルを右クリックし、[ソース管理]、[変更を表示] を選択します。

大規模な作業フォルダーで変更済みファイルのリストのみを表示するには、代わりに [ソース管理] パネルを使用します。これらのファイルのローカルの変更を表示するには、ファイルを右クリックし、[変更を表示] を選択します。

異なるリビジョンを比較することもできます。[ソース管理] パネルでファイルを右クリックし、[リビジョンの表示] を選択します。["file" のログ] ダイアログ ボックスで、2 つのリビジョンを選択して [選択対象の比較] をクリックします。

比較ツールで、並べて比較する画面が開きます。詳細については、テキスト ファイルの比較およびモデルの比較 (Simulink)を参照してください。

変更済みファイルの変更のコミットまたは元に戻す操作

変更済みファイルをコミットする前に、変更を確認し、ソース管理に追加する新しいファイルをマークします。

[追加されました] Added icon ステータスのファイルおよび [変更されました] Modified icon ステータスのファイルをコミットするには、[ソース管理] パネルで [コミット] をクリックします。あるいは、[ファイル] パネルまたは [プロジェクト] パネルで右クリックし、[ソース管理]、[コミット] を選択します。

  • [変更をコミット] ダイアログ ボックスでコミット メッセージを入力し、[コミット] をクリックします。

  • リポジトリの方が進んでいるためにコミットできない場合は、まずリビジョンを現在の HEAD リビジョンに更新する必要があります。[ソース管理] パネルで [更新] ボタン Update icon をクリックします。コミットする前に競合を解決します。

ヒント: コミットや更新などのソース管理アクションを実行する前に未保存の変更についてメッセージを表示するように MATLAB® を構成できます。詳細については、ソース管理設定の構成を参照してください。

また、変更をソース管理にコミットする代わりに、変更を破棄することもできます。

ソース管理ステータスが [追加されました] Added icon および [変更されました] Modified icon から [変更されていません] Unmodified icon に変わります。

変更済みファイルの変更の破棄

変更を破棄すると、すべてのロックが解除され、リビジョンが最後の更新に戻ります。

  • ファイル内のローカルの変更を破棄するには、[ソース管理] パネルでファイルを右クリックし、[変更を破棄] を選択します。あるいは、[ファイル] パネルまたは [プロジェクト] パネルでファイルを右クリックし、[ソース管理]、[変更を破棄] を選択します。

  • すべてのローカルの変更を破棄するには、[ソース管理] パネルで [その他のソース管理オプション] ボタン More source control options をクリックし、[すべての変更の破棄] を選択します。

ファイルを特定のリビジョンに戻すには、[ソース管理] パネルでファイルを右クリックし、[リビジョンの表示] を選択します。["file" のログ] ダイアログ ボックスで、元に戻す先のリビジョンを選択し、[元に戻す] をクリックします。

参考

トピック