TortoiseSVN でファイルのバージョン管理をしてみる (3)

ちょっと間が開いてしまいましたが、TortoiseSVN の続きのエントリです。
前回はこちら。
TortoiseSVN でファイルのバージョン管理をしてみる (2)
次回は、いわば締めの処理。 trunk のファイル群を tags に”名前をつけて状態を保持” させるやり方を書いてみます。
最新版のファイルを trunk というディレクトリに格納した上、編集を行い、履歴管理を TortoiseSVN に行ってもらうところまで前回に書きました。
今回はリリースや提出など区切り区切りのファイルを tags というディレクトリに格納し、それらのファイルをいつでも取り出せるようにする操作方法を書いてみます。
前回までのサンプル「職務履歴」だと、作業中の職務履歴のファイルを trunk 内でいろいろ更新。 そして、それらファイル”群” をどこかに提出したときに、その時点の状態に名前をつけて tags というディレクトリに保管しておくことができます。提出したファイルを全部コピーして横に置いておくイメージですね。
trunk 内はファイル個別でバージョン管理されていきますが、tags は複数のファイルで構成されたプロジェクトを区切り確定させる時に使う機能です。(もちろん管理するファイルがひとつでも使うことが出来ます)
ソフトウェアのバージョン管理的には、作業中のファイル群は trunk に、リリースしたファイルは “バージョン番号” を付与して tags にいれます。 tags に区切りの状態を格納しておくことにより、リリース後も安心して trunk を更新し、プログラムの改良をしていくことが出来るわけです。
昔作った WP のプラグイン、searchword-highlight は次のようになっています。

このプログラムはリリース後バージョンアップしていないので、tags の下は 1.0 という名前がひとつだけ。これは配布している .zip の中身と同一になっています。 trunk の中は個人的に気に入らなくなった部分をチョットだけいじっているバージョンとかになります。 配布している .zip がどれだからわからなくなったというありがちな場面でも、tags からチェックアウトすればすぐ取り出せるというわけです。
ではでは、trunk の内容を tags に格納する操作手順を書いてみます。
まずはプロジェクトエクスプローラを起動して、該当 trunk の上で、右クリックからログの表示を選択します。

ログには指定したディレクトリのこれまでの更新履歴が表示されます。 trunk の最新版を tags に格納したいので “一番上の”ログをさらに右クリックし、「リビジョンからタグ生成」を選択します。

コピー・分岐ダイアログが表示されます。 tags に格納したいので参照ボタンを押下し、tags を指定して「OK」ボタンを押下します。


URL が tags に指定され元の画面にもどります。 URL に名前となるディレクトリ名を追記します。 この場合は日付を入力してみました。 ソースコードならバージョン番号、その他なら日付なんかが分かりやすいと思います。 また、あわせてログメッセージにタグを作った理由なんかを入力し、「OK」ボタンを押下します。


これで tags が無事に生成されました。 プロジェクトエクスプローラでみてみましょう。

もし現れないようでしたら「F5」を押して表示を最新化してみてください。
以後 tags のファイルを取得したくなったら、ここから tags/[名前] ディレクトリを選択し、前回のチェックアウトの手順を行えばいつでも取り出すことが出来ます。 もちろん、タグはいくつでもつくることができますので、また “締め処理” がきたら新しい名前で格納できます。 また、tags からチェックアウトされたファイルはコミットできないように TortoiseSVN によってガードがかかるようになっています。 要はリリース品をいじるな・・・!、ということで良くできていますね!
—
以上、TortoiseSVN の主な使い方でした。 まだまだ Subversion には便利な機能が沢山ありますのでいろいろいじってみてください。
今回はシングルユーザでの使い方説明でした。 これをチームで使えば便利だ! と思われた方は正解で、実は複数人でソースコードの管理を行うという目的もあるソフトウェアです。
ただ今回の説明作成したリポジトリは、Windows のファイルシステムを使うものでマルチユーザでは排他の処理がうまくいかないため一人でしか使うことがデキマセン。(みんなで同じとこアクセスするとリポジトリが壊れてしまうことでしょう!)
これを解決するために、Subversion サーバというのがあります。 Linux なんかでたてれば一瞬で構築できますので、興味のある方はステップアップに是非どうぞ!。
Moon:3.2[黄昏月]

From: Subversion | my room guitar blog - マイルームギターブログ - 2008/9/2 Tuesday
(Pingback)
[...] すごく細かくわかりやすい説明で、hiromasaさんさまさまです。 TortoiseSVN でファイルのバージョン管理をしてみる (1) 無駄に日付の付いたフォルダのたくさん入ったフォルダを、 [...]