日常のSubversion
シーブレインではプロジェクトのソースコード周り(css,HTMLテンプレート,画像,swf)のバックアップを行うのにSubversionを利用しています。(プログラマの間ではバージョン管理システムといったほうがいいでしょうか)
僕の場合、ソースコードを編集するときはサーバ側のvimを使うことがほとんどなのですが、SubversionについてはTortoiseSVNとsvnコマンドを半々で使うといった感じです。
今回はTortoiseSVNとsvnコマンドをどう使い分けているかについて話します。
svnでよく使うサブコマンド
シェルスクリプトについては素人同然なのですが、このようなコマンドの組み合わせで、僕が良く使うsvnのサブコマンドを調べてみました
history -n 1000 | sort | uniq -c | sort -r | grep svn
この調べ方だと、オプションやファイルパスが違うと、別のものとしてカウントされてしまうので、うまくないんですが、いまはこれがせいいっぱい :)
- svn status
- 圧倒的に使用頻度が高いのがこれです。まだコミットされていないバックアップ先(リポジトリ)と異なるファイル一覧を表示します。普段は略してsvn stという風にコマンドを打っています。
- svn commit, update
- これも日常的に使います。作業コピーの状態をバックアップするsvn commitと、作業コピーの状態を更新する(最新のバックアップを取得する)svn updateコマンドです。こちらも短く書けるsvn ci, svn upを使っています。
- svn diff
- 作業コピーで編集内容を確かめるときは専らWinMergeを使いますが、それほどでもない2,3行の変更程度なら、これを使います。
- svn add
- バックアップしたいファイル/ディレクトリの登録に使います。
- svn propedit svn:ignore
- これはよく使うというわけではありませんが、知っておいて損はないコマンドです。作業コピー中にあるけれども、バックアップ対象にしたくないファイルを登録しておきます。Smartyのキャッシュディレクトリや、フォームからのアップロードファイルを保存しておくディレクトリに設定します。
TortoiseSVN
TortoiseSVNはWindowsから主にマウスを使ってSubversionを利用するソフトウェアです。差分を表示させるのにはWinMergeを使っています。その設定はWinMergeを「C:\Program Files\WinMerge\」にインストールして、TortoiseSVVNの設定ダイアログの「外部プログラム > 差分ビューア」で
C:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine
と設定すると、編集したファイルのショートカットメニューに「SVN 差分」というメニューが現れ、すぐに差分をチェックできます。最近vimdiffというvimで新旧のファイルを左右に表示して差分をハイライトするツールのことを知ったので、そちらを使うか迷っているところです。
他にも、
- リポジトリの階層を調べたい
- ログや、編集したファイルの履歴を調べたい
- 作業コピーを俯瞰したい
などの用途の時はTortoiseSVNが活躍しています。
参考資料
Subversionの基礎練習 hyuki.com
コマンドを練習したい場合はこちらのチュートリアルがお薦め。
Subversionによるバージョン管理(日本語訳)
オンラインでSubvertionについて詳しく知りたいときはこちら。
入門Subversion―Windows/Linux対応
入門Subversion―Windows/Linux対応 上平 哲 秀和システム 2006-07 売り上げランキング : 31970 おすすめ平均 Amazonで詳しく見る by G-Tools |
TortoiseSVNを中心に、またHTMLファイルのバックアップを中心に話がすすむので、「バージョン管理システム」が何か知らなくても、バックアップしたいと思っている方、少しフォルダ階層の状態が違うだけなのに、別々の物として扱わないといけない、効率の良いディスクの使い方はないの?と思っている方にお薦めの本です。Subversionを広めるのに、「バージョン管理システム」という言葉を使わないようにしたい、という教訓をこの本から学びました。
Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)
Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版) Mike Mason でびあんぐる オーム社 2007-04-21 売り上げランキング : 6498 おすすめ平均 Amazonで詳しく見る by G-Tools |
Subvertionをpragmaticに使い倒して、プロジェクトを進めようと考えている方には必携の書です。