メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

SVN ソース管理の設定

MATLAB® で Subversion® (SVN) ソース管理を使用すると、ファイルを管理して他のユーザーと共同作業を行うことができます。詳細については、Work with Files Under SVN in MATLABを参照してください。

SVN を使用する前に、次の手順に従って MATLAB 用に設定します。

  • (推奨) 標準の SVN リポジトリ構造を使用する。

  • (すべてのシステムで必須) ファイルの破損を避けるために、バイナリ ファイルを SVN に登録する。

  • (オプション) 編集前にファイルのロックを強制する。

標準の SVN リポジトリ構造の使用

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

バイナリ ファイルの 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. SVN config ファイルが見つからない場合は、SVN config ファイルの作成セクションの手順に従って新しいファイルを作成します。

  3. 既存の SVN config ファイルがある場合は、SVN が既にインストールされています。既存の SVN config ファイルの更新セクションの手順に従って、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 ファイルの更新

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

  1. SVN config ファイルをテキスト エディターで編集します。

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

    enable-auto-props = yes 
    この行がコメント行であることを示す # 文字で始まっていないことを確認してください。行が # 文字で始まっている場合は、その文字を削除します。

  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 ファイルに注釈を追加したり、自動マージを試行したりしなくなります。

  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 で svn propset を使用して、ファイルをバイナリとして手動で登録します。

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

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

特定の拡張子をもつファイルを読み取り専用にするように 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. 構成を有効にするには、作業フォルダーを再作成します。

ファイルのロックを強制した後、ユーザーはファイルを編集する前にファイルをロックする必要があります。詳細については、SVN ファイルのロックを参照してください。

Subversion リポジトリの共有

Subversion リポジトリを共有するには、Apache™ SVN モジュールを使用してサーバーを設定します。詳細については、https://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpdを参照してください。

メモ

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

  • MATLAB では、svn+ssh:// protocol を使用したリモート リポジトリの操作はサポートされていません。

参考

トピック