日常のSubversion

No Photo

シーブレインではプロジェクトのソースコード周り(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対応入門Subversion―Windows/Linux対応
上平 哲

秀和システム 2006-07
売り上げランキング : 31970
おすすめ平均

Amazonで詳しく見る
by G-Tools

TortoiseSVNを中心に、またHTMLファイルのバックアップを中心に話がすすむので、「バージョン管理システム」が何か知らなくても、バックアップしたいと思っている方、少しフォルダ階層の状態が違うだけなのに、別々の物として扱わないといけない、効率の良いディスクの使い方はないの?と思っている方にお薦めの本です。Subversionを広めるのに、「バージョン管理システム」という言葉を使わないようにしたい、という教訓をこの本から学びました。

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)
Mike Mason でびあんぐる

オーム社 2007-04-21
売り上げランキング : 6498
おすすめ平均

Amazonで詳しく見る
by G-Tools

Subvertionをpragmaticに使い倒して、プロジェクトを進めようと考えている方には必携の書です。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ