2010-07-26 460 views
2

我想将现有的存储库(从位置A)移至新的Linux服务器(位置B)。所以,我创建了该服务器(位置B)使用命令新的存储库: -SVN - 无法提交文件(无法创建目录 - 无此文件或目录)

svnadmin create --fs-type fsfs <repository_name> 

然后我从位置A复制的数据库文件夹,并改写该位置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

感谢,

Sandeepan

更新

即使以下格雷格的建议后,我不能犯。错误现在说Permission denied: -

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

回答

3

这是因为chmod没有完成!

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

+0

这就是错误发生的原因......那么为什么我会得到负面评价? – 2010-07-28 13:18:09

4

当移动从一台计算机到另一Subversion版本库,我会强烈建议您使用svnadmin dumpsvnadmin load复制的资源库。次版本的Subversion之间存在细微的差异,使得复制存储库数据库存在问题。

+0

好吧我不知道。谢谢。 但是,即使这样做后,我无法承诺。错误现在说'权限被拒绝': - '提交失败 - 无法创建目录'路径/到/ repository/db/transactions/1855-1.txn':权限被拒绝' – 2010-07-26 10:24:15

4

我做了类似的动作,并有类似的问题。数据库中的交易目录不存在,或者我没有复制它。我的修复是手动创建db/transaction目录。我现在可以提交。

+1

+1刚才有这个问题。我的存储库缺少* transactions *和* txn-protorevs *目录。我手动创建这些,现在可以提交。变幻无常。 – 2011-10-03 18:24:48