作っていたデータをミスって上書きして消してしまったり、1 日分の作業とばして涙目になったりが度々あったので、ローカルに Subversion を入れて使うようになりました。この記事は以前書いておいた個人メモの内容なのですが、どうせなので公開。
ローカルで Subversion を使いたいだけなら、TortoiseSVN だけ入れれば大丈夫です。しかし Dreamweaver と連携させるには Apache と絡ませないと無理そうだったので、私はAphaceh + Subversion で使ってます。
コマンドでリポジトリを作って~という方法もありますが、私は TortoiseSVN でリポジトリ作成などはしてしまってます。
目次
Subversion のインストール
- Subversion for Windows | Free software downloads at SourceForge.net からダウンロード。Dreamweaver CS5 と連携させるため、Subversion のバージョンは 1.6.6 を選択。
- インストール途中にある、”Install and configure Subversion modules”オプションをチェック。これで Apache の httpd.conf に必要なことが設定されることもある(なんだか完璧ではないような)
Apache の設定
Subversion インストール時に設定がされている場合もありますが、httpd.conf(大体 c:\program files\apache group\apache2\conf\httpd.conf にある)を確認。
LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so
上記内容の最初に「#」が付いている(=コメントアウトされている)場合、「#」を消しておく。
さらに以下の内容を追加。
LoadModule dav_svn_module mod_dav_svn.so LoadModule authz_svn_module mod_authz_svn.so
この追加した Module が読み込めない場合、以下の様にフルパスで書けば OK(最初からフルパスで書いてもいいかも)。
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so" LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
ここで一度 Aphache を再起動。動くか確認。
動かない場合、C:\Program Files\Subversion\bin\libdb42.dll を、C:\Program Files\Apache Group\Apache2\bin にコピー。
httpd.conf の最後に以下のように書いておく。
※ここでは F:/work/svn_apache をリポジトリの場所としてます。
<Location /svn> DAV svn SVNParentPath "F:/work/svn_apache" </Location>
ブラウザからは、http://localhost/svn/ でアクセスできます。
F:/work/svn_apache の中にhoge というリポジトリを作った場合には、http://localhost/svn/hoge で。
TortoiseSVN
- TortoiseSVN 本体、LanguagePack を落として、両方インストールした後 PC 再起動。
- デスクトップ等を右クリック、TortoiseSVN→Settings…→Languageを「日本語」に。
リポジトリ作成
- リポジトリを作りたい場所で右クリック→TortoiseSVN→ここにリポジトリを作成
- リポジトリに入れたいデータのあるフォルダ(ここでは hoge とする)を右クリック→TortoiseSVN→インポートを実行
- hoge フォルダを、念のためリネームしてバックアップ。hoge_bk などにしておく
- 新しく hoge フォルダを作成して右クリック→SVN チェックアウト。これで中に元々あったファイル等が戻る
Subversion で管理してるファイルを書き出す
Subversion で管理していると「.svn」というフォルダが出来てしまいます。
サーバにアップする時や、データを誰かに送る際には Subversion からエクスポートをします。
- エクスポート用のフォルダを作成して右クリック→TortoiseSVN→エクスポート
Dreamweaver から Subversion を使う時の注意
重要: 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 を参照してください。
『Adobe Dreamweaver CS4 * Subversion (SVN) によるファイルの取得とチェックアウトより引用』
CS4 で使おうとすると、Subversion 1.4.5 クライアントライブラリでないとエラーがでます。
SVN 接続時に「Subversion の統合を使用してファイルを更新できません」エラーが発生する(Dreamweaver CS4)に、Subversion 1.5 以降でも利用できるようにする Subversion 変換スクリプトが配布されていますが、私はこれが上手く動きませんでした。Subversion 変換スクリプトを動かす場合には、Python を入れる必要もあるようです。
CS5 は Subversion 1.6.6 クライアントライブラリを利用するということだったので、私は 1.6.6 を入れています。
重要: Dreamweaver CS5 では、Subversion 1.6.6 クライアントライブラリを使用します。Subversion 1.4.5 より後のバージョンのクライアントライブラリは、下位互換性がありません。サードパーティのクライアントアプリケーション(TortoiseSVN など)を更新して Subversion の以降のバージョンで使用する場合、更新された Subversion アプリケーションによってローカル Subversion のメタデータが更新され、Dreamweaver は Subversion と通信できなくなります。この問題には、Subversion サーバーの更新は影響しません。サーバーの更新は下位互換性があります。Subversion 1.7 以降で動作するサードパーティのクライアントアプリケーションにアップグレードする場合は、Dreamweaver で再び Subversion を使用するには、先にアドビ システムズ社で更新を確認する必要があります。この問題について詳しくは、www.adobe.com/go/dw_svn_jp を参照してください。
『Adobe Dreamweaver CS5 * Subversion(SVN)によるファイルの取得とチェックアウトより引用』
ちなみに、普段は Dreamweaver からコミットなどを行っています。どうも Dreamweaver からのコミットと TortoiseSVN からのコミットなどを併用しようとするとエラーがでることが多いように感じているので、基本的にはリポジトリを作成するのとエクスポートするときだけ TortoiseSVN を利用し、それ以外は Dreamweaver としています。
Dreamweaver での設定
サイト設定→バージョンコントロール
・アクセス「localhost」
・プロトコル「HTTP」
・サーバーアドレス「localhost」
・リポジトリパス「/svn/hoge」