SVN ソース管理の設定
MATLAB® で Subversion® (SVN) ソース管理を使用すると、ファイルを管理して他のユーザーと共同作業を行うことができます。詳細については、MATLAB における SVN 管理対象ファイルの操作を参照してください。
SVN を使用する前に、次の手順に従って MATLAB 用に設定します。
(推奨) 標準の SVN リポジトリ構造を使用する。
(すべてのシステムで必須) ファイルの破損を避けるために、バイナリ ファイルを SVN に登録する。
(オプション) 編集前にファイルのロックを強制する。
標準の SVN リポジトリ構造の使用
標準の tags、trunk および 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 使用時のこの問題を回避するため、ファイル拡張子を登録します。
SVN の
configファイルの場所を特定します。ファイルは以下の場所で探します。Windows® の場合 –
C:\Users\またはmyusername\AppData\Roaming\Subversion\configC:\Documents and Settings\myusername\Application Data\Subversion\configLinux® または macOS の場合 –
~/.subversion
SVN
configファイルが見つからない場合は、SVN config ファイルの作成セクションの手順に従って新しいファイルを作成します。既存の SVN
configファイルがある場合は、SVN が既にインストールされています。既存の SVN config ファイルの更新セクションの手順に従って、configファイルを編集します。
SVN config ファイルの作成
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
チェックイン時の破損を防ぐため、バイナリとして登録する必要のある他のファイル タイプを確認します。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
configファイルに名前を付けて、適切な場所に保存します。Windows の場合 –
C:\Users\またはmyusername\AppData\Roaming\Subversion\configC:\Documents and Settings\myusername\Application Data\Subversion\configLinux または macOS の場合 –
~/.subversion
SVN config ファイルの作成後、SVN はこれらの拡張子をもつ新しいファイルをバイナリとして扱います。リポジトリに既にバイナリ ファイルがある場合、リポジトリ内の既存ファイルの登録 を参照してください。
既存の SVN config ファイルの更新
既存の SVN config ファイルがある場合は、SVN が既にインストールされています。ファイルをバイナリとして登録するには、config ファイルを編集します。
SVN
configファイルをテキスト エディターで編集します。[miscellany]セクションを探し、次の行でauto-propsがyesで有効になっていることを確認します。この行がコメント行であることを示すenable-auto-props = yes
#文字で始まっていないことを確認してください。行が#文字で始まっている場合は、その文字を削除します。[auto-props]セクションを検索します。[auto-props]セクションが#文字で始まっていないことを確認してください。セクションが#文字で始まっている場合は、その文字を削除します。[auto-props]セクションの最後に次の行を追加します。これらの行により、SVN は競合する MATLAB および Simulink ファイルに注釈を追加したり、自動マージを試行したりしなくなります。*.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
チェックイン時の破損を防ぐため、バイナリとして登録する必要のある他のファイル タイプを確認します。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
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 への登録を参照してください。
.m拡張子のファイルを読み取り専用にするには、プロパティを SVNconfigファイルの[auto-props]セクションに追加します。.m拡張子のファイルのエントリがない場合、needs-lockプロパティを使用して追加します。*.m = svn:needs-lock=yes
エントリが存在する場合、プロパティを任意の順序で組み合わせることができますが、複数のエントリはセミコロンで区切って 1 行に入力しなければなりません。
.mlx拡張子のファイルを読み取り専用にするには、プロパティを SVNconfigファイルの[auto-props]セクションに追加します。.mlx拡張子のファイルはバイナリとして登録しなければならないため、ファイル タイプのエントリが 1 つあります。単一行にセミコロンで区切って任意の順序で、needs-lockプロパティをエントリに追加します。*.mlx = svn:mime-type=application/octet-stream;svn:needs-lock=yes
構成を有効にするには、作業フォルダーを再作成します。
ファイルのロックを強制した後、ユーザーはファイルを編集する前にファイルをロックする必要があります。詳細については、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を使用したリモート リポジトリの操作はサポートされていません。