トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

svn レポジトリ更新

  • root で checkout できた。
  • ユーザーで checkout できない。
  • group write 確認済み。
$ svn checkout file:///home/svn_repos/hogehoge
svn: URL に対し ra_local セッションを開始できません
svn: リポジトリ 'file:///home/svn_repos/hogehoge' を開けませんでした
svn: ファイルシステム '/home/svn_repos/db' に対して環境を開いているときに Berkeley DB エラーが起きました

svn: 許可がありません
$ LANG=C svn checkout file:///home/svn_repos/hogehoge
svn: Unable to open an ra_local session to URL
svn: Unable to open repository 'file:///home/svn_repos/hogehoge'
svn: Berkeley DB error for filesystem '/home/svn_repos/db' while opening environment:

svn: Permission denied

svnリポジトリが古い場合に起こるらしい。

  • RHEL4 から RHEL6 へのレポジトリ移行
  • 移行元 svn バージョン
# svn --version
svn, バージョン 1.1.4 (r13838)
 コンパイル日時: May 31 2011, 09:30:10
  • 移行元 svn fs は BDB
# cat /home/svn_repos/db/fs-type
bdb
  • 移行先 svn バージョン
# svn --version
svn, バージョン 1.6.11 (r934486)
 コンパイル日時: Apr  2 2013, 08:56:54
  • svn レポジトリのダンプ
# svnadmin dump /home/svn_repos > svn_repos.20140305.dump
* リビジョン 0 をダンプしました。
* リビジョン 1 をダンプしました。

..中略..

* リビジョン 27 をダンプしました。
  • svn レポジトリをディレクトリごと消去
# rm -rf /home/svn_repos
  • svn レポジトリ用ディレクトリ作成
# mkdir /home/svn_repos
  • svn レポジトリ初期化
# svnadmin create /home/svn_repos
  • svn レポジトリの復旧
# svnadmin load /home/svn_repos < /backup/svn_repos/svn_repos.20140305.dump
<<< オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
    * パスを追加しています : hogehoge ... 完了しました。

..中略..

<<< オリジナルのリビジョン 27 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : hogehoge/hogehoge.spec ... 完了しました。

------- リビジョン 27 をコミットしました >>>
  • 移行元 svn fs は fsfs になった。
$ cat /home/svn_repos/db/fs-type
fsfs
  • root でのチェックアウトOK
# svn checkout file:///home/svn_repos/hogehoge
A    hogehoge/iostatlog.pl

..(中略)..

A    hogehoge/hogelog-rm.conf
リビジョン 27 をチェックアウトしました。
  • レポジトリの権限調整
# chown -R svn:svn /home/svn_repos
# chmod -R g+w /home/svn_repos
  • ユーザー でのチェックアウトOK
$ svn checkout file:///home/svn_repos/hogehoge
A    hogehoge/iostatlog.pl

..(中略)..

A    hogehoge/hogelog-rm.conf
リビジョン 27 をチェックアウトしました。
# chown -R svn: /home/svn_repos
# chmod -R g+w /home/svn_repos

参考サイト

svn->gitへのclone / Code Court

再度git svnするも,

Permission denied: Can't open '/tmp/report.tmp'

とのエラー。svnリポジトリが古い場合に起こるらしい。

  • svnadmin を使ったレポジトリのダンプ+レストア