WindowsでのSubversionの導入 | K-FREEDOM Official Blog

K-FREEDOM Official Blog

Web&業務ソフト開発「ケイ・フリーダム」の公式ブログです。
新製品の情報、技術的な情報、サポート情報等を掲載します。

自分の開発マシンにSubversion環境を作成したので、その覚書です。

一人で開発している場合でも、開発時のバージョン管理は有効なのでWin32SVN+TortoiseSVNの組み合わせでバージョン管理することが多いです。

派遣先の職場でも、Subversionを使っているところが結構多いのでその際にも使い慣れていたほうが助かるので。


さて、まずサーバーのインストールから。

・公式サイト(http://subversion.apache.org/)に行きます。
・左側のメニューより、Getting Subversion -> Binary Packagesを選択します。



・一番下の方の Windows の欄にある Win32SVNをダウンロードします。




・ダウンロードしたものを実行する。
 ※得に設定する内容はないので流れに沿ってインストールできるはずです。


・インストールが終わったら必ず再起動すること。
 ※以後のコマンドラインでの作業をするために必要です。
 ※インストール時に自動的に環境変数(Path)が設定されるのですが、再起動しないと適用されないため。


・再起動後、Subversion(サーバー)が使用するフォルダを作成します。
 「c:\svn」

※いずれも名前は好きなもので良いと思われます。


・コマンドプロンプトを開き、以下のコマンドを実行します。

・リポジトリの作成。
 「svnadmin create c:\svn」

・作成したリポジトリの設定
 「c:\svn\conf\svnserve.conf」をエディタで開き、以下のように変更する。
# anon-access = read
# auth-access = write
   ↓
# anon-access = read
anon-access = none
auth-access = write
に変更する。

さらに、
# password-db = passwd
   ↓
password-db = passwd
に変更する。

変更を保存して終了。


・「trunc」「tags」「branches」フォルダの作成。

 「svn mkdir file://localhost/c:/svn/trunk
 -m "truncフォルダ作成"
 「svn mkdir file://localhost/c:/svn/tags -m "tagsフォルダ作成"
 「svn mkdir file://localhost/c:/svn/branches -m "branchesフォルダ作成"

上記フォルダの意味について、いくつかの情報を読んでみたところ・・・
「trunc」は現在開発中のソースを保管する場所。(現在作業中のもの一つだけ)
「branches」はいくつもの版(枝葉)がある場合に、それぞれを保存する場所。(リリースにかかわらず)
「tags」はそれぞれの版で完成品をリリースした際にその状態を保存する場所。
と言った感じでした。
専門書籍を読んだわけではないので参考程度に。

・パスワードファイルの編集(ユーザーの作成・パスワードの設定)

 「C:\svn\conf\passwd」をエディタで開く。
 [ユーザー名] = [パスワード]
 の形式でユーザーとパスワードの組み合わせを入力してゆく。

例) kfreedom = 1234567

変更を保存して終了。


以上で設定は終了。


・とりあえずこの段階でクライアント(TortoiseSVN)からアクセスできるかチェックします。
そのために、サーバーをコマンドラインからデーモンとして起動します。

 「svnserve -d -r c:\svn」

・エクスプローラで右クリックするなどしてTortoiseSVNのリポジトリブラウザを開きます。
 URLは「svn://localhost/」を入力します。
 これで中身(branchesなど)が見られればサーバーの設定はOKです。


あとはSubversionサーバーの起動設定。
PCが起動するたびに、コマンドプロンプトでサーバーの起動を行うのは現実的ではないので、サービスで起動するように設定。

WindowsXP以降のマシンであればSCコマンドは予め入っているようです。(未確認)

※注意※
以下のコマンドはSubversionサーバーのインストールフォルダに合わせて変更してください。
下記の場合は「
C:\Program Files (x86)\Subversion\」にインストールされています。

・コマンドプロンプトを管理者権限で開きます。(Windows7/8/8.1の場合、管理者権限でないとアクセスが拒否されます)
※Wn8.1の場合、アプリの一覧のコマンドプロンプトを右クリックして管理者として実行します。

そのコマンドプロンプトにて以下のコマンドを実行。

sc create svnserve binpath= "\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root C:\svn" displayname= "Subversion" depend= tcpip start= auto
sc description svnserve "Subversion Server"


あとはサービスを自動起動するように設定すれば完了です。




<2015-07-26 追記>

SVNサーバーを立てて、外部からアクセスする場合、ファイアーウォールでポート(TCP:3690)の受信を許可する必要があります。