我想将现有的存储库(从位置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>
checkout ,并成功运行。我能够更新到以前的版本,但是无法提交。它说 -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的建议,我也无法 promise 。该错误现在显示
Permission denied
:-Commit failed - Can't create directory 'path/to/repository/db/transactions/1855-1.txn':
Permission denied
最佳答案
当将Subversion存储库从一台计算机移动到另一台计算机时,我会强烈建议您使用 svnadmin dump
和 svnadmin load
复制该存储库。 Subversion的次要版本之间存在细微的差异,这使得复制存储库数据库成为问题。