-PR-
締切済み

XAMPP:SVNでロックできない

  • 困ってます
  • 質問No.7304542
  • 閲覧数3904
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 72% (8/11)

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>
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 53% (2177/4070)

ロック以外なら使えるのでしょうか?

リポジトリブラウザなどでリポジトリ内のファイル/ディレクトリの一覧が見れたり、チェックアウトしたり、コミットしたり…とか。
ちなみに、SVNクライアントって何使っているのでしょう?

svnのモジュールは2つとも正しく読み込んでいますか?
# 順番間違うとエラーになった…かなぁ。
補足コメント
acorns-papa

お礼率 72% (8/11)

回答ありがとうございます。
モジュールの設定は以下の順番です。

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経由でアクセスしています。
ログインやファイル一覧、チェックアウト・コミットの操作はできています。

よろしくお願いします。
投稿日時 - 2012-02-15 10:37:42


  • 回答No.2
レベル14

ベストアンサー率 53% (2177/4070)

>クライアントは、亀を使って、他PCのWindows上からHTTP経由でアクセスしています。
>ログインやファイル一覧、チェックアウト・コミットの操作はできています。

サーバにしているWindowsマシンからだとどうなんでしょう?
# まぁ、変化はないかと思いますが…。

コミットまでできるのであれば、ユーザー認証は通っているハズですよね?


ちなみに、サーバ構築の手順はどんなので?
こちらで試行してみようにも手順が違うと同様の状態になるか不明ですし。
# ただ、こちらはWindows7 64Bitですが…。XAMPPは32Bitになるのかなぁ。
補足コメント
acorns-papa

お礼率 72% (8/11)

回答が遅くなりました。すみません。
ユーザ認証は通ってます。
ローカルから、file:// でアクセスすると、ロックが可能です。
ローカルからHTTPでアクセスすると、同じくエラーです。
(まぁVHOST使って、SVN用のアドレス指定なんで、外からと変わらない)

インストールは、
XAMPP 1.7.7 をインストール
亀のインストール
SVNサーバのインストール
SVNサーバからライブラリをXAMPP側にコピー
VHOSTの指定で、SVN用のVHOSTに最初に記載している
Locationを追加。
hostsファイルにもSVN用のドメイン名を追加
Apache再起動

というところです。
一応後で参考にする人用に補足。
投稿日時 - 2012-02-19 19:09:21
  • 回答No.3
レベル14

ベストアンサー率 53% (2177/4070)

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

お礼率 72% (8/11)

むむ。再現するですか。
こちらでも継続して調べております。
取り急ぎ、調査ありがとうございます。
投稿日時 - 2012-02-19 19:10:54
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ