第4回 デザイナーと学ぶプログラミング@Subversionその1

こんにちは。デザイナーの橋浦です。
しばらく余暇を頂いたので元気バリバリです!カッとばして行くんで夜露死苦!!(死語)
今回は『Subversion』についてです。
Subversionはプログラミングとは違うのですが、複数人で構築をしたり、作業履歴を残したりするのにとても便利なシステムです。知らない方はこの機会に是非知って頂ければと思います。
 

Subversionってそもそも何?

SVN 【 Subversion 】 サブバージョン
CollabNet社が開発したオープンソースのバージョン管理システム。複数の開発者が共同で一つのソフトウェアを開発する際などに、ソースコードやドキュメントを管理するのに用いられる。CVS(Concurrent Versions System)を参考に開発され、基本的なコマンドなどはCVSと共通になっている。
SVNではファイル名の変更やディレクトリの移動・削除などがサポートされている。最新版のファイルを手元にキャッシュとして保存するため、無駄な通信が省かれ高速に同期することができる。sshを標準でサポートしており、インターネット上でも安全にファイルのやりとりができる。
UNIX系OSなどではsvnというコマンドラインツールが利用できるほか、WindowsやMac OS X用のクライアントソフトやEclipseなどの統合開発環境(IDE)に組み込んで利用できるプラグインなども開発・公開されている。
(IT用語辞典 e-Wordsより引用)
 
sshとか、前回までの黒い画面でも出て来た単語ですね。
サブバージョン(以下SVN)とはつまり、データにバージョンをつけて保管、管理できるシステムです。
データはリポジトリに保管され、そこからオンライン経由でいつでも取り出したり保存したりできる優れものです。
 
…ん?オンライン経由でいつでもデータを取り出せたり保存できたり…?
それってDropboxでもできるんじゃないの?あっちも人とファイル共有できるし、操作も簡単だしであっちでいいじゃん。と上記の説明で思った方もいるのではないでしょうか。
かく言う僕も最初はそう思いました。
 
しかし!!!SVNはDropboxにはない非常に大きな特徴があります。
それは、データの更新はすべて履歴(バージョン)が残されるというものです!
 
SVN上では、誰かがデータを上書き(コミット)した際、必ずその内容が記録されバージョンとして残ります。
誤ってデータを削除してしまったり間違えた内容で更新してしまった際などには、バージョンをさかのぼって状態を戻したり、その時のデータを持ってきたりすることができるんです。
 
また、SVNはデータを自分のPC上にリポジトリからチェックアウト(コピー)してくる必要があります。
なので、直接ユーザーが触るデータはリポジトリの中身のコピーということになります。
リポジトリに触った結果を反映させるには、毎回コミットという作業が必要になります。
また、誰かが変更したリポジトリを自分のPCにチェックアウトしてきたデータに反映させるには、アップデートという作業も必要になります。
なので、誰かと同じデータを同時に扱っていてこっちが先に保存したのに、別の誰かが後からデータを上書いてしまって作業がパーになっちゃった!、という心配が0なのです!
複数人で同じデータを触る際などは非常に便利で安全ですよね。
 
どうでしょう、凄いと思いませんか?
まさに仕事をするのにはもってこいのツールですね!
 

今回はここまで

説明だけになってしまいましたが、その1はここで終わりになります。
Dropboxも管理が楽だし操作も直感的にできるので、編集される心配の無い前提のデータのやり取りには非常に便利ですよね。
この記事ではとりあえずSVNスゲー!でいくので、SVNをどんどんヨイショしていきたいと思います。
その2では、SVN系ツールの『SvnX』を使って実際にデータをチェックアウトしたりコミットしたりしてみたいと思います!
次回もぜひお付き合いください!
 

参考にさせて頂いたサイトなど

IT用語辞典 e-Words
http://e-words.jp/w/SVN.html