チュートリアル - バージョンコントロールの使用

Altium Designer では、Subversion (SVN)、Concurrent Versions System (CVS)、Microsoft® standard SCC Interface をサポートするその他のバージョンコントロール システムをサポートします。SVN と直接、連携できるため、Altium Designer 内からファイルレビジョンへアクセスし、リポジトリ、コミット/更新 ファイルを作成する機能を含む標準のSVN コマンドを利用できます。これは、回路図と PCB の比較で有用な機能です。回路図の 2 つのレビジョンと PCB の 2 つのレビジョン間の相違を容易に素早く比較、識別できます。  

バージョンコントロール システムを初めて使用する場合、どこから開始したら良いかわからないかもしれません。アーティクル Understanding Version Control, an Introduction をご覧ください。 

バージョンコントロールの有効

Altium Designer からバージョンコントロール システムへ直接、作業するには、適切なオプションを有効にする必要があります:

  1. DXP»Preferences を選択して Preferences ダイアログを開きます。 
  2. Version Control - General ページでプロバイダを選択します。
    • SCCI - Starteam のような、SCC Interface compliant バージョンコントロール システムを所有している場合の Source Code Control Interface オプション。
    • CVS - Concurrent Versions System のバージョンコントロール システムを使用している場合の Concurrent Versions System オプション。
    • SVN - Subversion のバージョンコントロール システムを使用している場合の Subversion オプション。

Version Control - General プリファレンス - バージョンコントロール プロバイダとして SVN を選択。 

Subversion を使用する際、更に以下の設定が必要です:

  1. メインの実行ファイル(通常、svn.exe)のパスを指定します。それから、Altium Designer はコミットや更新のような Subversion のリポジトリの動作を実行できます。 
  2. admin の実行ファイル(通常、svnadmin.exe)のパスを指定します。それから、Altium Designer はリポジトリを作成できます。既にリポジトリがある場合、このオプションをスキップします。バージョンコントロール システムが選択されていることを確認するために Altium Designer を再起動します。 

SVN コマンドを Altium Designer から正しく稼働させるには、Subversion 1.5.0、またはそれ以降のバージョンの Subversion をインストールする必要があることに注意してください。 

Storage Manager パネル

Main Article: Storage Manager Panel

全てのVCS に関連した動作は、Storage Manager パネル(ワークスペースの右下にある System ボタンをクリックして Storage Manager を選択)を通して実行されます。基本的な操作は、目的のファイルを選択してから右クリックメニューのコマンドを選択することです。  

全ての VCS に関連した操作は、Storage Manager パネルを通して実行できます。パネルの下部には Timeline が表示されます。 

Projects パネル

Main Article: Projects Panel



Project パネルに VCS の Status が表示されます。詳細なオプションを表示するには右クリックします。

バージョンコントロール下の各ファイルの VCS の status は、Projects パネルにあるファイル名の隣に表示されます。status は、使用している VCS の方法に依存し以下のいずれかになります:

SCCI

  • [空白] バージョンコントロール無効 - ファイルは VCS に追加されていません。
  • [空白] バージョンコントロールになっていません - ファイルは VCS に追加されていません。
  •  No modification - ファイルは repository にチェックインされ、ローカルコピーが更新されています。プロバイダによっては、ローカルコピーは読み取り専用にマークされ、 チェックアウトするまでは修正不可能になります。
  •  Out of date-  ファイルは repository にチェックインされていますが、ローカルコピーは期限切れになっています。Get Latest Version で、ローカルコピーを更新してください。
  •  Checked out exclusively by me – ファイルは現在、あなた一人でチェックアウトされています。しかし、チェックインする変更がありません。ファイルを仕上げて、他の人々がチェックアウトできるようにしたいときは、Undo Check Out を使用します。
  •  Modified exclusively by me – ファイルは現在、あなた一人でチェックアウトされ、修正されています。Use Check In で修正をリポジトリに格納します。あるいは、Undo Check Out でそれらを放棄します。
  •  Locked exclusively – ファイルは現在、他の誰かが一人でチェックアウトしています。その人が Undo Check Out を選択すれば、チェックアウトできます。プロバイダによっては、ローカルコピーは読み取り専用にマークされ、 修正不可能になります。  
  •  Locked exclusively by me - ファイルは現在、何らかの方法により、あなた一人でチェックアウトするためにどこか他の場所(他のディレクトリ)に管理されています。ロックを解除するには、ソースコードプラグインのドキュメントを参照してください。

CVS と Subversion

  • [空白] バージョンコントロール無効 - ファイルは VCS に追加されていません。
  • [空白] バージョンコントロールになっていません - ファイルは VCS に追加されていません。
  •  No modification – ファイルは repository にチェックインされ、ローカルコピーが更新されています。プロバイダによっては、ローカルコピーは読み取り専用にマークされ、チェックアウトするまでは修正不可能になります。 
  •  Out of date – ファイルは repository にチェックインされていますが、ローカルコピーは期限切れになっています。Get Latest Version で、ローカルコピーを更新してください。
  •  Modified – チェックアウトされたファイルは、あなたによってローカルで修正されました。ファイルを保存し、repository にチェックイン / コミット(承認)してください。
  •  Conflict - あなたが変更し、承認する前に、既に他の誰かによってファイルが承認されています。
  •  Missing – ファイルは repository にありますが、作業フォルダにはありません。Restore メニューのアイテムを右クリックメニューから使用して、コピーを repository から作業フォルダに移してください。

右クリックして Refresh Status を選択し、Projects パネル上の現在の VCS status の各ファイルをリフレッシュしてください。バージョンコントロール用のデータベースに無いドキュメントには、アイコンはありません。

Subversion の使用

バージョンコントロールを使用する前に、プロジェクトファイルが VCS と Altium Designer の両方でバージョンコントロール下である必要があります。このプロセスは、VCS の方法によって異なり Subversion でこれを行う方法を説明します。 

リポジトリの作成

Subversion は、そのバージョンコントロールの情報を主要なリポジトリに保存します。リポジトリは、ファイルツリーとして参照されるファイルやディレクトリの階層情報を保存します。リポジトリが存在しない場合、リポジトリを作成する必要があります。

リポジトリを作成するには:

  1. Storage Manager パネルを表示します。
  2. 右クリックして、Create Repository を選択します。
  3. 下図のダイアログで、Subversion のリポジトリを保存するためのディレクトリを指定します。Repository Type オプションに注意してください。Berkeley データベースをご存知でない場合、Native Filesystem オプションを使用することを推奨します。

Altium Designer から SVN リポジトリを作成。

リポジトリへディレクトリを追加

Subversion は、特定のディレクトリ内のファイルへの変更を監視します。これらの変更は、リポジトリに保存されます。次のステップでは、Subversion で監視したいディレクトリを決めます。

  1. フリーのファイル、またはプロジェクトを開きます。
  2. Storage Manager パネルを表示します。
     

    全ての VCS の操作は、Storage Manager パネルで右クリックし表示されるメニューから実行できます。

     
     

  3. Storage Manager パネルの Folders の項目に、選択されているプロジェクト/ファイルのディレクトリ構造が表示されます。ディレクトリを選択します。Altium Designer では、サブディレクトリは自動で監視されません。各ディレクトリを指定する必要があります。
  4. Storage Manager パネルで右クリックし、表示されたメニューから Link Folder to Repository folder を選択します。
  5. SVN Link Setup ダイアログが開き、ここでディレクトリを Subversion repository へリンクできます。
     

    作業ディレクトリとリポジトリの場所を設定。

     
     

  6. Local Directory が、ステップ 3 で選択したディレクトリであることを確認し、Path To Repository で使用したい Subversion repository を指定します。OK をクリックします。

このディレクトリは、Subversionで監視されています。これは、下図の Storage Manager パネル内のディレクトリ名の隣にあるチェーンアイコンで示されます。

チェーンアイコンに注意してください。これは、このディレクトリがバージョンコントロール下であることを示します。

リポジトリへファイルを追加

ディレクトリを Subversion リポジトリへ追加した後、リポジトリへ追加したいディレクトリ内のどれかのファイルを指定する必要があります。リポジトリに追加されているディレクトリ内の全てのファイルは、Not in version control の Status になります。

Subversion では、以下の操作でファイルをリポジトリに追加できます:

  1. リポジトリに追加されているディレクトリを選択します。
  2. Storage Manager で 1 つ、または複数のファイルを選択します。Only Show Files in the current Project オプションは、どのファイルをディレクトリに表示させるかをコントロールします。
  3. 右クリックメニューから Add to Version Control コマンドを選択します。
  4. 必要ならば、ファイルを追加する理由を示すコメントを追加し、OK をクリックします。

重要なコミットを実行する時はコメントを追加できます。

ファイルをリポジトリに追加した後、ファイルの Status は下図に示すように No Modification に変わります。

Storage Manager では、各ファイルの現在の Status が表示されます。 

Storage Manager パネルの VCS Revisions セクションに、青色の矢印 があります。これは、現在、チェックアウトしているファイルのレビジョンを示しています。Altium Designer のこのバージョンでは、ファイルが Subversionでリポジトリに追加されている時は、独占的にロックできません。

VCS の内外で更新するファイル 

プロジェクトとそのファイルが VCS に追加されると、それらを作業したい時にチェックアウトし、作業を完了した時に VCS に戻ることができます。日々の VCS での作業は、会社での必要条件や VCS のアプローチの仕方に依存します。例えば VCS で、マイクロソフトの Visual SourceSafe のようにロックされていないモデルをロックして修正させる場合、会社の方針としては、ファイルを他の人が利用できるようにするため、その日の最後に常に作業を確認すべきと主張することになるかもしれません。反対に、複数のチェックアウト(制限のないチェックアウトモデル)を実行できる CVS、または SVN を使用している場合、会社の方針としては、あなたの作業フォルダでデザインファイルをチェックアウトし続けることができ、主要なファイルを更新した時点でのみ、チェックインする必要があると主張することになるかもしれません。 

リポジトリからファイルを更新

  • CVS、または Subversion VCS システムを使用している時、Update コマンドを使用してリポジトリからファイルのコピーを "チェックアウト" します。また、作業しているファイルのコピーが作業しているその他のユーザによって修正されていることを確認するために Update コマンドを使用できます。
  • SCC インターフェース対応のバージョンコントロール・システムを使用している場合、Storage Manager パネル内のファイル名上で右クリックし Check Out を選択してファイルをチェックアウトします。

VCS は、作業フォルダに存在するファイルとリポジトリにあるファイルを比較して、その履歴を追跡します。そのため、ファイルをチェックアウトする時、VCS はリポジトリから作業フォルダへ最新のレビジョンファイルをコピーします(ファイルが同じレビジョンの場合は、何も起こりません)。Altium Designer では、リポジトリ内のファイルが作業中のファイルのコピーと同一である時、Storage Manager での Update コマンドを無効にすることでこれを行います。

Update コマンドを実行した時に Altium Designer の環境でファイルを開いていた場合、チェックアウトしたファイルのバージョンを表示し作業するためには、ファイルを閉じて再度、開く必要があります。

Status の更新

ファイルを更新後、VCS の Status は No Modification として Storage Manager パネルに表示されます。これは、リポジトリ内のファイルと作業しているファイルのバージョンが同じであることを示します。下図は、CVS、または Subversion バージョンコントロールシステムを使用している時に、プロジェクトファイルを更新した後の Status を示します。

Subversion における VCS でのファイルの Status。

下図は、VCS として SourceSafe が設定された様々なプロジェクトファイルについてのチェックアウトの状態を示します。SourceSafeでは、ロックしていないモデルをロックして使用するため、ファイルを独占してチェックアウト、またはチェックアウトできます。

SourceSafe における VCS でのファイルの Status。

独占してチェックアウトされるファイルについて、その他の設計者はこのファイルをチェックアウトできません。VCS は、ファイルのコピーを獲得できるメカニズムを持っていますが、更新したファイルをチェックインできるのは、独占してそのファイルをチェックアウトした設計者一人のみです。Altium Designer のこのバージョンでは、ファイルが Subversion でリポジトリに追加されている時は、独占的にロックできません。

ファイルをリポジトリへ承認

ファイルの作業を終えたら、VCS に戻ってファイルをチェックする必要があります。この過程は、リポジトリに戻って作業フォルダからファイルをコピーし、レビジョン番号をインクリメントします。commit したいファイルがアクティブな(開いている)場合、commit する前に保存する必要があることに注意してください。そうしないと、最後に保存したバージョンのファイルが開いているファイル以外へチェックインされます。

ファイルを commit するには:

  1. Storage Manager パネルで、承認したい 1 つ以上のファイルを右クリックし、Commit を選択します。

CVS、または SVN を使用していて、他の誰かがファイルのコピーをチェックアウトしてから更新を Commit した場合、Commit を実行できません。この場合、あなたは最初にUpdateを実行するよう要求されます。CVS や SVN 言語で Update は、作業しているファイルのバージョンへ、リポジトリのコピーに存在する変更を適用させる動作です。 一度、これが実行されると、ファイルを Commit することができます。それは、ファイルのリポジトリコピーからファイルのコピーへ変更を適用できないため(回路図/PCB はバイナリファイルであるため)、Update の結果は、CVS/SVN が作業フォルダへファイルのコピーをチェックアウトすること(ファイル名の最初にハッシュ (#) 文字が付加されます)になります。どんな相違も識別し、どのように相違を解決すべきか決定するために、次の項目に記述された相違の機能を使用します。  

バージョン間の相違を表示

VCS で最も使用されている特長の 1 つは、比較または相違を確認するツールです。一般的に、VCS には ASCII diff (文書比較)ツールが含まれており、優れたサードパーティ製の ASCII diff ツールもあります。Altium Designer では ASCII ファイルを比較でき、回路図と PCB ファイルの比較機能が導入されています。移動されている回路図のコンポーネントや変更されている配線のパスのような変更を表示すために、この機能を使用することができます。

回路図や PCB デザインファイルでの変更を素早く識別するための相違の機能を使用。

バージョンコントロール・システムとして CVS、または SVN を使用している場合、Storage Manager パネルの VCS Revisions の項目で直接、比較できます。これを行うには以下を実行します:

  1. 2つのレビジョンを Ctrl+click で選択します。
  2. 右クリックし、ポップアップメニューから Compare を選択します。
  3. 比較できるよう 2 つのファイルが並んで開きます。そして、全ての相違が Differences パネルにリスト表示されます。
  4. 実際の回路図、または PCB でそれを調べるには、Differences パネル内のエントリをダブルクリックします。 

SCC ソフトウェアインターフェースはレビジョンのリストを Altium Designer へ渡せないため、その他のバージョンコントロール システムについては以下を行う必要があります:

  1. 比較したいファイルのレビジョンを手動でチェックアウトします。 
  2. Altium Designer でそれらのファイルを開きます。
  3. Projects メニューから Show Physical Differences を選択します。 
  4. Choose Documents to Compare ダイアログで Advanced モードを有効にします。 
  5. 左、右のリストそれぞれで 1 つのドキュメントを選択し、OK をクリックします。
  6. 2つのファイルは比較され、全ての相違が Differences パネルにリスト表示されます。 
  7. 実際の回路図、または PCB でそれを調べるには Differences パネル内のエントリをダブルクリックします(それらを並べて表示するには、ドキュメントタブ上で右クリックしSplit Vertical を選択します)。

VCS からファイルを削除

VCS システムでは、ディレクトリ/プロジェクトを削除することができます。VCS からディレクトリ/プロジェクトを削除することにより、Altium Designer と VCS ソフトウェア間のリンクが解除され、バージョンコントロールと関連性が無くなります。しかし、ディレクトリ/プロジェクトだけを削除することは、全ての関連したプロジェクトファイルを VCS から削除するとは限りません。プロジェクトが VCS に戻って追加され、システムを再同期するためにリフレッシュが実行される場合 (Storage Manager パネルでプロジェクトファイルを右クリックして Refresh Status コマンドを選択)、それらは再度、チェックインされたとして表示されます。リポジトリからプロジェクトファイルを完全に削除するには、VCS インターフェースを使用する必要があります。

VCS からファイルを削除

選択したファイルを VCS から削除するには:

  1. Storage Manager パネルで削除したい 1 つ、または複数のファイル名を右クリックし、Remove from Version Control を選択します。
  2. 削除されたファイルの status は、Projects パネルで空のボックス [Not in version control] に変更されます。

VCS からディレクトリを削除

Altium Designer のこのバージョンでは、ディレクトリを VCS repository から削除できません。

Status のリフレッシュ

ファイルの status を最新にするには、Refresh Status コマンドを使用します。このコマンドはいつでも使用できますが、特に VCS ソフトウェアで直接、チェックインまたはチェックアウトするような動作を実行させた時に役に立ちます。

  1. Storage Manager パネルの Files の欄のプロジェクトファイル名を右クリックし、Refresh Status を選択します。
  2. Altium Designer でのアクティブなプロジェクトと VCS に存在するプロジェクト間のリンクはチェックされ、プロジェクトの status とその関連したファイルがリフレッシュされます。

対応する status は、Storage Manager パネルと Projects パネルの各ファイル名称の隣の右のボックス(Show VCS status オプションを有効にして)で更新されます。これらのオプションは、Preferences ダイアログ (DXP » Preferences) の System - Projects Panel ページで設定できます。また、Storage Manager パネルで F5 キーを使用して、VCS status をリフレッシュすることもできます。

ファイルの VCS 履歴の表示

バージョンコントロール下にあるファイルの履歴を表示できます。CVS、または Subversion バージョンコントロール システムを使用している場合、選択したファイルの履歴がStorage Manager パネルの VCS Revisions、または Time line の項目に直接、表示されます(右クリックメニューで選択した View に依存します)。

レビジョンを調べるには:

  1. ファイルを選択し、右クリックメニューから Open を選択します。この操作は、Altium Designer でファイルを開きます。 

SCCI バージョンコントロール システムを使用している場合、履歴を表示するには:

  1. Storage Manager パネルで VCS 履歴を見たいファイルを右クリックし、Show History を選択します。
  2. 必要であれば、VCS にログインします。
  3. ファイルの履歴の前に、下図のような History Option ダイアログが表示される場合があります。これは、使用している VCS ソフトウェアに依存します。OK をクリックすると、VCS 内で選択したファイルの履歴が表示されます。

History Options ダイアログで OK をクリックして、リストから希望のレビジョンを選択。

表示された情報は、使用しているバージョンコントロール ソフトウェアに依存します。これらのダイアログの詳細な情報については、VCS ソフトウェアドキュメントを確認してください。

参照 

引用

SVN community website http://subversion.tigris.org/
SVN online manual http://svnbook.red-bean.com/
CVS community website https://www.cvshome.org/
CVS installation tips http://www.cvsnt.org/wiki/InstallationTips
CVS manual (known as the Cederqvist, after the author) https://www.cvshome.org/docs/manual/
Using and administering CVS http://cvsbook.red-bean.com/cvsbook.html
Alternate CVS download site http://www.cvsnt.com

You are reporting an issue with the following selected text and/or image within the active document: