長い間、私たちはSVNリポジトリをWindows共有に置きました(プロジェクトに取り組んでいる人は1人しかいなかったのでうまくいきました)。
これで、開発システムをWindowsからUbuntuに移行しており、Ubuntuでこれらのリポジトリにアクセスする必要があります。
次のようにsvnリポジトリ共有をマウントしました。
//win_serv/svn /mnt/svn cifs credentials=/home/u/.smbcreds,iocharset=utf8,sec=ntlm 0 0
リポジトリURLをに変更しました/mnt/svn/some_project
。ただし、これを行うとsvn up
エラーが発生します。
svn: E200033: Another process is blocking the working copy database, or the underlying filesystem does not support file locking; if the working copy is on a network filesystem, make sure file locking has been enabled on the file server
svn: E200033: sqlite[S5]: database is locked
svn: E200033: Additional errors:
svn: E200033: sqlite[S5]: database is locked
私が何か間違っているのでしょうか(「Windows共有のsvnリポジトリ」という事実に加えて)?
LinuxでWindows共有のsvnリポジトリにアクセスすることは可能ですか?
答え1
私はこれをしないように励ます。 WindowsまたはLinuxでSVNサーバーをホストし、svn + sshプロトコルを使用してサーバーにアクセスします。 SVNリポジトリにアクセスする不器用な方法を開発しようとしないでください。
NOBRLからCIFSまで、さまざまなインストールオプションが必要なSVNとSQLiteに関連する多くの問題が発生します。
これらすべてを避け、SVNリポジトリがどこにあるかを事前に決定し、すでに試したパスに従うのではなく、そのシステムに実際のSVNサーバーを設定するのに時間を費やすことをお勧めします。
また、さまざまな設定オプションを確認するのに時間をかけてください。SVNブック、無料で現在実行されている作業を実行するための最良の方法について詳しく説明しているため、データが破損したり失われたりするリスクはありません。
答え2
私はslmが言ったことに同意しますが、しないでください。 SVNはファイルシステムを共有する必要がないように作成されました。これらの問題を回避するために、マウントオプションを試すことができますnobrl
。よりサンバのマンページインストールオプションに関する追加情報。