« 08.03 みどりーの あきばーの すれちがいーの | ココ | 08.04 英語キーボードで日本語入力 on xrdp »
2009年8月 4日
(SVN + SSHFS + Apache) x MERGE = 409?
会社のサーバーで、Subversionのレポジトリを残容量の関係で別マシンに作って、Apacheの設定をしたりポートを空けたりするのがめんどいのでそれをSSHFSでマウントし、既存マシンの設定を有効に活用しようという作戦を思いついた(というか誰でも思いつく)ので、SSHFSでマウントする設定は自動でマウントするように/etc/auto.masterに、
/mnt /etc/auto.sshfs -g,-t=3600
/etc/auto.sshfsに、
svnrepos -fstype=fuse,allow_other,IdentityFile=/root/.ssh/id_dsa :sshfs\#svn@192.168.1.xx\:/home/svn
としてautofsを有効に利用することにしたんですが、いざコミットすると…
$ svn add test.txt
A test.txt$ svn ci -m 'test'
追加しています test.txt
ファイルのデータを送信中です.svn: コミットに失敗しました (詳しい理由は以下のとおりです):
svn: MERGE リクエスト (相手: '/svn/test') が失敗しました
svn: Can't move '/var/www/svn2/test/db/transactions/0-1.txn/rev' to '/var/www/svn2/test/db/revs/1': Operation not permitted
ん。エラー…。Apacheのログ(access_log)を見てみたら、
192.168.1.186 - - [04/Aug/2009:12:17:39 +0900] "CHECKOUT /svn/test/!svn/ver/0/ HTTP/1.1" 201 320 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:17:39 +0900] "PROPFIND /svn/test/test.txt HTTP/1.1" 404 293 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:17:39 +0900] "PUT /svn/test/!svn/wrk/13de48a3-8f8f-4bd1-b398-b3cc97ccf5d3/test.txt HTTP/1.1" 201 316 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:17:40 +0900] "MERGE /svn/test HTTP/1.1" 409 309 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:17:41 +0900] "DELETE /svn/test/!svn/act/13de48a3-8f8f-4bd1-b398-b3cc97ccf5d3 HTTP/1.1" 204 - "-" "SVN/1.4.2 (r22196) neon/0.25.5"
と、409エラーが。409ってなんだ。error_logは、
[Tue Aug 04 12:17:40 2009] [error] [client 192.168.1.186] Could not MERGE resource "/svn/test/!svn/act/13de48a3-8f8f-4bd1-b398-b3cc97ccf5d3" into "/svn/test". [409, #0]
[Tue Aug 04 12:17:40 2009] [error] [client 192.168.1.186] An error occurred while committing the transaction. [409, #1]
[Tue Aug 04 12:17:40 2009] [error] [client 192.168.1.186] Can't move '/var/www/svn2/test/db/transactions/0-1.txn/rev' to '/var/www/svn2/test/db/revs/1': Operation not permitted [409, #1]
ここで、ふつーの人なら「パーミッションの問題なんでしょ?」と思う、というか掲示板にエラーだけ書いてもたいていこういうことを返事されるんですけど…。SSHFSでマウントした先で、他人が読み書きできるように設定してるのにパーミッションの問題なんてヘン! と気付かないんですよね。
もしかしたら、ファイルシステム跨ぎのmvが出来ないのか…? とマウントした状態でmvコマンドを試すも普通に出来るし。
svn over sshfs(ref. HIDETEC DIARY)
workaround=rename のオプションをつけてやらないと、"Operation not permitted" と言われる。
svnrepos -fstype=fuse,rw,nodev,allow_other,IdentityFile=/root/.ssh/id_dsa,workaround=rename :sshfs\#svn@192.168.1.xx\:/home/svn
あ、こういうことね。
192.168.1.186 - - [04/Aug/2009:12:20:08 +0900] "PROPFIND /svn/test/test.txt HTTP/1.1" 404 293 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:20:08 +0900] "PUT /svn/test/!svn/wrk/af0cac91-e12d-4d11-9c10-e257a2039b63/test.txt HTTP/1.1" 201 316 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:20:08 +0900] "MERGE /svn/test HTTP/1.1" 200 968 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
192.168.1.186 - - [04/Aug/2009:12:20:09 +0900] "DELETE /svn/test/!svn/act/af0cac91-e12d-4d11-9c10-e257a2039b63 HTTP/1.1" 204 - "-" "SVN/1.4.2 (r22196) neon/0.25.5"
既存のファイルに対してmvをするとエラーが起こるのか。もうちょいやったのに。svnで409エラーを検索してもなかなか出てこないから手間取った。
By ただ at 23:02 カテゴリー ; プログラミングとか
« 08.03 みどりーの あきばーの すれちがいーの |
08月の記事
| 08.04 英語キーボードで日本語入力 on xrdp »
トラックバック
このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1455