MyCSS

2010/01/26

Dropboxで手軽にSubversionのリポジトリ はてなブックマークに追加

個人で開発をやる際、複数のマシンでソースコードの同期をはかりたい場合があると思います。その際、Web上の無料のホスティングサービスなどを利用する機会が多いかと思いますが、Dropboxを使って、お手軽にSubversionのリポジトリの同期に成功したので、メモしておきます。

unfuddle.com
・・・と言っておきながら、全く関係ないサイトの紹介です(汗)。個人的にはここ半年くらい、GitとSubversionが無料で使える、unfuddle.comというサイトを使っています。
このサービスはプロジェクト管理(Redmineがベース??)が出来るので、かなり使えます。GitHubGoogle CodeSourceForge.JPのような、オープンソース対象のホスティングサイトとは異なり、無料アカウントでリポジトリを非公開に出来るのがポイントです。

でも、このサイトは基本的に「本気モードプロジェクト(?)」が対象です。チケット切って開発するようなプロジェクトに使うべきで、ちょっとした実験コードやメモなどはコミットしにくいという問題があります。

リポジトリのレイアウトを工夫すれば何とかなりそうだけど、本気モードプロジェクトにゴミを紛れ込ませるのはちょっと(笑)・・もっと単純に、ソースの同期だけでいいから手軽にできる方法がないかな?と考えていました。

Dropboxがあるじゃないか
Dropboxは今や手放す事ができない、便利すぎるサービスです。こいつをソースコードの同期に使えないか、以前試してみた事がありました。やり方としては非常に安易で、Dropboxフォルダに直接プロジェクトを作るやり方です。ですが、これはお勧めできません。例えばEclipseでJavaをやってると頻繁にコンパイルが走るので、細かいファイルが沢山更新されます。すると、Dropboxも一生懸命同期しようとして、動作が重くなります。また、ログファイルなどの「同期が不要なファイル」も同期してくれるので、ファイルサイズが大きいと悲惨です。無駄に計算資源とネットワークリソースを使ってしまうという、エコな観点からも(?)NGですね。

なんかうまい事できないかなぁ、と思っていましたが、「gitとDropboxでお手軽・無料のSource Hostingを実現する」という記事を見つけ、それSubversionに応用しよう!という事で試してみました。(前置きが長い)

何をどうする?
単に、リポジトリをDropboxに同期させるだけです。以上。・・だと、ブログに書くまでもないので、自分のやった事をさらしておきます。

やった事
まず、最初にお断りですが、MacOSX環境の話になります。ですが、どのプラットフォームでも基本的には同じだと思います。※Windows環境で同じような事をやっている方がいらっしゃいました。

Dropboxのフォルダは、デフォルトで

/Users/ユーザー名/Dropbox

になりますが、自分の場合、同期したいマシン間でユーザー名が違う(笑)ので、パスが統一できません。仕方がないので、Dropboxの初期設定から「Dropbox Folder Location」を選んで、下記に変更しました。

/Users/Shared/Dropbox


場所は基本的にどこでも良いと思いますが、マシン環境によって変わらない場所の方が良いです。また、この例では物理的にフォルダを移動させていますが、シンボリックリンクでも行けます。

リポジトリは、このDropboxフォルダの下に作ります。

svnadmin create /Users/Shared/Dropbox/SVNRepository

リポジトリのURLは

file:///Users/Shared/Dropbox/SVNRepository

です。つまり、ローカルリポジトリを使いつつ、Dropboxにリポジトリ自体を同期させるというやり方です。※最初はsvnserve立てようとか思っていましたが、よく考えたらfile://でいいや、という事に気がつきました。

しばらく使ってみていますが、特に問題は起きていないです。複数台同時に作業して、コミット/アップデートしていくとタイミング的におかしな事になりかねませんが、出先のノートでコミット、自宅のデスクトップでチェックアウト・・なんていう使い方だと問題ないかと思います。

ちなみにコミットはローカルなので早いですよ(笑)。

0 件のコメント :

コメントを投稿