Subversion (SVN) によるファイルの取得とチェックアウト



Dreamweaver は Subversion (SVN) を使用したサーバーに接続できます。SVN はバージョン管理システムの一種であり、リモート Web サーバー上のファイルに対する編集や管理の共同作業を複数のユーザーで実行する場合に使用できます。Dreamweaver は SVN クライアントのすべての機能を備えてはいませんが、ファイルの最新バージョンを取得し、変更を加え、そのファイルをコミットすることができます。

重要: Dreamweaver CS4 では、Subversion 1.4.5 クライアントライブラリを使用します。Subversion 1.4.5 より後のバージョンのクライアントライブラリは、下位互換性がありません。サードパーティのクライアントアプリケーション (TortoiseSVN など) を更新して Subversion 1.5 以降で使用する場合、更新された Subversion アプリケーションによってローカル Subversion のメタデータが更新され、Dreamweaver は Subversion と通信できなくなります。この問題には、Subversion サーバーの更新は影響しません。サーバーの更新は下位互換性があります。この問題の詳細については、www.adobe.com/go/dw_svn_jp を参照してください。

SVN でバージョン管理されたファイルに対する作業では、サードパーティ製のファイル比較ツールの使用をお勧めします。ファイルを比較して差分を調べると、他のユーザーによってファイルに加えられた変更内容を正確に把握できます。ファイル比較ツールの詳細については、Google Search など Web の検索エンジンで「ファイル比較」や「差分」のツールを検索してください。 Dreamweaver はほとんどのサードパーティ製ツールと共に使用できます。

SVN と Dreamweaver を使用した作業について説明する概要ビデオは、www.adobe.com/go/lrvid4049_dw_jp を参照してください。

SVN 接続の設定

Dreamweaver で Subversion (SVN) をバージョンコントロールシステムとして使用する前に、SVN サーバーへの接続を設定する必要があります。SVN サーバーへの接続は、[サイト定義] ダイアログボックスの [バージョンコントロール] カテゴリで設定します。

SVN サーバーはファイルのリポジトリで、ユーザーがファイルを取得およびコミットする場所です。Dreamweaver で通常使用するリモートサーバーとは異なります。SVN を使用する場合、リモートサーバーは Web ページの "ライブ" サーバーとして残り、SVN サーバーはバージョンコントロールの対象となるファイルのリポジトリになります。一般的なワークフローとしては、SVN サーバーとの間でファイルの取得とコミットを行い、次に Dreamweaver からリモートサーバーにファイルをパブリッシュします。リモートサーバーの設定は、SVN の設定から完全に独立しています。

この設定を始める前に、SVN サーバーと SVN リポジトリへのアクセス権が必要です。SVN の詳細については、Subversion の Web サイト (http://subversion.tigris.org/) を参照してください。

SVN 接続を設定するには、以下の手順に従います。

  1. [サイト]-[サイトの管理] を選択し、バージョンコントロールを設定するサイトを選択し、[編集] ボタンをクリックします。
    注意: Dreamweaver サイトのローカルフォルダとリモートフォルダをまだ設定していない場合は、最低でもローカルサイトを設定してから続行する必要があります。この段階ではリモートサイトの設定は必要ありませんが、最終的には Web にファイルをパブリッシュする前に設定する必要があります。詳細については、Dreamweaver サイトの設定を参照してください。
  2. [サイト定義] ダイアログボックスで [詳細設定] タブが選択されていることを確認します。

  3. [サイト定義] ダイアログボックスの [カテゴリ] リストから [バージョンコントロール] カテゴリを選択します。

  4. [アクセス] ポップアップメニューから [Subversion] を選択します。

  5. アクセスオプションを以下のように設定します。

    • [プロトコル] ポップアップメニューからプロトコルを選択します。使用可能なプロトコルは、HTTP、HTTPS、SVN、および SVN+SSH です。

      注意: SVN+SSH プロトコルを使用するには特別な構成が必要です。詳細については、www.adobe.com/go/learn_dw_svn_ssh_jp を参照してください。
    • [サーバアドレス] テキストボックスに、SVN サーバーのアドレスを入力します (通常は servername.domain.com の形式)。

    • [リポジトリパス] テキストボックスに、SVN サーバー上のリポジトリを指定するパスを入力します (通常、これは /svn/your_root_directory のようなパスになります。SVN リポジトリのルートフォルダ名はサーバー管理者が決定します)。

    • (オプション) デフォルトのサーバーポート以外のサーバーポートを使用する場合は、[ポートを指定] を選択してポート番号をテキストボックスに入力します。

    • SVN サーバーのユーザー名とパスワードを入力します。

  6. [テスト] をクリックして接続をテストし、[OK] をクリックしてダイアログボックスを閉じます。次に、[終了] をクリックして [サイトの管理] ダイアログボックスを閉じます。

サーバーとの接続が確立されたら、SVN リポジトリを [ファイル] パネルで表示できるようになります。リポジトリを表示するには、[ビュー] ポップアップメニューから [リポジトリビュー] を選択し、展開された [ファイル] パネルで [リポジトリファイル] ボタン  をクリックします。

SVN リポジトリからのフォルダのマウント

SVN リポジトリからローカルコンピュータにフォルダをマウントする場合は、SVN リポジトリのフォルダ構造が正確に反映されます。SVN リポジトリからフォルダをマウントすると、そのフォルダ内のすべてのファイルおよびサブフォルダが取得されます。

注意: リポジトリから初めてファイルを取得する際には、空のローカルディレクトリか、リポジトリ内のファイルと名前が重複するような既存ファイルを含まないローカルディレクトリを使用してください。Dreamweaver による最初の試行時、リモートリポジトリ内のファイルと合致する名前のファイルがローカルドライブに含まれていると、リポジトリファイルはローカルドライブにマウントされません。
  1. SVN 接続が正しく設定されていることを確認します。

  2. [ファイル] パネルの [ビュー] ポップアップメニューから [リポジトリビュー] を選択するか、展開された [ファイル] パネルで [リポジトリファイル] ボタンをクリックして、SVN リポジトリファイルを表示します。

  3. マウントする SVN リポジトリのフォルダを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) して、[フォルダをマウント] を選択します。

最新バージョンのファイルの取得

SVN リポジトリから最新バージョンのファイルを取得すると、そのファイルの内容および対応するローカルコピーの内容がマージされます。つまり、最後にコミットした時点からファイルが更新されている場合は、その更新がコンピュータのローカルバージョンのファイルにマージされます。対応するファイルがローカルハードドライブにまだ存在しない場合は、ファイルが単に取得されます。

注意: リポジトリから初めてファイルを取得する際には、空のローカルディレクトリか、リポジトリ内のファイルと名前が重複するような既存ファイルを含まないローカルディレクトリを使用してください。Dreamweaver による最初の試行時、リモートリポジトリ内のファイルと合致する名前のファイルがローカルドライブに含まれていると、リポジトリファイルはローカルドライブにマウントされません。
  1. SVN 接続が正しく設定されていることを確認します。

  2. 次のいずれかの操作を実行します。

    • [ビュー] ポップアップメニューから [ローカルビュー] を選択して、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。次に、該当するファイルまたはフォルダを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[バージョンコントロール]-[最新バージョンを取得] を選択します。

    • [ファイル] パネルの [ビュー] ポップアップメニューから [リポジトリビュー] を選択するか、展開された [ファイル] パネルで [リポジトリファイル] ボタンをクリックして、SVN リポジトリファイルを表示します。該当するファイルまたはフォルダを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[最新バージョンを取得] を選択します。

注意: または、ファイルを右クリックしてコンテキストメニューの [チェックアウト] を選択するか、ファイルを選択して [チェックアウト] ボタンをクリックして最新バージョンを取得します。ただし、SVN ではチェックアウトワークフローがサポートされないため、このアクションによるファイルのチェックアウトは、従来の意味でのチェックアウトではありません。

ファイルのコミット

  1. SVN 接続が正しく設定されていることを確認します。

  2. 次のいずれかの操作を実行します。

    • [ビュー] ポップアップメニューから [ローカルビュー] を選択して、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。次に、コミットするファイルを選択し、[チェックイン] ボタンをクリックします。

    • [ファイル] パネルの [ビュー] ポップアップメニューから [リポジトリビュー] を選択するか、展開された [ファイル] パネルで [リポジトリファイル] ボタンをクリックして、SVN リポジトリファイルを表示します。コミットするファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[チェックイン] を選択します。

  3. [コミット] ダイアログボックスでアクションを確認し、必要に応じた変更を加え、[OK] をクリックします。

    ファイルのアクションを変更するには、該当するファイルを選択し、[コミット] ダイアログボックスの下部のボタンをクリックします。オプションとして、[コミット] と [無視] のいずれかを使用できます。

注意: [ファイル] パネルでファイルに緑のチェックマークが付いている場合は、変更後のファイルがまだリポジトリにコミットされていないことを示します。

リポジトリに格納されたファイルまたはフォルダのステータス更新

SVN ステータスの更新は個別のファイルまたはフォルダに対して実行できます。更新操作では表示全体は更新されません。

  1. SVN 接続が正しく設定されていることを確認します。

  2. [ファイル] パネルの [ビュー] ポップアップメニューから [リポジトリビュー] を選択するか、展開された [ファイル] パネルで [リポジトリファイル] ボタンをクリックして、SVN リポジトリファイルを表示します。

  3. リポジトリのフォルダまたはファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[ステータスの更新] を選択します。

ローカルファイルまたはフォルダのステータス更新

SVN ステータスの更新は個別のファイルまたはフォルダに対して実行できます。更新操作では表示全体は更新されません。

  1. SVN 接続が正しく設定されていることを確認します。

  2. [ビュー] ポップアップメニューから [ローカルビュー] を選択し、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。

  3. [ファイル] パネルのフォルダまたはファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[ステータスの更新] を選択します。

ファイルのバージョンの表示

  1. SVN 接続が正しく設定されていることを確認します。

  2. 次のいずれかの操作を実行します。
    • [ビュー] ポップアップメニューから [ローカルビュー] を選択し、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。次に、バージョンを表示するファイルを選択し、[バージョンコントロール]-[バージョンを表示] を選択します。

    • [ファイル] パネルの [ビュー] ポップアップメニューから [リポジトリビュー] を選択するか、展開された [ファイル] パネルで [リポジトリファイル] ボタンをクリックして、SVN リポジトリファイルを表示します。バージョンを表示するファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[バージョンを表示] を選択します。

  3. [改訂履歴] ダイアログボックスで、該当するバージョンを選択し、次のいずれかの操作を実行します。

    • [ローカルファイルと比較] をクリックし、選択したバージョンとファイルのローカルバージョンを比較します。

      注意: ファイルを比較するには、サードパーティのファイル比較ツールを事前にインストールしておく必要があります。ファイル比較ツールの詳細については、Google Search など Web の検索エンジンで「ファイル比較」や「差分」のツールを検索してください。 Dreamweaver はほとんどのサードパーティ製ツールと共に使用できます。
    • [比較] をクリックして 2 つの選択したバージョンを比較します。2 つのバージョンを同時に選択するには、Control キーを押しながら 2 つのバージョンを順にクリックします。

    • [ビュー] をクリックし、選択したバージョンを表示します。このアクションによって、同じファイルの現在のローカルコピーが上書きされることはありません。選択したバージョンは、他のファイルと同じようにハードドライブに保存することができます。

    • [最新バージョンへの更新] をクリックし、選択したバージョンをリポジトリの最新バージョンにします。

ファイルのロックとロック解除

SVN リポジトリ内のファイルをロックすると、作業中のファイルを他のユーザーに知らせることができます。他のユーザーは、ロックされたファイルをローカルで編集することはできますが、ロックしたユーザーによってロックが解除されるまでコミット操作はできません。リポジトリのファイルをロックすると、開いた鍵のアイコンが表示されます。 他のユーザーに対しては、閉じた鍵のアイコンが表示されます。

  1. SVN 接続が正しく設定されていることを確認します。

  2. 次のいずれかの操作を実行します。

    • [ファイル] パネルの [ビュー] ポップアップメニューから [リポジトリビュー] を選択するか、展開された [ファイル] パネルで [リポジトリファイル] ボタンをクリックして、SVN リポジトリファイルを表示します。該当するファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[ロック] または [ロックの解除] を選択します。

    • [ビュー] ポップアップメニューから [ローカルビュー] を選択し、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。次に該当するファイルを選択し、[ロック] または [ロックの解除] を選択します。

リポジトリへの新しいファイルの追加

[ファイル] パネルでファイルに青のチェックマークが付いている場合は、SVN リポジトリに存在しないファイルであることを示します。

  1. SVN 接続が正しく設定されていることを確認します。

  2. [ファイル] パネルでリポジトリに追加するファイルを選択し、[チェックイン] ボタンをクリックします。

  3. [コミット] ダイアログボックスで、コミットするファイルが選択されていることを確認し、[OK] をクリックします。

競合するファイルの解決

作業対象のファイルとサーバー上にある別のファイルとの間に競合が発生した場合、ファイルを編集してから解決済みのマークを付けることができます。たとえば、他のユーザーによる変更と競合するファイルをチェックインしようとしても、SVN ではコミットが許可されません。その場合はリポジトリから最新バージョンを取得し、作業用コピーに手動で変更を加え、さらに、ファイルを解決済みとしてマークすることによりコミットを可能にします。

  1. SVN 接続が正しく設定されていることを確認します。

  2. [ビュー] ポップアップメニューから [ローカルビュー] を選択し、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。

  3. 解決するファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[バージョンコントロール]-[解決済みとしてマーク] を選択します。

オフライン化

ファイルの転送中はオフラインにし、リポジトリへの他のアクセスを防ぐことができます。[最新バージョンを取得] や [コミット] など、接続を要する操作を行うと、SVN リポジトリに自動的に再接続されます。

  1. SVN 接続が正しく設定されていることを確認します。

  2. [ビュー] ポップアップメニューから [ローカルビュー] を選択し、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。

  3. [ファイル] パネルのファイルまたはフォルダを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[バージョンコントロール]-[オフラインにする] を選択します。

ローカル SVN サイトのクリーンアップ

このコマンドを使用すると、ファイルのロックを除去し、完了していない操作を続行できるようになります。"作業用コピーがロックされている" ことを示すエラーが発生する場合は、このコマンドで古いロックを除去します。

  1. SVN 接続が正しく設定されていることを確認します。

  2. [ビュー] ポップアップメニューから [ローカルビュー] を選択し、[ファイル] パネルでローカルバージョンの SVN ファイルを表示します。展開された [ファイル] パネルを使用している場合は、ローカルビューが自動的に表示されます。

  3. クリーンアップするファイルを右クリック (Windows) するか、Control キーを押しながらクリック (Macintosh) し、[バージョンコントロール]-[クリーンアップ] を選択します。

Subversion 制御下のサイトのファイルとフォルダの移動について

Subversion 制御下のサイトにあるローカルバージョンのファイルやフォルダを移動すると、SVN レポジトリと同期している他のユーザーに問題が生じる場合があります。たとえば、ローカルバージョンのファイルを移動し、そのファイルを数時間後にリポジトリにコミットした場合、その間に他のユーザーがファイルの移動前の場所から最新バージョンを取得しようとする場合があります。このため、ローカルバージョンのファイルを移動した場合は、常に直後に SVN サーバーにファイルをコミットする必要があります。

ファイルやフォルダは、手動で削除するまでは SVN サーバーに残ります。したがって、ファイルを別のローカルフォルダに移動してコミットした場合でも、古いバージョンのファイルはサーバーの移動前の場所に残ります。混乱を避けるには、移動したファイルやフォルダの古いコピーを削除してください。

ローカルバージョンのファイルを移動して SVN サーバーにコミットすると、ファイルの改訂履歴は失われます。