代码之家  ›  专栏  ›  技术社区  ›  Sandeepan Nath

SVN-无法提交文件(无法创建目录-没有此类文件或目录)

  •  2
  • Sandeepan Nath  · 技术社区  · 15 年前

    我想将现有的存储库(从位置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
    
    3 回复  |  直到 15 年前
        1
  •  4
  •   Greg Hewgill    15 年前

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

        2
  •  4
  •   Sully    15 年前

    我做了一个类似的动作,也遇到了类似的问题。数据库中的事务目录不存在,或者我没有复制它。我的修复方法是手动创建db/transaction目录。我现在可以承诺了。

        3
  •  3
  •   Sandeepan Nath    15 年前

    那是因为 chmod 没有做!!

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

    推荐文章