• 締切済み

XAMPP:SVNでロックできない

SVNサーバ(Apache経由)を従来Linuxで立ててましたが、Windows側に引っ越す事になりました。 OS:WinXP XAMPP1.7.7 を導入し、SVN1.7.2を導入しました。 普通にHTTP越しにSVNを利用する事は可能になったのですが、ロック機能が使えません。 エラー: Lock request failed: 400 Bad Request (http://url) が表示されます。 サーバのWindows上で、リポジトリダイレクトアクセス(file://)ではロックできました。 Apacheのエラーログに [Tue Feb 14 12:16:46 2012] [error] [client IP-addr] Tried to attach multiple locks to a resource. [400, #405] というログが出てました。 ぐぐると、英文文献が出てくるのですが、いまひとつ理解できませんでした。 Apacheのアクセスログを見ると IP-addr - - [14/Feb/2012:12:16:46 +0900] "LOCK /svn/filename HTTP/1.1" 400 1085 "-" "SVN/1.4.5 (r25188) neon/0.26.3" となっていました。 Linuxのアクセスログを見ると、LOCKリクエストの時でも IP-addr - username [17/Aug/2011:20:07:10 +0900] "LOCK 以降省略 みたいに、アカウント情報がのってました。 これが原因かな?と思ったのですが、どうやってユーザ情報をのせればいいのかわからないです。 HTTP.CONF のSVNの設定は、以下のような設定です。 何か忘れ物をしているのかどうか、よくわからないのですが、 ロックができずに困っている文献が少なく?困りました。 とっかかりでもなんでもいいので、ヒントがありましたらよろしくお願いします。 <Location /svn> DAV svn SVNParentPath "D:/home/svn/" AuthType Basic AuthName "Subversion Repository" AuthUserFile "D:/home/svn/dav_svn.passwd" Require valid-user <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

XAMPP1.7.7を普通にインストール(ただしインストール先はD:\xampp)、Setup-Subversion-1.7.3.msiでsvnの1.7.3をインストール。 Subversionのインストール先のmod_*.soと*.dllをxamppのapacheのmodulesにコピーしてmod_davを有効化、 httpd-svn.confとして下記の内容で作成して、 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath "D:/xampp/Suvbersion" AuthType Basic AuthName "Subversion Repository" AuthUserFile "D:/xampp/Suvbersion/dav_svn.passwd" Require valid-user <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> リポジトリも作成。 んで、適当にファイル作成してコミットしてから…ロックを取得しようとすると…… 掲示されたエラーになりますね。 file:///では正常にロックの取得と解除が。 リポジトリのフォルダのアクセス権をいぢってみましたが変わらないですな。 #405は…DAV_ERR_LOCK_SAVE_LOCKだそうで。 なんらかの書き込みでエラーになっている…っぽいのですが、それ以上は不明です。 mod_dav関係で何かある…んでしょうかねぇ。

acorns-papa
質問者

補足

むむ。再現するですか。 こちらでも継続して調べております。 取り急ぎ、調査ありがとうございます。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

>クライアントは、亀を使って、他PCのWindows上からHTTP経由でアクセスしています。 >ログインやファイル一覧、チェックアウト・コミットの操作はできています。 サーバにしているWindowsマシンからだとどうなんでしょう? # まぁ、変化はないかと思いますが…。 コミットまでできるのであれば、ユーザー認証は通っているハズですよね? ちなみに、サーバ構築の手順はどんなので? こちらで試行してみようにも手順が違うと同様の状態になるか不明ですし。 # ただ、こちらはWindows7 64Bitですが…。XAMPPは32Bitになるのかなぁ。

acorns-papa
質問者

補足

回答が遅くなりました。すみません。 ユーザ認証は通ってます。 ローカルから、file:// でアクセスすると、ロックが可能です。 ローカルからHTTPでアクセスすると、同じくエラーです。 (まぁVHOST使って、SVN用のアドレス指定なんで、外からと変わらない) インストールは、 XAMPP 1.7.7 をインストール 亀のインストール SVNサーバのインストール SVNサーバからライブラリをXAMPP側にコピー VHOSTの指定で、SVN用のVHOSTに最初に記載している Locationを追加。 hostsファイルにもSVN用のドメイン名を追加 Apache再起動 というところです。 一応後で参考にする人用に補足。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

ロック以外なら使えるのでしょうか? リポジトリブラウザなどでリポジトリ内のファイル/ディレクトリの一覧が見れたり、チェックアウトしたり、コミットしたり…とか。 ちなみに、SVNクライアントって何使っているのでしょう? svnのモジュールは2つとも正しく読み込んでいますか? # 順番間違うとエラーになった…かなぁ。

acorns-papa
質問者

補足

回答ありがとうございます。 モジュールの設定は以下の順番です。 LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so == 順番の入れ替えは後でやってみます。 クライアントは、亀を使って、他PCのWindows上からHTTP経由でアクセスしています。 ログインやファイル一覧、チェックアウト・コミットの操作はできています。 よろしくお願いします。

関連するQ&A