Main Content

SVN ソース管理の設定

MATLAB® では、Subversion® (SVN) サンドボックスおよびリポジトリを使用するための [ビルトイン SVN 統合] が提供されています。実装は MATLAB への組み込みであるため、SVN をインストールする必要はありません。[ビルトイン SVN 統合] では、セキュリティで保護されたログインがサポートされています。この統合は既存の SVN インストールを無視します。

SVN のソース管理オプション

MATLAB で提供されている SVN のバージョンを使用するには、ソース管理からファイルを取得するときに、[ソース管理統合] リストで [SVN] を選択します。詳細は、SVN リポジトリからのチェックアウト を参照してください。MATLAB の [ビルトイン SVN 統合] を使用して新しいサンドボックスを作成すると、新しいサンドボックスは MATLAB で提供されている最新バージョンの SVN を使用します。

注意

ソース管理を使用する前に、破損を防ぐため、バイナリ ファイルをソース管理ツールに登録する必要があります。バイナリ ファイルの SVN への登録 を参照してください。

組み込みバージョンではない SVN のバージョンを使用する必要がある場合、[ソース管理統合][コマンド ライン SVN 統合 (互換モード)] オプションを使用してリポジトリを作成できますが、コマンドライン SVN クライアントもインストールする必要があります。

コマンド ライン SVN 統合は、コマンド ライン インターフェイスをサポートする任意の Subversion (SVN) クライアントと通信します。[コマンド ライン SVN 統合 (互換モード)] では、ファイル名またはフォルダー名を @ 文字が含まれている名前に変更すると、コマンド ライン SVN は @ 記号の後ろにあるすべての文字をペグ リビジョン値として扱うため、エラーが発生します。

バイナリ ファイルの SVN への登録

サードパーティのソース管理ツールを使用する場合、MATLAB および Simulink® のファイル拡張子 (.mlx.mat.fig.mlapp.mdl.slx.mdlp.slxp.sldd.p など) をバイナリ形式で登録しなければなりません。また、.mexa64.mexmaci64.mexmaca64.mexw64 など、MEX ファイルの拡張子も登録します。拡張子を登録しないと、ファイルを送信するときに、行末の文字の変更、トークンの展開、キーワードの代入または automerge の試行によって、これらのツールがファイルを破損する可能性があります。ファイルの破損は MATLAB の外部でソース管理ツールを使用する場合、あるいはファイル形式を最初に登録せずに MATLAB からファイルを送信しようとする場合に発生することがあります。

また、ファイルのチェックイン時の破損を避けるために、他のファイル拡張子がバイナリとして登録されていることも確認してください。.xlsx.jpg.pdf.docx などのファイル拡張子を確認し登録します。

MATLAB が提供するビルトイン SVN 統合を含め、SVN のバージョンを使用する場合は、バイナリ ファイルを登録しなければなりません。拡張子をバイナリとして登録しない場合、SVN は競合する MATLAB ファイルに注釈を追加して、automerge を試行する可能性があります。SVN 使用時のこの問題を回避するため、ファイル拡張子を登録します。

  1. SVN の config ファイルの場所を特定します。ファイルは以下の場所で探します。

    • Windows® の場合は、C:\Users\myusername\AppData\Roaming\Subversion\config または C:\Documents and Settings\myusername\Application Data\Subversion\config

    • Linux® または macOS の場合は、~/.subversion

  2. config ファイルが見つからない場合は、新しく作成します。SVN config ファイルの作成 を参照してください。

  3. 既存の config ファイルがある場合は、SVN が既にインストールされています。config ファイルを編集します。既存の SVN config ファイルの更新 を参照してください。

SVN config ファイルの作成

  1. SVN config ファイルが見つからない場合は、以下の行を含むテキスト ファイルを作成します。

    [miscellany]
    enable-auto-props = yes
    [auto-props]
    *.mlx = svn:mime-type=application/octet-stream
    *.mat = svn:mime-type=application/octet-stream
    *.fig = svn:mime-type=application/octet-stream
    *.mdl = svn:mime-type=application/octet-stream
    *.slx = svn:mime-type= application/octet-stream
    *.mlapp = svn:mime-type= application/octet-stream
    *.p = svn:mime-type=application/octet-stream
    *.mdlp = svn:mime-type=application/octet-stream
    *.slxp = svn:mime-type=application/octet-stream
    *.sldd = svn:mime-type=application/octet-stream
    *.slxc = svn:mime-type=application/octet-stream
    *.mlproj = svn:mime-type=application/octet-stream
    *.mldatx = svn:mime-type=application/octet-stream
    *.slreqx = svn:mime-type=application/octet-stream
    *.sfx = svn:mime-type=application/octet-stream
    *.sltx = svn:mime-type=application/octet-stream
  2. チェックイン時の破損を防ぐため、バイナリとして登録する必要のある他のファイル タイプを確認します。MEX ファイル (.mexa64.mexmaci64.mexw64)、.xlsx.jpg.pdf.docx などのファイルを確認します。必要な各ファイル タイプの行を config ファイルに追加します。次に例を示します。

    *.mexa64 = svn:mime-type=application/octet-stream
    *.mexw64 = svn:mime-type=application/octet-stream
    *.mexmaci64 = svn:mime-type=application/octet-stream
    *.xlsx = svn:mime-type=application/octet-stream
    *.docx = svn:mime-type=application/octet-stream
    *.pdf = svn:mime-type=application/octet-stream
    *.jpg = svn:mime-type=application/octet-stream
    *.png = svn:mime-type=application/octet-stream
  3. config ファイルに名前を付けて、適切な場所に保存します。

    • Windows の場合は、C:\Users\myusername\AppData\Roaming\Subversion\config または C:\Documents and Settings\myusername\Application Data\Subversion\config

    • Linux または macOS の場合は、~/.subversion

SVN config ファイルの作成後、SVN はこれらの拡張子をもつ新しいファイルをバイナリとして扱います。リポジトリに既にバイナリ ファイルがある場合、リポジトリ内の既存ファイルの登録 を参照してください。

既存の SVN config ファイルの更新

既存の config ファイルがある場合は、SVN が既にインストールされています。ファイルをバイナリとして登録するには、config ファイルを編集します。

  1. config ファイルをテキスト エディターで開きます。

  2. [miscellany] セクションを探し、次の行で auto-propsyes で有効になっていることを確認します。

    enable-auto-props = yes 
    この行がコメント化されていないこと (つまり、行の先頭が # でないこと) を確認します。config ファイルには、コメント アウトされた例の行を含めることができます。行の先頭に # 文字がある場合は、削除します。

  3. [auto-props] セクションを検索します。[auto-props] がコメント化されていないことを確認します。先頭に # 文字がある場合は、削除します。

  4. [auto-props] セクションの最後に以下の行を追加します。

    *.mlx = svn:mime-type=application/octet-stream
    *.mat = svn:mime-type=application/octet-stream
    *.fig = svn:mime-type=application/octet-stream
    *.mdl = svn:mime-type=application/octet-stream
    *.slx = svn:mime-type= application/octet-stream
    *.mlapp = svn:mime-type= application/octet-stream
    *.p = svn:mime-type=application/octet-stream
    *.mdlp = svn:mime-type=application/octet-stream
    *.slxp = svn:mime-type=application/octet-stream
    *.sldd = svn:mime-type=application/octet-stream
    *.slxc = svn:mime-type=application/octet-stream
    *.mlproj = svn:mime-type=application/octet-stream
    *.mldatx = svn:mime-type=application/octet-stream
    *.slreqx = svn:mime-type=application/octet-stream
    *.sfx = svn:mime-type=application/octet-stream
    *.sltx = svn:mime-type=application/octet-stream
    
    これらの行により、SVN は競合時に MATLAB ファイルおよび Simulink ファイルに注釈を追加せず、automerge を行わなくなります。

  5. チェックイン時の破損を防ぐため、バイナリとして登録する必要のある他のファイル タイプを確認します。MEX ファイル (.mexa64.mexmaci64.mexw64)、.xlsx.jpg.pdf.docx などのファイルを確認します。使用する各ファイル タイプの行を config ファイルに追加します。次に例を示します。

    *.mexa64 = svn:mime-type=application/octet-stream
    *.mexw64 = svn:mime-type=application/octet-stream
    *.mexmaci64 = svn:mime-type=application/octet-stream
    *.xlsx = svn:mime-type=application/octet-stream
    *.docx = svn:mime-type=application/octet-stream
    *.pdf = svn:mime-type=application/octet-stream
    *.jpg = svn:mime-type=application/octet-stream
    *.png = svn:mime-type=application/octet-stream
  6. config ファイルを保存します。

SVN config ファイルの作成または更新後、SVN は新しいファイルをバイナリとして扱います。リポジトリ内にファイルが既にある場合は、リポジトリ内の既存ファイルの登録の説明に従ってそれらを登録します。

リポジトリ内の既存ファイルの登録

注意

SVN config ファイルを変更しても、SVN リポジトリに既にコミットされているファイルには影響ありません。ファイルがバイナリとして登録されていない場合、svn propset を使用してファイルをバイナリとして手動で登録します。

リポジトリ内のファイルを手動でバイナリとして登録するには、コマンド ライン SVN で次のコマンドを使用します。

svn propset svn:mime-type application/octet-stream binaryfilename

標準のリポジトリ構造

標準の tagstrunk および branches フォルダーをもつリポジトリを作成して、ファイルを trunk からチェックアウトします。Subversion プロジェクトでは、この構造を推奨しています。https://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html を参照してください。

この構造でリポジトリを作成した後は、[ソース管理] コンテキスト メニューで [タグ] をクリックして、すべてのファイルにタグを追加できます。詳細は、ファイルのバージョンへのタグ付けを参照してください。

ファイルのバージョンへのタグ付け

SVN では、タグを使用して、ファイルの特定のリビジョンを識別できます。SVN でタグを使用するには、リポジトリに標準のフォルダー構造が必要になり、ファイルを trunk からチェック アウトしなければなりません。標準のリポジトリ構造を参照してください。

  1. 現在のフォルダー ブラウザーで右クリックし、[ソース管理][タグ] を選択します。

  2. タグのテキストを指定して、[送信] をクリックします。フォルダー内のすべてのファイルにタグが追加されます。リポジトリに tags フォルダーがない場合、エラーが表示されます。

メモ

タグ付けしたバージョンのファイルはソース管理から取得できますが、新しいタグでタグ付けし直すことはできません。新しいタグを作成するには、trunk からチェックアウトしなければなりません。

編集前にファイルを強制ロックする

編集前にユーザーがファイルを確実にロックするよう要求するため、SVN を構成して指定した拡張子をもつファイルを読み取り専用にします。ファイルが読み取り専用の場合は、編集する前に、現在のフォルダー ブラウザー内で右クリックして選択し、[ソース管理][ファイルをロック] を選択しなければなりません。この設定により、ファイルがロックされずにファイルの編集が行われることがなくなります。ファイルがロックされると、他のユーザーにファイルが編集中であることが示され、マージの問題を防ぐことができます。

ファイルを強制的にロックするには、SVN の config ファイルでエントリを変更します。SVN の config ファイルの場所を特定するには、バイナリ ファイルの SVN への登録を参照してください。

  1. .m 拡張子のファイルを読み取り専用にするには、プロパティを SVN config ファイルの [auto-props] セクションに追加します。.m 拡張子のファイルのエントリがない場合、needs-lock プロパティを使用して追加します。

    *.m = svn:needs-lock=yes

    エントリが存在する場合、プロパティを任意の順序で組み合わせることができますが、複数のエントリはセミコロンで区切って 1 行に入力しなければなりません。

  2. .mlx 拡張子のファイルを読み取り専用にするには、プロパティを SVN config ファイルの [auto-props] セクションに追加します。.mlx 拡張子のファイルはバイナリとして登録しなければならないため、ファイル タイプのエントリが 1 つあります。エントリに needs-lock プロパティを任意の順序で、ただし、同じ行にセミコロンで区切って追加します。

    *.mlx = svn:mime-type=application/octet-stream;svn:needs-lock=yes 
  3. 構成を有効にするにはサンドボックスを再作成します。

この設定で、.m 拡張子のファイルを編集するには、[ファイルのロック] を選択する必要があります。SVN ファイルのロックを参照してください。

Subversion リポジトリの共有

リポジトリを共有する場合は、サーバーを設定しなければなりません。svnserve または Apache™ SVN モジュールが使用できます。次の Web ページを参照してください。

メモ

実稼働環境では、file:/// protocol を使用してファイル システム経由でリモート リポジトリに依存することは避けてください。このファイル プロトコルは安全ではありません。同時アクセスによって、リポジトリが破損する可能性があります。

関連するトピック