2012年04月18日

お手軽すぎバージョン管理

 まーた張り切って毎日書こうとするとすぐヘコたれるんだから、2〜3日に一回ペースでー、くらいに思ってたんですが、ちょっと感心してしまったのでさらっと。
 あーあとすいません。やっぱタイトルにタグつけるのは面倒なので、プログラマにしか分からんような事を書く時は 「続きを読む」 のところに (開発者向け) と書く事にします。

 会社で開発してた頃は、プログラマ全員でよってたかってソースをいじる訳で、当然バージョン管理システムを使ってた訳ですが、まあ個人で開発する限りは、今までは特に困ってなかったので何も使ってませんでした。
 が、Android と iOS で共通ライブラリを開発するとなると、iOS 版は mac 上で開発せざるを得ないので、両方にソースを置くしかありません。同じソースが2箇所にあるのは精神衛生上たいへんよろしくないので、仕方ないから Subversion (定番のソース管理システム) でも立てようかなというお話です。

 でも、家に Subversion のサーバ立てるのも管理するのも面倒だし、なんか楽できないものかと調べてみたら、まずは無料で svn サーバを提供しているサービスを見つけました。
 オススメしてる人が多いのは Assembla という所ですかね。今は無料で 1GB まで使えるみたいです。じゃあここでも使わせてもらおうかねーと半ば決めつつ、もう少し調べていたところ、すごくいいもの見つけた。  Subversion は普通はどこかのサーバ上にあるリポジトリから最新のソースを持ってきたりアップしたりする訳ですが、自分のPC上にリポジトリを作って、そこを使ってバージョン管理する事もできます。
 だったらその自分のPC上にあるリポジトリを、DropBox で同期してしまえば、結果的にどこからでもソース管理できんじゃね?と。その発想はなかった。確かに1人ならこれで十分だ。

 DropBox にはすでにどっぷりお世話になってて mac にもインストールされてるので、これなら何も新しい事を覚える必要もないし、じゃあこれにしよう。そうしよう。

リポジトリができるまで

 上記のページを読んでもらえば分かるとは思うのですが、この方は mac の方でしたので、じゃあ僕は Windows ユーザーとしての手順でも。

TortoiseSVN と日本語パックをインストール
TortoiseSVN は Subversion のリポジトリから最新のソースを持ってきたり、アップするためにつかう定番のクライアントソフトです。何も知らない状態から使い方を説明するのは割と大変なので 「TortoiseSVN 使い方」 とかでググってください。
DropBox の共有フォルダの中に、リポジトリを作るルートフォルダを作る
なんでもいいので、DropBox 共有フォルダの中に、リポジトリをまとめるフォルダを1つ作りましょう。僕は svnroot にしました。
DropBox の共有フォルダは普通はユーザーのドキュメントの中にあると思いますが、パスに日本語とかスペースとか含まれてるとあまりよくないかもしれないので、心配な人は DropBox の設定で共有フォルダの場所を変えたほうがいいかもしれません。
リポジトリを作ってチェックアウト
リポジトリのルートフォルダの中に、リポジトリのフォルダを作り、そのフォルダで右クリックして、 [TortoiseSVN] > [ここにリポジトリを作成] をすると、リポジトリが作られます。
例えば、僕の場合は D:/DropBox/svnroot/project1/ というフォルダを作って、そこをリポジトリにした訳ですが、その場合のリポジトリのURLは以下のようになります。
file:///D:/Dropbox/svnroot/project1/trunk
あとはこのリポジトリから、チェックアウトなり更新なりコミットなりコロ助なりしてください。リポジトリの内容が変われば DropBox 先生が勝手に他のPCと同期してくれるので、他のPCでも最新のソースが取得できるという訳です。
PCによって DropBox のフォルダの場所が違うのであれば、それぞれ URL を変えればOK。

注意点と TortoiseSVN の覚え書き

  • この使い方で多人数で同時にソースをコミットすると、そのうちリポジトリのファイルのつじつまが合わなくなって壊れると思うのでやめましょう。どうみても元々想定されてる使い方じゃないと思います。
  • PC の起動直後に DropBox の同期が終わる前にリポジトリにアクセスしたり、ソースをアップした直後に DropBox の同期が終わる前に PC をシャットダウンすると、やっぱりリポジトリが壊れる事があると思うので気をつけましょう。
  • 僕の場合、iOS の開発も、Windows 上から VNC と SMB を使ってリモートアクセス でやってるので、「mac の HDD 上にあるフォルダを、Windows からエクスプローラでアクセスして、TortoiseSVN で Windows 上のローカルリポジトリに対して更新やコミットする」 という、なんかものすごく回りくどい事になってますが、別に問題なく使えてます。
  • 他のPC上の共有フォルダにソースをチェックアウトした場合、初期設定ではそのフォルダにはオーバーレイアイコンが表示されません。TortoiseSVN の設定から、 [アイコンオーバーレイ] > [ドライブの種類] > [ネットワークドライブ] をチェックすると表示されるはず。ただし、すぐには表示されないので、しばらくフォルダに入ったり出たりしてみましょう。
     これに限らず、TortoiseSVN のアイコンはなかなか反映されない事があるので、そういうもんだと諦めましょう。なかなか反映されない時は、フォルダを右クリックして、 [TortoiseSVN] > [クリーンアップ] で大抵は反映されます。

posted by ひこざ at 23:31| Comment(0) | 開発 - 全般
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。