リポジトリの作成、アクセス権の設定、アカウントの追加
※アクセス権は以下のように設定する
アカウントなし → リードのみ実行可能
アカウントあり → リード・ライト可能
・リポジトリの作成
$ sudo mkdir /var/svn/repos/test $ sudo svnadmin create /var/svn/repos/test
・アクセス権の設定
$ cd /var/svn/repos/test/conf $ sudo vi svnserve.conf... [general] ... ↓コメントインする(行頭にスペースは入れないこと) # anon-access = read # auth-access = write ... ↓コメントインする(行頭にスペースは入れないこと) # password-db = passwd ...
・ユーザアカウントの追加
$ sudo vi passwd... [users] scott = tiger
ミラーリポジトリの作成、初期化、同期
・ミラーリポジトリの作成
$ sudo mkdir /var/svn/repos/test $ sudo svnadmin create /var/svn/repos/test $ cd /var/svn/repos/test/hooks $ sudo vi pre-revprop-change#!/bin/sh exit 0$ sudo chmod 755 pre-revprop-change
・ミラーリポジトリの初期化
$ sudo svnsync init file:///var/svn/repos/test svn://<ソースリポジトリがあるサーバのアドレス>/repos/test
・ソースリポジトリと同期をとる
$ sudo svnsync sync file:///var/svn/repos/test
[CentOS7][SVN]サーバ構築
https://qiita.com/SierSetup/items/c47b861dc563919c94ac
sshで接続できるならサービスを立ち上げなくてもよい。
接続時のURLは、svn+ssh://<user>@<host>/<リポジトリの絶対パス>
svnsync: E000013: ファイル '/var/svn/repos/test/format' を開けません: 許可がありません
SELinuxが悪さしょうるんが分かったんじゃけどね...プチハマリ。orz
https://w.atwiki.jp/ohden/pages/403.html
リポジトリの引っ越し
・リポジトリのダンプファイルを作成する。
$ svnadmin dump /var/svn/repos/test/ > test.svndmp * リビジョン 0 をダンプしました。 * リビジョン 1 をダンプしました。
・ダンプファイルを引っ越し先に転送する。
ー引っ越し先での処理ー
・リポジトリを作成する。
# mkdir /var/svn/repos/test # svnadmin create /var/svn/repos/test
・ダンプをリポジトリにロードする。
# svnadmin load /var/svn/repos/test < test.svndmp <<< Started new transaction, based on original revision 1 * editing path : subversion.txt ... done. ------- Committed revision 1 >>>
ー作業コピーのURLの変更方法ー
$ svn switch --relocate svn://<変更前のサーバのアドレス>/repos/test svn://<変更後のサーバのアドレス>/repos/test
その他
SVN - Error Rep Repository UUID 'XXX...' doesn't match expected 'XXX..'
https://kiwix.ounapuu.ee/serverfault.com_en_all_2019-02/A/question/248495.html
svnadmin setuuid <repository path> <new uuid>
Warning: post commit FS processing had error: Couldn't open rep-cache database
→ファイルかディレクトリに書き込み権限がないのでは?