Subversionで楽がしたい! ~現状を省みる~
みなさまこんにちは、加賀田です。誤解のないように言っておきますが、弊社の夏休みは有給休暇の範囲内ですよ…って誰に言ってるんでしょうね。休み、とれるかしら…。
さて、本日はわたしが最近個人的に研究している課題についてご紹介いたします。もっとも、研究といってもたいしたテーマではございません。小学生の夏の自由研究みたいなものです。
先日、studio-fun.netさんの『WEB製作の現場でもバージョン管理を!』という記事を読んで、非常に感銘を受けたのがその発端でした。
初めてWEB製作の現場に入ってまず驚いた事は「バージョン管理」を行っていない事でした。
古くなったファイル名に「xold20080501.hoge.html」とすることでファイル管理、バージョン管理をしているのです。
筆者様ごめんなさい!それはまさに弊社のことです…!
【弊社でやっていることその1:Webサイトのバックアップ】
サイトの構築作業中には、こまめなバックアップが必要です。何かあったときに、以前の状態にファイルをまき戻すことで復旧ができるようにするためです。
サイト全体のファイルが入っているフォルダを”htdocs”と命名し、ことあるごとにこのhtdocsフォルダを丸ごとコピー。日付とシリアル番号をフォルダ名に追加して、”backup/htdocs_080716_001″なんてなかんじで保存。重要な変更があった際には、変更前のファイルをすぐ入手できるように”backup/htdocs_080716_001_あんな変更やこんな変更をしました”などとフォルダ名に変更内容を追記したり。
この方法では、バックアップごとにサイトを構成するファイル全てを複製することになるのでバックアップデータが無駄に膨らんでしまいます。かといって、毎回バックアップデータから変更していないファイルを削除するのもたいへんです。さらに、今年に入って弊社制作環境がネットワークドライブ化されて以来、ファイルの複製にもえらい時間がかかるようになってしまいました。通常作業には支障をきたさない程度のスループット低下でも、大量ファイルの複製となるとかなりこたえます。
【弊社でやっていることその2:ファイルのバックアップ】
コーディング作業中には、作業対象のHTMLファイル単独のバックアップを取って作業を進めることがよくあります。冒険的なコーディング(?)をして、あーやっぱりうまくいかへんわーと思ったりした際にすぐにまき戻せるようにするためです。
hogehoge.htmlに変更を加える際には、これを複製してhogehoge.htmlbkなんてなファイル名をつけます。そのままhogehoge.htmlを修正して、うまくいかなければhogehoge.htmlを削除、hogehoge.htmlbkをhogehoge.htmlにリネームすれば元通り。
うまくいかなかった場合はこれでいいんですが、変更が無事うまくいった場合にはhogehoge.htmlbkが不要になります。このファイルの削除を忘れていると、最悪の場合そのまま本番公開なんてなことにもなりかねません。書きかけのコードが全世界に公開されるというのは非常に恥ずかしいものです。それにクライアントへの納品物に無用なファイルが混ざっていては信用問題にもなります…。
そういうわけでhtmlbkファイルを探して削除しなくちゃならないわけですが、ファイル検索をしても制作者やその日の気分(!)によってバックアップファイルの命名が一定していないのでつぶしきれません。hogehoge.htmlbkだったりhogehogebk.htmlだったりbk_hogehoge.htmlだったり、bkがついてるならまだしもそれ以外の命名方法が使われてたりしたらもう目もあてられません。
…
こういった諸問題について、「気をつけましょう」の一言で済ますのはまあ簡単なことではあります。バックアップには時間がかかるので気をつけましょう、バックアップは必要なファイルだけとりましょう、不要なバックアップは必ず削除しましょう、バックアップファイルの命名方法は社内で統一しましょうetc。
しかしながら、われわれは仮にもPCという高度な装置を使って業務をしているわけですから、単に気をつけるという原始的なやり方よりも、人間様は楽をしてめんどくさいことは機械に一任するというやり方をとりたい!と強く思います。
というわけで、しばらく前から業務用マシンにひっそりSubversionを導入してバージョン管理フローの研究を始めました。本格的に活用するにはもう少しかかりそうですが、だんだん要領がわかってきたところ。研究の進捗は随時当ブログに掲載していきたいと思います。乞うご期待(とくに弊社内各位)!
