...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

subversionを導入する(1)

かなり間違っていたので参考にしないでね.この記事は未完です.

うわー,もう全然わかんないや,何やったのか(w

うちのapacheは1.3系なので,このままではapache2.0+webdav+svnという技は使えない.
しょうがないからwebdavは諦めてapache1.3のままでソースからsvnをmakeすることにした.
結構な時間がかかったが,makeが終わった.
(最終的に,もしかすると./configureで設定しなきゃいけないことがあったんだ,ってことになる可能性が見えてきているが.)

リポジトリの作成場所として mkdir /usr/local/svn/ して,useradd と groupadd で 専用のユーザ・グループuser_nameを作成.
passwd でパスワードも設定しておいたが,後でログインできないようにデフォルトシェルの設定を /bin/false に変更することになった.
/usr/local/svn/の権限は 777 にする.

svn プロトコルリポジトリに接続できるよう /usr/local/svnserve -d -r /usr/local/svn/ としてサーバをデーモン形式で起動.
あと,PCの再起動時にも自動実行されるようにする.

リポジトリsvn create --fs-type fsfs repo_name で新規作成.
リポジトリを svnadmin create --fs-type fsfs repo_name で新規作成.

svn/ 以下に,trunk と tags と branches ディレクトリを作成.
/usr/local/svn/の権限は 777 にして,それ以下のオーナーをuser_name:user_nameに変更する.
リポジトリに作成された README や conf/ などを全部 trunk/ に移動する.
repo_name/trunk/conf に認証設定ファイルが2つあるからそれを適切に設定.

svn/repo_name 以下に,trunk/ と tags/ と branches/ という仮想的なディレクトリを作成するため,
svn mkdir -m 'setup trunk' svn://user_name@localhost/repo_name/trunk
svn mkdir -m 'setup branches' svn://user_name@localhost/repo_name/branches
svn mkdir -m 'setup tags' svn://user_name@localhost/repo_name/tags

必要あらば svn/ 以下のオーナーを chown -R user_name:user_name svn/ しておく.
repo_name/conf に認証設定ファイルが2つあるからそれを適切に設定.

svn プロトコルリポジトリに接続できるよう /usr/local/svnserve -d -r /usr/local/svn/ としてサーバをデーモン形式で起動.
あと,PCの再起動時にも自動実行されるようにする.

そしてWindows XP側のクライアント.
TortoiseSVNをインストールして,日本語化のための Language Pack もインストール.
エクスプローラの拡張された右クリックメニューから日本語に設定する.

あとはコンパイラなどが生成するファイルを全部綺麗に消去したプロジェクト一式を入れたフォルダを作って,そのフォルダを svn://user_name@host_name/repo_name/trunk へとインポートする.
ここで作業を続けるならすぐにチェックアウトしてバージョン管理されたファイルをダウンロードし,ローカルのファイル一式を更新する.

ここまでできた.

しっかし,どうやっても svn+ssh で接続することができない.
後日できました.方法はより新しい記事にまとめています.
Puttyで作ったパスフレーズ付きの秘密鍵をpagentでadd keyしてパスフレーズを入力し常駐させる.
公開鍵をサーバに追加して,user_nameユーザがsshでログイン可能なことを確かめる.
TortoiseSVNSSHクライアントの設定をTortoiseplink.exe(plink.exeにもしてみた)にする.
そして,TortoiseSVNsvn+ssh://user_name@host_name/repo_name/trunk に接続すればいいはずなのに・・・.

エラーメッセージが同じなのでメーリングリストのこの質問が怪しいが,同じようにしてみてもダメだった.
http://svn.haxx.se/tsvn/archive-2004-10/0245.shtml
どうなってんだこれは! 勘弁してくれ...

もしかしたら,RPMが使えるapache2.0+webdav+svnの方が簡単にできたのかなぁ.
でもそうすると,今のapache1.3とwebdavの設定がやり直しになりそうだから,流石に怖いんですけど・・・.
もう一台,導入試験用のLinuxサーバが欲しいな.
やれやれ,とうとう Virtual PC の出番かな?