SVN ソース管理の設定
MATLAB® では、Subversion® (SVN) サンドボックスおよびリポジトリを使用するための [ビルトイン SVN 統合] が提供されています。実装は MATLAB への組み込みであるため、SVN をインストールする必要はありません。[ビルトイン SVN 統合] では、セキュリティで保護されたログインがサポートされています。この統合は既存の SVN インストールを無視します。
MATLAB で提供されている SVN のバージョンを使用するには、ソース管理からファイルを取得するときに、[ソース管理統合] リストで [SVN]
を選択します。詳細は、SVN リポジトリからのチェックアウト を参照してください。MATLAB の [ビルトイン SVN 統合] を使用して新しいサンドボックスを作成すると、新しいサンドボックスは MATLAB で提供されている最新バージョンの 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 使用時のこの問題を回避するため、ファイル拡張子を登録します。
SVN の
config
ファイルの場所を特定します。ファイルは以下の場所で探します。Windows® の場合は、
C:\Users\
またはmyusername
\AppData\Roaming\Subversion\configC:\Documents and Settings\
myusername
\Application Data\Subversion\configLinux® または macOS の場合は、
~/.subversion
config
ファイルが見つからない場合は、新しく作成します。SVN config ファイルの作成 を参照してください。既存の
config
ファイルがある場合は、SVN が既にインストールされています。config
ファイルを編集します。既存の SVN 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 ファイルの更新
既存の config
ファイルがある場合は、SVN が既にインストールされています。ファイルをバイナリとして登録するには、config
ファイルを編集します。
config
ファイルをテキスト エディターで開きます。[miscellany]
セクションを探し、次の行でauto-props
がyes
で有効になっていることを確認します。この行がコメント化されていないこと (つまり、行の先頭がenable-auto-props = yes
#
でないこと) を確認します。config ファイルには、コメント アウトされた例の行を含めることができます。行の先頭に#
文字がある場合は、削除します。[auto-props]
セクションを検索します。[auto-props]
がコメント化されていないことを確認します。先頭に#
文字がある場合は、削除します。[auto-props]
セクションの最後に以下の行を追加します。これらの行により、SVN は競合時に MATLAB ファイルおよび Simulink ファイルに注釈を追加せず、automerge を行わなくなります。*.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 propset
を使用してファイルをバイナリとして手動で登録します。
リポジトリ内のファイルを手動でバイナリとして登録するには、コマンド ライン SVN で次のコマンドを使用します。
svn propset svn:mime-type application/octet-stream binaryfilename
標準のリポジトリ構造
標準の tags
、trunk
および branches
フォルダーをもつリポジトリを作成して、ファイルを trunk
からチェックアウトします。Subversion プロジェクトでは、この構造を推奨しています。https://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html を参照してください。
この構造でリポジトリを作成した後は、[ソース管理] コンテキスト メニューで [タグ] をクリックして、すべてのファイルにタグを追加できます。詳細については、ファイルのバージョンへのタグ付けを参照してください。
ファイルのバージョンへのタグ付け
SVN では、タグを使用して、ファイルの特定のリビジョンを識別できます。SVN でタグを使用するには、リポジトリに標準のフォルダー構造が必要になり、ファイルを trunk
からチェック アウトしなければなりません。標準のリポジトリ構造を参照してください。
現在のフォルダー ブラウザーで右クリックし、[ソース管理] 、 [タグ] を選択します。
タグのテキストを指定して、[送信] をクリックします。フォルダー内のすべてのファイルにタグが追加されます。リポジトリに
tags
フォルダーがない場合、エラーが表示されます。
メモ
タグ付けしたバージョンのファイルはソース管理から取得できますが、新しいタグでタグ付けし直すことはできません。新しいタグを作成するには、trunk
からチェックアウトしなければなりません。
編集前にファイルを強制ロックする
編集前にユーザーがファイルを確実にロックするよう要求するため、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
構成を有効にするにはサンドボックスを再作成します。
この設定で、.m
拡張子のファイルを編集するには、[ファイルのロック] を選択する必要があります。SVN ファイルのロックを参照してください。
Subversion リポジトリの共有
リポジトリを共有する場合は、サーバーを設定しなければなりません。svnserve
または Apache™ SVN モジュールが使用できます。次の Web ページを参照してください。
https://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.svnserve
https://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd
メモ
実稼働環境では、file:/// protocol
を使用してファイル システム経由でリモート リポジトリに依存することは避けてください。このファイル プロトコルは安全ではありません。同時アクセスによって、リポジトリが破損する可能性があります。