【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

TortoiseSVNは、Windows上で利用できるバージョン管理ツールです。

開発チームにおいて、誰が何を変更したかを正確に追跡することで、バグ修正や新機能の追加などの作業を効率的に行うことができます。

本記事では

  • TortoiseSVNとは何か
  • TortoiseSVNのインストール方法
  • TortoiseSVNを使った編集作業の流れ

を詳しく解説しています。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

こんにちは しらかば堂です。
TortoiseSVNを使って開発効率を爆上げするためのノウハウを身につけましょう。

TortoiseSVN とは何か

TortoiseSVNは 図のようにSubvesrion サーバ(VisualSVN Server等)と連携してPC上のファイルのバージョン管理を行うことを可能とした Subversionクライアントソフトウェアです。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

この図はしらかば堂の自宅LAN環境におけるSubversion利用環境です。

実際のTortoiseSVNの利用上全く意識していませんが
Windows10 搭載PC2台にインストールされたTortoiseSVN
Windows 2019 Server Essentials搭載PCにインストールされたVisualSVN
クライアント-サーバ型でSubversion機能を提供しています。


バージョン管理は、複数の人が同じファイルを編集する場合に、誰が何を変更したのかを管理することですが、このTortoiseSVNを使うことで、Windowsのファイルエクスプローラーとシームレスに統合されたユーザーインタフェースにより以下のように直感的にファイルのリポジトリとの差分有無を確認したり、豊富なTortoiseSVNの機能を用いて誰が何を変更したか、以前とのファイル差分が何かといったことを簡単に確認することができます。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
【Windows 環境構築】共同作業がスムーズになる!自宅、会社のワークスペースで Subversion を使ってみよう

TortoiseSVNをお勧めする理由

以下の3つの理由から、TortoiseSVNはバージョン管理に初めて触れた初学者にとっても使いやすく、開発効率を上げることができるツールです。

項番 メリット 理由
1 簡単な操作性

TortoiseSVNは、Windowsのファイルエクスプローラーにシームレスに統合されているため、通常のファイル操作と同じように、ファイルを右クリックしてメニューから操作するだけでバージョン管理ができます。

このように操作が簡単で、使い方を覚えるのが簡単なため、バージョン管理に初めて触れた初学者でも扱いやすいです。

2 チーム開発の効率化

TortoiseSVNを使うことで、複数人でのプロジェクト開発がスムーズにすることができます。

誰がどの部分を変更したか、どのバージョンが最新かなどの情報が共有され、混乱を避けることができます。また、変更履歴が保存されるため、以前のバージョンに戻すこともできます。

3 様々な拡張機能が利用できる

TortoiseSVNには、様々な拡張機能が用意されており、開発者が自由に使うことができます。

例えば、Visual StudioのようなIDE(Integrated Development Environment)との連携もできるのでより効率的な開発ができます。

具体的に何がそんなに便利なのか

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

TortoiseSVNを使うと実際に何がそんなに便利なのか
しらかば堂の主観にはなりますが、例えば以下のような点があります。

項番 メリット 理由
1 バージョン管理

TortoiseSVNは Subvesrion サーバ(VisualSVN Server等)と連携しながらも簡単な操作でファイルのバージョン管理ができるため、開発者がファイルを変更した際に、変更履歴を簡単に追跡できます。

これにより、誰が何を変更したかを正確に把握でき、問題の解決やバグの修正がスムーズになります。

2 簡単なコミット操作

TortoiseSVNでは、Windowsのファイルエクスプローラーにシームレスに統合された簡単な操作でファイルの変更をリポジトリにコミットすることができます。

このコミット操作により変更履歴が記録され、過去のバージョンに戻すことも可能であり、また開発者が作業中に誤った変更をしても、元のバージョンに簡単に戻せます。

3 簡単なチェックアウト操作

TortoiseSVNでは、リポジトリからファイルをダウンロードする際に、Windowsのファイルエクスプローラーにシームレスに統合された簡単な操作でチェックアウトを行うことができます。

これにより、ユーザーが最新版を含む特定のバージョンのファイルを自由にダウンロードして作業を開始できます。

4 簡単な差分確認

開発をしているとリポジトリと現在作業中フォルダとの差分について確認したいケースが多々ありますが、TortoiseSVNは、コンテキストメニューから差分を確認するためのツール呼び出すことができるため、ユーザーが差分を素早く認識できます。

5 コミットログの確認

TortoiseSVNでは、同様にコンテキストメニューからコミットされた履歴を簡単に確認することができます。

これによりユーザーは、過去の変更履歴を確認することで、バグの原因を特定することができます。

TortoiseSVN のインストール方法

ベースファイルのインストール

Windows 10にTortoiseSVNをセットアップする手順は以下の通りです。

まずは、以下の公式サイトから 64ビット用Windows 10用の最新バージョン1.14.5のTortoiseSVNをダウンロードします。

 

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


ダウンロードが完了したら、このインストーラを実行してインストールを開始します。

まずはセットアップされる TortoiseSVN の内容を確認し Next ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


Copyright(C)に関する内容を確認し Next ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


Command line client tooks もインストール対象として選択し Next ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


内容を確認し Install ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


内容を確認し Finishボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


この TortoiseSVN が有効化されるためには再起動が必要という内容のダイアログを確認し、問題なければ Yes ボタンをクリックしてPCを再起動します。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

日本語言語パックのインストール


再度、以下の公式サイトへ戻り、画面を下にスクロールすると、以下のような記載が出てくるので 64ビット用 Japanese 用の Setup リンクをクリックして TortoiseSVN の日本語パックをダウンロードします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


ダウンロードが終わったら、このインストーラを起動して 次へ ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


最後に 完了 ボタンをクリックしてTortoiseSVN Japanese パックのインストール作業を終了します。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

通常ここまででTortoiseSVNのインストールは終わりなのですが、Microsoft がOneDriveに改修をかけた結果としてWindows 10内で利用可能なアイコンパターン数16を圧迫してレジストリを変更しないとTortoiseSVNのアイコンが正しく表示されないケースがあります。

その場合は以下の良記事を参照してWindows 10のアイコンパターンを調整しましょう。

TortoiseSVN を使った編集作業の流れ

基本的な編集作業の流れ

このTortoiseSVN を使ったある作業用フォルダ配下での基本的な編集作業の流れは以下のようになります。

  • リポジトリをチェックアウトして作業用フォルダを作成する
  • 作業用ファイルに変更を加える
  • 作業用ファイルとリポジトリとの差分を確認する
  • 作業用ファイルをコミットする
  • ファイルの作業ログを確認する
  • 別の作業フォルダで変更をチェックする
  • 作業フォルダのファイルを更新する

では以下順にご紹介します。

リポジトリをチェックアウトして作業用フォルダを作成する

まずこうしたインストール作業により TortorseSVN をインストール済の Subversion Client1にあたるWindows10 PC(IPアドレス:192.168.bbb.119)で作業するケースを考えてみましょう。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

TortoiseSVNを使用してリポジトリをチェックアウトし、作業用ファイルを作るにはまず 新規に作業用フォルダを作成します。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


このフォルダ内の何もないところで
マウス右クリック > SVNチェックアウト

を選択します。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


するとここで以下の画面が現れるので、チェックアウトしたいリポジトリのURLを入力して OK ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


このURLは例えば以下の記事中の「リポジトリの構成管理」で作成したリポジトリのURLです。

【Windows 環境構築】共同作業がスムーズになる!自宅、会社のワークスペースで Subversion を使ってみよう


具体的には以下の画像の Repository URL に記載されているURLです。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう



するとチェック先のディレクトリ(D):には自動的に SVNチェックアウトを選択しているフォルダの絶対パスが表示されるのでそれを含めた確認を行い、問題がなければ OK ボタンをクリックします。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


すると次のような画面が現れ、現在参照しているフォルダ配下に指定リポジトリ配下の登録全フォルダ、全ファイルがコピーされます。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


そして現在の参照フォルダ配下には、リポジトリとの差分が無いことを示すグリーンのチェック付のアイコン付のフォルダ、ファイルが表示され、 subversion の管理フォルダ .svn が作成されます。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

.svn が見えないときはエクスプローラの表示オプションで隠しファイルのチェックボックスに✔して下さい。

また .svn フォルダ配下にはリポジトリのURLを含む subversion の管理情報が格納されているのでこの .svn フォルダを変更、削除してはいけません。

チェックアウト操作とは

リポジトリに保存されているファイルやデータを自分のPCに取り込む操作のことです。
取り込んだファイルやデータは、自分のPCで編集することができます。

チェックアウトを行うことで、他の人が変更を行っている最新版のファイルを取得することができ、また自分が編集を行ったファイルをロックすることもできます。これにより、他の人が同じファイルを同時に編集することを防止することができます。

作業用ファイルに変更を加える

この状態で例えば Deploy.bat というファイルを開き15行目の pause を Pause に修正し、保存してみましょう。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


すると先程のフォルダの Deploy.bat のアイコンが赤い!アイコンに変化し、TortoiseSVNがこのファイルにリポジトリとの差分が発生していることを警告してくれます。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

作業用ファイルとリポジトリとの差分を確認する


そこで実際にどんな差分があるのか確認するために

Deploy.bat の上で右クリックしてコンテキストメニューを表示して

TortoiseSVC > 差分を表示(D)

を選択すると

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


このような画面が現われ

左側のリポジトリ登録内容(リビジョン15) の15行目が削除(-)され右側の15行目が追加(+)されたことを教えてくれます(実際は先頭文字が’p’から’P’に変更になっただけですが…)。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

これって超絶便利ですよね。

作業用ファイルをコミットする

変更内容が問題ないことが確認できたので同じように

Deploy.bat の上で右クリックしてコンテキストメニューを表示して

TortoiseSVC > SVNコミット(C)…

を選択すると

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


このようなコミット画面が現れますのでコミット用のメッセージ欄に

20230507 Deploy.bat の15行目の先頭を大文字に変更 refs #385

と記入して OK ボタンをクリックすると

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


このような画面が現れ、これでコミットは終了です。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう
しらかば堂

いかがですか?簡単でしょ?
これってほんの数秒で出来るんですよ。
ちなみにこのメッセージ欄に入力したコメント後半部の
refs #385
はこの修正をRedmine上の関連チケットに紐づけるおまじないなのですが、その部分の紹介については以下の関連記事を参照下さい。

【Windows環境構築】RedmineとSubversionの連携方法とメリットを徹底解説!プロジェクト管理と品質管理を効果的に遂行する方法

コミット操作とは

自分が編集したファイルやデータをリポジトリに反映させる操作のことです。
自分が編集した内容をリポジトリにアップロードし、変更履歴を更新します。

コミットを行う際には、自分が編集したファイルやデータを指定し、変更内容をコメントとして入力する必要があります。

コメントは、変更履歴を確認する際に参考になるため、わかりやすく記述することが重要です。

このコミットを行うことで、他の人がリポジトリから最新版のファイルを取得した際に、自分が編集した内容が反映されます。また、バージョン管理システムでは、複数の人が同じファイルを編集する場合に、誰がどの変更を行ったかを管理することができます。

ファイルの作業ログを確認する


ではこのコミット作業がログ上どうなっているか確認してみましょう。

そこで同じように

Deploy.bat の上で右クリックしてコンテキストメニューを表示して

TortoiseSVC > ログを表示(L)

を選択すると

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


以下のような表示が現れ過去の作業履歴も含めて先ほどの修正のリビジョンが54であること、先ほどのコメントがきちんと記載されていることを確認することができました。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

別の作業フォルダで変更をチェックする

次に同様に TortorseSVN をインストール済の Subversion Client2にあたるWindows10 PC(IPアドレス:192.168.aaa.1x)で作業するケースを考えてみましょう。。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

このケースで事前にチェックアウトしていた作業フォルダの状態を確認してみましょう。

アイコンが緑色なので一見変更がないように見えます。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

念のため、この作業フォルダの何もないところで右クリックし、コンテキストメニューを表示して

TortoiseSVC > 変更をチェック(F)

を選択すると

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


現れた画面の赤線で囲んだ部分の情報からこの作業フォルダに保存されたファイルがリポジトリに比べて古いことが確認できます。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

作業フォルダのファイルを更新する

そこで同様にこのフォルダ内の何もないところで右クリックし、コンテキストメニューを表示して

TortoiseSVC > SVN更新(U)

を実行してみましょう。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


すると以下のように更新が実行され、リビジョン番号も54に更新されました。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


念のため先ほどと同様に

このフォルダ内の何もないところで右クリックし、コンテキストメニューを表示して

TortoiseSVC > 変更をチェック(F)

を選択すると変更数が2から0に変わっており、この作業フォルダ配下がリポジトリと同じ最新リビジョン58であることが確認できました。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう


またWindowsのエクスプローラで再度この作業フォルダを確認すると、更新された

  • Deploy.bat
  • Remove.bat

の更新日時が変更されているのがわかります。

【Windows環境構築】Subversion のクライアント TortoiseSVN 環境を整え 開発効率を爆上げしよう

更新とは

リポジトリに保存されているファイルやデータを最新版に更新する操作のことです。
この操作により他の人がリポジトリに反映した最新版の変更内容を取得することができます。

更新を行うには、まず自分のPCに保存されているファイルやデータをリポジトリと比較し、最新版との差分を取得します。

そして差分がある場合は、最新版の変更内容を反映することができます。

更新は、リポジトリに自身の変更内容が反映されることはなく、自分のPCのファイルやデータが更新されるだけです。

従って 更新を行う際には、まず自分が編集中のファイルやデータをチェックインし、リポジトリに反映させることが必要です。他の人が編集中の場合には、更新を行う前にコンフリクト(競合)の確認や解消が必要となります。

まとめ

TortoiseSVNは、Windows上で利用できるバージョン管理ツールです。

開発チームにおいて、誰が何を変更したかを正確に追跡することで、バグ修正や新機能の追加などの作業を効率的に行うことができます。

本記事では

  • TortoiseSVNとは何か
  • TortoiseSVNのインストール方法
  • TortoiseSVNを使った編集作業の流れ

を詳しく解説しましたのでTortoiseSVNを使って、開発効率を爆上げするためのノウハウを身につけましょう。

この記事が読者の方の職場、自宅での生産性の向上に少しでもお役にたてれば幸いです。