※本記事は下記の環境で確認してます。
Windows10
UnrealEngine 4.27.2
TortoiseSVN Version 1.14.1
##概要
svn: E170013: Unable to connect to a repository at URL 'file:///D:/repository/trunk/MyProject'
svn: E180001: Unable to open repository 'file:///D:/repository/trunk/MyProject'
svn: E160043: Expected FS format between '1' and '7'; found format '8'
Failed to connect to source control. Check your settings and connection then try again.
TortoiseSVNで作成したリポジトリに対してソースコントロールで接続を行おうとすると上記のようなエラーが発生しました。
原因は題名の通りなのですが、確認した感じエンジン側に手を入れる以外(※)だと既存のリポジトリのバージョンを下げるしか手段は無く、サポートされているバージョンに合わせてリポジトリ自体を作り直す必要がありそうでした。
※"\Engine\Binaries\ThirdParty\svn" にあるSVNをTortoiseSVNのものに置き換えると一応動作しましたが、動作保証されてなさそうなのでお手軽にはやらない方が良いと思います。
そこで調べてみたらsvnadminのコマンドで互換性のあるリポジトリ形式を作成することができたので、本記事ではその方法を書きます。
検証あまり出来ておらず間違ってたらすみません。
追記 2022/02/01
後述する岡田さんの記事にもあります通り、UEがサポートしているバージョンを扱うTortoiseSVNをインストールして使用する方がリスクが少ないです。
もしもTortoiseSVNのバージョンを気にしないのであれば、下記のリンクなどから適切なバージョンのインストーラーを落として再インストールすることをお勧めします。
https://osdn.net/projects/tortoisesvn/storage/Archive/1.9.5/
##バージョン確認方法
svnのバージョンの確認方法は、右クリック -> TortoiseSVN -> About で出てくるウィンドウのSubversionの部分に書いてます。
UE側でサポートしているバージョンの確認方法については Epicの岡田さんがわかりやすく記事に纏めてくれてますので、こちらをご参照ください。
##解決手順
まず最初にTortoiseSVNのインストーラーを起動して Command line client tools がインストールされているかを確認してください。
TortoiseSVNインストール時にデフォルト設定だとCommand line client toolsの欄にチェックが入っておらず、もしチェックが入っていなかった場合はこちらにチェックを入れてインストールしてください。
※これはPowershellで「svnadmin --version」を叩いて入っているか確認していただき、なかった場合インストールとかでも構いません
インストール完了後にPowershellで下記のコマンドを叩いて再度リポジトリを作り直すと
UE4.27.2 がサポートしているバージョンのリポジトリが作成されます。
svnadmin create --compatible-version 1.9(リポジトリを作成したいパス)
##余談
svn: warning: W155010: The node 'D:\svnTestProject\trunk\MyProject' was not found.
svn: E200009: Could not display info for all targets because some targets don't exist
Failed to connect to source control. Check your settings and connection then try again.
.uproject が入っているディレクトリがAddまたはCommitされてない場合上記エラーが出ます。
ソースコントロール接続でこのようなエラー文が出た場合はAddまたはCommitされているか確認するのが良いでしょう。
(Command line client tools がインストールされていなくても同様のエラーが出る事がありましたが、手元では再現せず。何か情報があったらコメントください)
##関連
ソースコントロールでSVNを使用する話に関しては公式ドキュメントがありますのでこちらを参照ください。