TortoiseSVN でファイルのバージョン管理をしてみる (2)
ファイルバージョン管理システム TortoiseSVN のインストール及び使い方の紹介エントリです。 🙂
前回はこちら。
TortoiseSVN でファイルのバージョン管理をしてみる (1)
バージョン管理システムはもともと、ソフトウェアの元となるソースコードに対して極めて厳密にそしてデリケートにいろいろな管理を行うためにつくられたものです。 とはいえ、対象は別にソースコードだけになっているわけでもないので、自分でライトに使うこともできます。
ここでは、サーバなどはたてずに Windows のファイルシステムだけつかって TortoiseSVN を設定し、「職務履歴」というエクセル/ワードファイルのバージョン管理をすることを例としながら、Subvertion / TortoiseSVN の使い方を書きたいと思います。
ちなみに、TortoiseSVN は「トータス SVN」。 カメさん SVN。 ・・・対してティーンエイジなミュータントニンジャ「タートル」ズは “ウミガメ” らしい。(←関係なし
では前段として、TortoiseSVN のインストールを行います。 インストーラがついていますのでワンクリックですぐ終わります。
TortoiseSVNをインストールします。
TortoiseSVN のプロジェクトページからインストーラーをダウンロードします。今回インストールしたバージョン 1.2.2 では、以下のページからインストーラーと日本語パックをダウンロードできます。
大変分かりやすく画面付でインストール方法の記述が書かれていますので参考になります。 あわせて日本語化のほうもしてみてください。 以下、日本語版で画面説明します。
TortoiseSVN は Subversion というバージョン管理システムの実装の一つです。 Subversion は「リポジトリ」というデータベースに対してファイルを追加し、バージョンを管理します。
最初にこの「リポジトリ」データベースをお使いの Windows 上に構築します。といってもサービスがあがるわけでもなく、ファイルがいくつかできるだけです。 重要なのは、このリポジトリファイルをユーザはエクスプローラ等で操作してはいけないということです。 最悪、データベースが壊れてファイルが取り出せなくなってしまいます。
ということで普段ファイル操作しないようなところにリポジトリを作成します。この例では下記に作成することにしました。
C:\Documents and Settings\hiromasa\Application Data\Subversion Repository
「Subversion Repository」というフォルダを上記パスにエクスプローラで作成します。そしてここにリポジトリを作成します。(パスにユーザ名 hiromasa が含まれているので気をつけて…)
TortoiseSVN はこのリポジトリ作成の機能もサポートしてくれます。 作成した「Subversion Repository」フォルダを右クリックしてください。 Windows のシェルが拡張されていて TortoiseSVN のメニューがあるのが分かります。
「ここにリポジトリを作成」を選択してください。
選択ダイアログがでますので「Native Filesystem」を選択して「OK」を押下します。
・・・これでリポジトリの作成は完了です。 なかにいくつかファイルが作成されているのが分かると思います。 が、このファイルは絶対いじってはいけません。 :-) データベースが壊れてしまいます。
リポジトリが出来ましたのでいよいよバージョン管理したいファイルをリポジトリに格納してみます。
まずはデスクトップに作業用のフォルダを作成します。(別にデスクトップでなくてもよいのですが例ということで..)。 フォルダ名はなんでもかまいません。 ここでは「なんでも良い」フォルダにしてみました。 そしてその下にいくつかフォルダをつくります。
「なんでも良い」の下にこのファイル”群”の「プロジェクト名」になるフォルダを作成します。ここでは「職務履歴」にしています。 そしてさらに下に「branches」「tags」「trunk」のフォルダを作成してください。
Subversion ではフォルダ(ディレクトリ)単位でファイル群を管理します。「なんでも良い」の下につくられたフォルダ名がバージョン管理したいファイル群のプロジェクト名になります。 ひとつのリポジトリには複数のプロジェクトを格納することが出来ます。
ではその下の「branches」「tags」「trunk」はなんでしょう? 実はこれらのフォルダはなくても良いのですが、バージョン管理の慣例的にこの3つのフォルダをつくることになっています。
それぞれの意味は「trunk」の下が現時点の最新版。「branches」がある時点からいくつかにバージョンを分岐したいときに格納するフォルダ。「tags」の下が確定バージョンに名前(タグ)を付けて格納するフォルダ。 といった感じになっています。 ここでいっている “バージョン”は複数のファイル群の単位です。 個々のファイルについての履歴管理は常にされます。
おそらく一般的な使い方だと、trunk と tags があれば十分です。
例えば・・・、trunk には複数の職務履歴資料が入っていて、それを更新していきます。 個々の職務履歴資料については trunk を更新していくだけで版数管理がされていき、いつでも前の版に戻すことが出来ます。
そして職務履歴資料ファイル達ができあがって会社に提出、、ってときは tags に “名前を付けて” それらを格納します。 この “格納” は trunk 内の複数のファイルの “版数の情報” だけが格納されるイメージです。
あの会社にどの職務履歴(複数)を出したっけ・・・なんてときは tags を覗いて該当の名前を見つければ一度にその時点の版のファイル達を取得できるというわけです。 便利ですね。 🙂
でわでわ早速、バージョン管理をしたい現時点最新のファイルを trunk に格納してみましょう。
先ほど作成した「trunk」ディレクトリの下に必要なファイルをコピーしてきます。
これでリポジトリに初期データを格納する準備が完了しました。 一番上のフォルダである「なんでも良い」フォルダを右クリックします。
そして「インポート」を選択します。 すると、TortoiseSVN からどこのリポジトリに格納してくるか問い合わせされます。
「リポジトリのURL」 に先ほど作成したリポジトリのパスの前に「file:///」を付与したものを入力します。
file:///C:\Documents and Settings\hiromasa\Application Data\Subversion Repository
file の後のスラッシュは3つなので注意してください。 次に、インポートメッセージを入力します。 このメッセージは履歴からファイルを取り出す際のヒントになります。 日本語で大丈夫ですので分かりやすいメッセージを入力します。 最後に「OK」を押下すれば、ファイルのリポジトリ登録が完了です。
デスクトップに作った「なんでも良い」フォルダはポイしちゃってかまいません。ファイルは既にいつでもリポジトリから取り出せるようになっています。(といいつつ実験の状態ならば念のためとってください…)
いままでの操作はプロジェクトの初期登録作業です。新たにプロジェクトをつくる場合のみです。 同じプロジェクトにファイルを追加したい場合はもっとお手軽な方法があります。(下記します)
では早速ですがリポジトリからファイルを取り出してみましょう。
ファイルを取り出すために「作業フォルダ」を作成します。 これまたどこでも、どんな名前でもかまいません。 ここではデスクトップに「作業フォルダ」という名前のフォルダを作ってみました。
このディレクトリにファイルを取り出すために「作業フォルダ」を右クリックします。
そして「SVNチェックアウト」を選択します。
リポジトリのURL に、
file:///C:\Documents and Settings\hiromasa\Application Data\Subversion Repository
を入力します(次回からは覚えていてくれることでしょう)。そしてとなりの参照ボタン「…」を押下します。
最新版のファイル群を得たいので「trunk」フォルダを選択し、OK ボタンを押下します。
元の画面に戻りますので、「OK」を押下します。
チェックアウト中ダイアログが現れます。 処理が終了したら「OK」ボタンを押下しましょう。
「作業フォルダ」をみてみると trunk から最新のファイル群が取り出されたことが分かります。 そして、TortoiseSVN によってアイコンになにか印がついていることが分かります。
では、ファイルを編集してみましょう。 ここからは通常の Windows の操作となんらかわりません。 「ひろまさ履歴書(メモ).xls」を編集したかったのでダブルクリックでエクセル起動。 でもって、書き換えて上書き保存してエクセルを終了しました。
すると「ひろまさ履歴書(メモ).xls」のアイコンが赤で注意マークになっているのが分かります。 これは、ファイルを書き換えたのにまだリポジトリに格納されていないですよ、、という印です。
ではリポジトリに変更を登録するために「コミット」してみます。 作業フォルダ上の変更はこのコミットをするまで一切リポジトリに反映されることはありません。
該当ファイルを右クリックして「SVN コミット」を選択します。
更新メッセージを入力するように促されますので、何の更新か分かるようにメッセージを入力して「OK」ボタンを押下します。
うまくコミットできたようです。 :-) 作業が終わったらこの「作業フォルダ」は捨ててしまってもかまいません。 また同じ操作をすれば最新ファイルを取り出せるわけです。 もちろん、定常的に作業をする場合はこのまま残しておいてもかまいません。 Windows をおとしても作業の状態は継続されます。
今は作業フォルダへの操作で「ファイル更新」しかしませんでしたので通常の Windows の操作通りで行えました。 しかし、ファイルの追加、削除、リネームについては別な操作でリポジトリに通知する必要があります。 特に削除、リネーム(そして移動)の場合はWindows から行わないでください。必ず TortoiseSVN から行います。 といっても簡単です。
該当ファイル上で右クリックし「TortoiseSVN」のメニューからそれぞれの操作を行ってください。
新規ファイル追加の場合は、なにかしらのWindows の操作でファイルを作業フォルダに持ってきた後、右クリック「追加」です。
削除、リネームの場合は Windows のメニューから行わずに TortoiseSVN のメニューに用意された「削除」「名前の変更」を使います。(尚、フォルダ間でファイルの”移動”をさせたい場合は下記しますリポジトリブラウザよりドラッグアンドドロップで行います)
その後、更新したときと同じように必ず「コミット」します。 コミットの実施/未実施についてはTortoiseSVN のオーバーレイアイコンを参考にすると分かりやすいです。(たまに表示更新がおくれますので、「F5」でリロードしてみてください)
ではでは次に、せっかくですので今までの更新履歴(1回だけですが)をみてみましょう。 リポジトリの内容は「リポジトリブラウザ」でいつでも見ることが出来ます。 どこかしらで右クリックしてください。
リポジトリブラウザを選択します。 また URL を聞かれてきますので、いつも通り入力すると、リポジトリの内容が表示されます。 表示されたリポジトリ上のフォルダやファイルの上で右クリック「ログを表示」してみます。
すると今までの更新履歴が表示されます。 今回は1度しか更新していないので「初期登録インポート」と「履歴更新」がログウインドウに現れます。
仮に先ほどの更新が間違えだった場合は、古い履歴のほうにあわせて「チェックアウト」すれば簡単に前のバージョンがとりだせます。
—
以上、リポジトリの作成、ファイルの取得(チェックアウト)、ファイルの更新(コミット)までの操作を書いてみました。
バージョン管理システムの、勝手に履歴をとってくれる感覚は一度覚えてしまうと普通には戻れなくなりますね。 しかも、TortoiseSVN を使うと異常に手軽です。 🙂
次回は、いわば締めの処理。 trunk のファイル群を tags に”名前をつけて状態を保持” させるやり方を書いてみます。
続き..
From: Happy Engineer Life (PukiWiki/TrackBack 0.3) - 2007/2/9 Friday (Trackback)
Subversion…
Tag: バージョン管理 Subversion マニュアル 関連ページ コメント Subversion たぬきブログ::subclipseをsvn+sshで使 (more…)
[続きを読む]
From: PukiWiki Plus! (PukiWiki/TrackBack 0.3) - 2008/11/7 Friday (Trackback)
Project/PJ/PJ-001/introduction…
eヤマハ業務の基礎知識 ▲ ▼スポットテスター ▲ ▼SecurIDの使い方 ▲ ▼専属従事者 ▲ ▼Pukiwiki ▲ ▼Serenium ▲ ▼TortoiseSVN SVNってどんなことができる…
[続きを読む]
From: None_Programmer…Diary » Blog Archive » svn(subversion)の雰囲気を掴んだ気がする - 2009/3/24 Tuesday (Pingback)
[…] ググッてここが自分にとってはわかりやすかったです。 ↓ http://zone.maple4ever.net/blog/archives/455/ […]