2

既存のリポジトリを (場所 A) から新しい Linux サーバー (場所 B) に移動したいと考えていました。そのため、次のコマンドを使用して、そのサーバー (場所 B) に新しいリポジトリを作成しました。

svnadmin create --fs-type fsfs <repository_name>

次に、以前のリビジョンを保持したいので、場所 A から db フォルダーをコピーし、場所 B のフォルダーを上書きしました。次のコマンドを使用して、場所 B にシステム ユーザーを作成しました。

useradd sandeepan
passwd sandeepan

リポジトリでユーザーの権限を指定しませんでした。

その後、URL からチェックアウトしたところ、svn+ssh://<IP>/<path to repository>正常に機能しました。以前のリビジョンに更新できますが、コミットできません。それは言う -

Commit failed - Can't create directory 'path/to/repository/db/transactions/1852-1.txn' no such file or directory

そのため、次のようにそのユーザーにリポジトリへのアクセスを提供しようとしました:-

groupadd svn_users
usermod -a -G svn_users harry
chgrp -R svn_users /var/backup/hello

しかし、それでも同じエラーが発生します。Smart SVN 5.0.4 を使用しています

ありがとう、

サンディーパン

アップデート

Greg の推奨に従っても、コミットできません。エラーは次のようになりますPermission denied:-

Commit failed - Can't create directory 'path/to/repository/db/transactions/1855-1.txn': 
Permission denied
4

3 に答える 3

6

Subversion リポジトリをあるマシンから別のマシンに移動する場合は、リポジトリを使用してコピーすることを強くお勧めします。Subversion のマイナー バージョン間には微妙な違いがあり、リポジトリ データベースのコピーが問題になります。svnadmin dumpsvnadmin load

于 2010-07-26T07:54:21.397 に答える
4

私は同様の動きをしましたが、同様の問題があります。データベース内のトランザクション ディレクトリが存在しないか、コピーしていません。私の修正は、手動で db/transaction ディレクトリを作成することでした。コミットできるようになりました。

于 2010-07-27T16:27:38.190 に答える
3

やらなかったからchmod!!

私はそうしましたchmod -R 770、そしてそれは問題を解決しました。

于 2010-07-28T07:57:46.610 に答える