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
Permission denied: Can't open '/tmp/report.tmp'
とのエラー。svnリポジトリが古い場合に起こるらしい。
- svnadmin を使ったレポジトリのダンプ+レストア