svn commitで失敗 svn: attempt to write

このQ&Aのポイント
  • subversionを導入しましたが、svn commitでエラーメッセージが表示されます。
  • 原因は権限の問題だと思われますが、具体的な権限の変更方法が分かりません。
  • アドバイスをお願いします。
回答を見る
  • ベストアンサー

svn commitで失敗 svn: attempt to write

svn commitで失敗 svn: attempt to write a readonly database http://wiki.minaco.net/index.php?VMwareFusion%2FCentOS5%2F15.Apache%2BSubversion%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB 上記を参考にsubversionを導入しました。 リポジトリは作成でき、ブラウザ上で確認できました。 しかし、リポジトリをチェックアウトしてファイルの追加などするとsvn addまでは出来るものの、svn commit した段階で svn: attempt to write a readonly database というエラーメッセージが出ます。 権限が無いなどの原因だと思うのですが、どこの権限をどのように変更すべきか分かりません。 どなたかお分かりになりましたらアドバイスをお願いします。

質問者が選んだベストアンサー

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

コミットする時にユーザー名とパスワードの入力が出たかと思いますが… 設定したユーザー名とパスワードを正しく入力しましたか? あとは…SELinuxが有効になっていて、リポジトリに対して書き込みできない…とか。 getenforceの結果と、リポジトリのディレクトリでのls -lZRの結果…でしょうかね。 # ls -lZRしてみたら…所有者がsvnだったりローカルユーザーだったり…(グループに対して書き込み許可してあるからとりあえず問題にはなってない) # user_uだったりsystem_uだったりが混ざってる…(SELinuxは警告モードなので(以下同)) # LAN内からのSVNプロトコルとWANからのssh+svnプロトコルとの違い…かな。 ……インポートできたんでしょうか?

new_comer
質問者

お礼

おっしゃる通り、所有者の設定が間違っていたようです。 chownで変更したら無事成功しました。 ありがとうございます。

関連するQ&A

  • svnサーバでsvnプロトコルでチェックアウト

    現在、自分のwindows10のPCにSVNサーバを、下記のサイトを参照しながらインストール作業を行っています。 WindowsにSubversion 1.12サーバーを構築する https://blogs.osdn.jp/2019/06/14/subversion.html 最後まで進めて、新規に作成したリポジトリをtortoiseSvnでチェックアウトできるようになりました。 その際に、リポジトリをチェックアウトする際に設定するURLでは頭のところを"http://...."とhttpのTCP80番ポートに設定してチェックアウトは成功することを確認しました。 ただ、今までsvnサーバで使っていたプロトコルがsvnのTCP 3690番だったので、URLを"svn://...."と設定してチェックアウトできるか確認したところ Unable to connect to a repository at URL 'svn://....' Can't connect to host '192.168.1.188':対象のコンピュータによって拒否されたため、接続できませんでした。 一応、windowsのファイアーウォールではtcp 3690番ポートは開放するようにせっていはしました。 httpプロトコルではできることは分かったのですが、svnプロトコルでもURLでアクセスできるようにするために必要なことなどご教示頂きますよう、よろしくお願い致します。

  • Linuxでsvnコマンドでcommitしたい。

    現在Ubuntu Linuxを使用しています。svn管理のディレクトリ内で、a.outというフォルダを削除しました。 これをSVNサーバー側のリポジトリ側へも反映したいのでcommitしたいのですがどうやれば良いでしょうか? 現在カレントディレクトリは /root/20140411 このディレクトリです。 20140411のディレクトリがSVNで管理しているディレクトリです。 /root/20140411 カレントディレクトリ内で # svn update このようにアップデートを行ってみたら、アップデートできました。 しかし、 # svn commit これをやっても、コミットされませんでした。 現在のカレントディレクト内をコミットする方法をご教示頂きますよう、お願い致します。

  • subversionのpost-commitでsvn upを行うと、パーミッションエラー。

    クライアントからコミットした際に、post-commitで、svnでチェックアウトしている/var/www/sampleprojectディレクトリを"svn up"コマンドで更新をしたいと思っております。 しかし、tortoiseSVNからコミットすると、以下のエラーが表示されてしまいます。 <pre> エラー: post-commitフックが失敗しました (終了コード: 1)。出力: エラー: svn: ファイル '/var/www/sampleproject/.svn/lock' を開けません: 許可がありません </pre> post-commitの内容: <pre> #!/bin/bash REPOS="$1" REV="$2"LOG=/var/log/svn.log export LANG=ja_JP.UTF-8 echo $2 > ${LOG} whoami >> ${LOG} /usr/bin/svn up /var/www/enjoynight >> ${LOG} </pre> post-commitで出力したログを確認してみると、"svn up"を実行しているユーザーは"user1"でした。 /var/www/sampleprojectのオーナーはapacheユーザー(apache.apache)です。 ためしに、"user1"にapacheグループ権限を追加してみましたが、結果は変わりませんでした。 一日中悩んでも解決出来ませんでした。 もしよろしければ、どなたか解決策をご教授頂けないでしょうか。 サーバーOS:CentOS5.3 Subversion:1.6.2 Apache:2.2.3 passenger:2.2.3 Ruby:1.8.7 Rails:2.3.2 クライアントOS:Windows Vista tortoiseSVN:1.6.5 リポジトリへの接続方法:svn+ssh コミットユーザー:user1

  • apache + svn での実行ユーザ

    リポジトリーをsvn + apache + sslで構築しております。 構築作業を完了しチェックアウトおよびブラウザからの確認まではできるようになったのですが、コミット時に以下のエラーがはかれてしまいます。 svn: Commit failed (details follow): svn: Commit failed (details follow): svn: Can't create directory '/var/lib/svnprj/*****/db/transactions/1-1.txn': Permission denied svn: MKACTIVITY of '/svn/*****/!svn/act/90df1d5c-1a01-0010-8e67-11194141f511': 500 Internal Server Error (https://www.********.co.jp) 権限の問題でディレクトリを作る権限が実行ユーザにないのが原因と思いますが、該当の権限は以下のようになっておりました。 drwxr-sr-x 7 apache apache 4096 Jun 2 12:49 ***** svnをapache経由で操作した場合はapacheアカウントで実行すると 思っているのですが、ちがうのでしょうか。 --------- ちなみに該当のディレクトリを chmod -R 777 ***** にするとコミットすることが可能になりました。

  • スマホアプリ「QuickPic」について

    このアプリを起動したときに「error code 8:attempt to write a readonly database」と表示されます。 これはどういう意味なんでしょうか?

  • Macでsubversionのコミットができない

    Win、Mac混在環境で、subversionによるデータ共有ついて質問です。 制作したサイトのhtmlデータ等を、 WinとMacそれぞれのsubversionクライアントを使用して subversionでデータを共有したいと考えています。 WinはTortoiseSVN、macはversionsを使用しています。 リポジトリを共有の外付けハードディスク(buffalo)に作成しました。 Winからはチェックアウト、コミット共に問題なく利用できますが、 Macからはチェックアウトは出来るが、コミットがエラーがでて出来ません。 エラーは下記のようなエラーになってしまいます。 Commit failed (details follow): Can't get exclusive lock on file '/Volumes/subversion/svn/db/txn-current-lock': Operation not supported MACのVersionsでのリポジトリのパスの指定方法がちがうのかな?と思っていますが、 いろいろ試してもうまくいきません。共有サーバのパスもMACとWinで異なるのでしょうか? よろしくお願いします。

  • SVN管理を複数人で(レンタルサーバ上)

    # パスワードや権限に関する質問なのでセキュリティトピを選びましたが、 # もし他に適切なトピがあったら教えてくださいませm(_ _)m XREAのサーバではSVNが使えるということで、私が借りているXREAサーバの スペースにリポジトリを作り、友人と共同作業しようとと考えています。 それで、リポジトリを作ったりすることは全く問題なくできるのですが、 パスワードや権限の設定方法がいまいちよく分かりません。 私はサーバのアカウント・パスをもっているので何の問題もなく コミット・チェックアウト等できるのですが、友人にも同様の権限を 与えるためにはどうすればいいのでしょうか? # もちろん友人にアカウント・パスワードを教えるわけにもいきませんし・・・f(^^; 調べてみたところ、Apacheの設定をいじるということは分かったのですが、 常識的に考えるに、レンタルサーバのApacheの設定を変えるなんてできませんよね? GoogleCodeやSourceForgeだと、複数のコミッタ毎にID・パスが与えられていて、 共同作業できると思います。そんな感じでID・パスも割振れるだろうと考えたのですが、 そもそもレンタルサーバ上でそれをやるのが無理なのでしょうか? またもしそうだとしたら、XREAやさくらでSVNを利用している方が結構いるようですが、 皆さん個人での利用のみということなのでしょうか? 共同作業と言っても、趣味の範囲なので大したことではないのですが、 もし何か分かる方がいたら回答よろしくおねがいしますm(_ _)m

  • subversionのBASIC認証の回数について

    初めまして。x86machineと申します。 現在ファイルのバージョン管理を行うため、subversionの導入を行っております。 Linux(CentOS)サーバへsubversionを追記致します参考にしたサイトで紹介している設定方法に従ってWebDAV経由で Basic認証をパスする形でリポジトリでアクセスできるよう設定しました。 WindowsクライアントにインストールしたTortoiseSVNからリポジトリへアクセスしたところ、アカウントを間違えずに入力したとしても、 BASIC認証の要求ウィンドウが2~3回繰り返し表示されてしまいます。 要求された分、間違えずにユーザ名とパスワードを入力すればリポジトリを閲覧することができ、データのチェックアウトやコミットも行うことができます。 subversionでは、BASIC認証でパスワードを入力要求の回数は数回繰り返されるのが普通なのでしょうか? Apacheのエラーをログから確認したところ、認証を行っている間ずっとHTTPの207エラーをはいていたようです。 設定を見直したのですがどこがどう違うのか分からなかったため、質問を投稿させていただいた次第です。 WebDAV、若しくはsubversionの設定に何か間違いがあるのでしょうか? コンフィグ・ファイルの内容と、Apacheのエラーを追記致しますので、何かご回答をいただければと思います。 また、質問内容や原因を判断するにあたっての必要なデータに不足がありましたら、お手数ですがこちらもご指摘いただきたいと思います。 宜しくお願いします。 ----------------------------------------------------------- ・環境について  サーバ   : CentOS 5.0  クライアント: Windows 2000 Professional (32bit) 及び Windows XP Professional (32bit) Apache : 2.2.3-11.el5 subversion : 1.4.2-2.el5 mod_dav_svn : 1.4.2-2.el5   他   : TortoiseSVN 1.5.6, Build 14908 - 32 Bit ・リポジトリの作成場所  /var/www/配下に"svn"フォルダを作成し、その中に作成。 ・subversion,WebDAV設定の際に参考にしたサイト  http://www.proton.jp/apps/subversion.html  http://sfi.hamazo.tv/e1447564.html  http://d.hatena.ne.jp/ishikawa84g/20080915/1221424863  http://www.server-world.info/note?os=ce5&p=subversion  http://park1.wakwak.com/~ima/centos4_subversion0001.html ・subversionのコンフィグファイルの内容       …… <Location /svn/> DAV svn SVNParentPath /var/www/svn #Limit write permission to list of valid users. #<LimitExcept GET PROPFIND OPTIONS REPORT> #Require SSL connection for password protection. #SSLRequireSSL AuthType Basic AuthName "Authorization Realm" #AuthUserFile /path/to/passwdfile AuthUserFile /var/www/svn/.htpasswd AuthzSVNAccessFile /etc/httpd/svnaccess Require valid-user #</LimitExcept> </Location> ・BASIC認証時、Apacheのエラー  (端末からsvnuserとしてリポジトリへアクセス。) 192.168.1.197 - svnuser [27/Jan/2009:19:59:46 +0900] "OPTIONS /svn/project HTTP/1.1" 200 - 192.168.1.197 - svnuser [27/Jan/2009:19:59:46 +0900] "PROPFIND /svn/project HTTP/1.1" 207 653 192.168.1.197 - svnuser [27/Jan/2009:19:59:46 +0900] "PROPFIND /svn/project/!svn/vcc/default HTTP/1.1" 207 404 192.168.1.197 - svnuser [27/Jan/2009:19:59:46 +0900] "PROPFIND /svn/project/!svn/bln/9 HTTP/1.1" 207 455 192.168.1.197 - svnuser [27/Jan/2009:19:59:46 +0900] "PROPFIND /svn/project HTTP/1.1" 207 653 192.168.1.197 - svnuser [27/Jan/2009:19:59:46 +0900] "PROPFIND /svn/project/!svn/vcc/default HTTP/1.1" 207 404 ……

  • Subversionで日本語ファイル名が文字化け

    Subversion+TortoiceSVNでソースコードの管理を行っているのですが、 つい最近、両ソフトをバージョンアップ(svn 1.6.xx⇛1.6.16?)したときから ファイルのロールバックが出来なくなってしまいました。 ロールバックしようとするとチェックアウト画面のリポジトリのURLで 日本語のパス&ファイル名がURLエンコードされた状態になっており、 チェックアウトできません。 解決方法はありませんでしょうか? よろしくおねがいします。

  • 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>