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

但仍然得到同样的错误。我正在使用智能 SVN 5.0.4

谢谢,

桑迪潘

更新

即使遵循格雷格的建议,我也无法承诺。错误现在说Permission denied: -

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

3 回答 3

6

在将 Subversion 存储库从一台机器移动到另一台机器时,我强烈建议您使用svnadmin dumpsvnadmin load复制存储库。Subversion 的次要版本之间存在细微的差异,这使得复制存储库数据库存在问题。

于 2010-07-26T07:54:21.397 回答
4

我做了类似的举动,并且遇到了类似的问题。db中的transactions目录不存在,或者我没有复制。我的解决方法是手动创建 db/transaction 目录。我现在可以承诺了。

于 2010-07-27T16:27:38.190 回答
3

那是因为chmod没做好!!

我做到了chmod -R 770,它解决了这个问题。

于 2010-07-28T07:57:46.610 回答