僕は Subversion やら Trac やら Git やら、そもそもバージョン管理ってのが良くわかっていないのですが、そんな僕でも Coda を使って Mac のローカルでバージョン管理をする環境が作れたよっていうお話です。
僕は、Movable Type のプラグインやWebサイトを制作をするときに、これまでは nori さんの『CodaとGoogle Codeで始めるプロジェクトのバージョン管理 :: 5509(+1)』を参考にして 「Google Code」を使ってバージョン管理の真似事をやっていました。公開したくないものについては「どこでもプロジェクト管理バックログ」のフリープランを使っていたりもしました。
しかし、僕の場合、電車などの移動中にコードを書くことが多々あるのですが、イーモバイルなども持っていないので、できればオフラインでバージョン管理ができればいいなーと思っていたわけです。
そんなとき、偶然にも『Coda で Subversion を試す | appling weblog』という記事を見つけ、意外と簡単に Mac のローカル環境でバージョン管理ができるようになりました。
Codaって本当に素敵です!
さて、基本的には全部他力なので、自分のメモ的に書いておきます。
Mac にリポジトリを作成
『Coda で Subversion を試す | appling weblog』に書いてあるとおりですが、まずはターミナルで、
$ which svn
を入力。無事に「/usr/bin/svn」が帰ってきたので svn コマンドとやらはインストール済みということですね。ちなみに僕も場合、Mac にローカル環境を構築するときに Mac のインストールDVDから既に Xcode をインストールしています。
続いて、
$ mkdir -p ~/svn/Project-name
$ svnadmin create ~/svn/Project-name
を入力。「Project-name」の部分は適当に。ターミナルはこれで終了です。僕の場合、Mac のユーザー名は「tinybeans」なので、そのフォルダの中に「svn」フォルダが作成され、この中でプロジェクトのフォルダごとにバージョン管理の情報が保存されるようです。
Coda の設定
続いて Coda の設定です。
「サイトの追加」で、「名前」「ローカルルート」を入力し、一番下の「ソースをチェックアウト」をクリックします。
「リポジトリ URL」に、
file:///Users/user-name/svn/Project-name
を入力し「チェックアウト」をクリックします。「user-name」は僕の場合「tinybeans」で、「Project-name」は先ほどターミナルで入力したプロジェクト名ですね。
さて、今作成したサイトを開いてみましょう。ここまでの設定がうまくいくと Coda のサイドバーのファイルブラウザにオレンジ色の「?」マークが付いているはずです。
この中でソース管理をしたいものの「?」マークをクリックします。不要なファイルはこの前段階で削除しておきましょう。すると今度は緑色の「A」マークに変わります。この「A」マークが付いたものが、ソース管理下に追加されたわけです。
続いて、これらを「コミット」(チェックインってことですね)するのですが、「A」マークをクリックして個別にコミットすることも出来ますが、面倒なのでまとめてコミットします。
サイドバーの一番下のソース管理のアイコンをクリックします。
すると「ソース管理ステータス」が表示されるので「すべてコミット」をクリックします。
コメントを入力し、「OK」をクリックすればコミット完了です。
FileMerge の設定
ここまでの設定で Coda でソース管理できるようになりました。「ファイル」メニューまたはファイルブラウザ上で右クリックの「ソース管理」で、バージョンごとの文書を比較したり、以前のバージョンに戻したりすることが可能です。
ただし、「比較」は「FileMerge」というアプリケーションで行うのですが、デフォルトのままだと、日本語を含んだUTF-8のファイルはうまく比較ができません。
そこで、以下の記事を参考にして、日本語のファイルも比較できるように設定しましょう。
どうも nkf なるものをインストールした方がベターなようですが、そちらの方法の方が敷居が高くハマりそうなので、僕は上記の方法をとることにしました。
ここでは、html、css、js、pl、pm、mtml、tmpl、php をリストに追加しました。
これで、日本語を含む UTF-8 のファイルでも問題なく「比較」が出来るようになります。途中で「Files are not ascii.」といわれますが「Proceed anyway」をクリックすればOKです。
SugarSync でバックアップ
ここからはおまけです。せっかくバージョン管理しているので、念のため、オリジナルのファイルもバージョン管理情報もバックアップを取っておくことにします。
ちなみに、このバックアップからうまく復元できるかは試していないので分かりません。それじゃ意味ないじゃんってツッコミがありそうですが、あくまで参考までにということで。
ここでは、日頃利用している無料のオンラインストレージを利用してバックアップを取っておきましょう。
僕は、Dropbox と SugarSync と ZumoDrive を併用しています。この中で、コストパフォーマンスの優れた SugarSync は、30Gの有料版にして使っているので、今回は SugarSync を利用してバックアップを取っておきます。
さて、まずオリジナルのファイルを SugarSync でバックアップを取っておくのは大前提ですので、ここでは バージョン管理の情報に触れておきます。
これまでの手順通りにやると、リポジトリはユーザー名のフォルダの中にできているので、それをバックアップします。
まずは「SugarSync Manage Sync Folders」を開きます。
「Add Folders from this Computer」をクリックします。
ユーザー名のフォルダの中の「svn」と「Library / Caches / coda」と「Library / Caches / TemporaryItems / coda」のフォルダにチェックを入れて「OK」をクリックします。
これで多分必要なファイルはバックアップ出来るのではないでしょうか。
以上です。僕はこの環境でバージョン管理を続けてみたいと思います。