Windows用 Subversion クライアント

たまには Windows でもお仕事。

で、Windows 用の Subversion クライアントを探してみる。 TortoiseSVN というのが見つかったのでインストールしてみた。(TortoiseSVN のサイトは Drupal で構築されている模様 :-D )

**TortoiseSVN** は Windows の **エクスプローラ** と連動するので非常に使いやすい。

以下にインストールの方法と一部の機能の使い方を紹介する。他の機能の使い方、Subversion の素晴らしさについては書いていないのでご注意頂きたい。

ダウンロードとインストール

ダウンロードのページから

* TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.msi (本体)
* LanguagePack-1.4.5.10425-win32-ja.exe (日本語の Language Pack)

をダウンロード。そしてダブルクリックしてインストール、再起動。それだけ。非常に簡単である。

但し、簡単すぎて何が起きたのかよくわからないので、Windowsは苦手だな。どこに何が入ったのかがわかるように、せめてログぐらいは欲しいものだ。

使ってみる

普段 Emacs から操作していると、コマンドではなくキーバインドで覚えてしまっている。そのため、どういうことが出来るかはわかっているのに、それをするためのコマンドが思い出せなかったりする。

しかし TortoiseSVN は、Windows のエクスプローラに組み込まれる(?)形になり、右クリックメニューで操作できてしまうから便利だ。

チェックアウト

リポジトリからソースコード(書籍などには ファイルの作業用コピー って書いてある)を開発マシンに取り込む。通常は一度取り込むだけであとはそのまま開発するだろうから、ひとつのプロジェクトで何度も使うようなコマンドではない。

エクスプローラで右クリックすると、メニューが出てくる。メニューから SVN チェックアウト を選択する。

エクスプローラ右クリックでメニューが表示されている画面

チェックアウトのオプション入力ダイアログが表示される。

チェックアウトのオプション入力ダイアログ画面

ここで、「リポジトリのURL」と「チェックアウトディレクトリ」を指定する。
「チェックアウトディレクトリ」はディレクトリが存在していなくても後から作ってくれるので安心。

OK ボタンで実行される。処理が終了すれば、以下のようにソースファイルが取り込まれる。

SVN checkout でソースコードを取り込み、エクスプローラに表示されている画面

更新

リポジトリにある最新の修正(他の開発者が行った修正)を開発マシンのソースコード(自分が作業中のファイル)に取り込む。コミットする直前ぐらいに実行するのが一般的だと思う。

エクスプローラ上で右クリックし、メニューの SVN 更新 を選択する。

エクスプローラ上で右クリックし、メニューの SVN 更新を選択するところ

コミット

修正したソースコードをリポジトリに送る。小さい単位の修正が終わったタイミング(修正してコンパイルしてテストしたぐらい)でコミットするのが良いと思う。

ソースコードを修正すると、エクスプローラのファイルに重ねられたアイコンが変わる(アイコンの種類は設定により変えられる。僕の場合はオレンジ色の■になっていれば修正したって事になる)。

コミットしたいファイルを選択して、右クリックのメニューで SVN コミット を選択する。ファイルを選択する代わりにフォルダを選択すれば、そのフォルダのなかの修正されたファイルだけをコミットしてくれる。

コミットするファイルを選択して右クリックのメニューで SVNコミットを選択しているところ

ログメッセージを入力ダイアログで、「今回の修正はどういう理由で行った修正なのか」を入力しておく。これをしないと、後で修正履歴(Subversion は修正の履歴を参照できる)を見るときに、修正理由がわからなくなる。

コミットログ入力ダイアログ画面

OK ボタンをクリックすれば、コミットが完了する。

まとめ

とりあえず、TortoiseSVN をざっと使ってみたが、右クリックだけでできてしまうのは結構便利そうだ。僕はマウスを使わない派なのでさすがに Emacs(キー操作だけで更新、コミットが出来てしまう)に比べると不便だが、マウスを使い慣れている人には便利だとおもう。

新しいコメントの投稿

このフィールドの内容は非公開にされ、公表されることはありません。
  • HTMLタグは使用できません
  • 行と段落は自動的に折り返されます。

書式オプションに関するより詳しい情報...

CAPTCHA
この質問はあなたが人間であるかどうかについて調べる為と、自動化したスパムを防ぐ為のものです。うまくいかない場合は電子メールでお問い合わせ下さい。
イメージ CAPTCHA
画像の中に見える文字を入力して下さい