我曾经将一个Subversion仓库检出到/home/svn/docs路径,然后我选择了使用另一个路径,使用rm-rf命令删除了该目录,并检出了一个新的仓库到我的home/user/docs路径。这一步很顺利。但是,如果我现在想提交一些东西,它会显示:
svn: 无法打开文件“/home/svn/docs/db/txn-current-lock”:权限被拒绝
我正在运行Ubuntu操作系统。
看起来您的Subversion代码库位于/home/svn/docs
,而且您没有写入权限。可能是这个代码库是由不同的用户创建的,提交也是由不同的用户执行的。
解决此问题的一种方法是确保所有Subversion用户属于同一个组,并且该组具有对代码库文件夹的写入访问权限。
我使用windows时经历了同样的问题。我试图给每个人完全控制权,但还是没有解决。
我试图将"txn-current-lock"重命名为"txn-current-lock.xxx",将"write-lock"重命名为"write-lock.xxx",这样就可以解决问题。我猜测这些文件一开始就被锁定并导致错误,即使删除它们也会解决问题。
不要删除"txn-current",因为svn需要它。
顺便说一下,我在这里找到了一篇文章http://cloudspring.com/how-to-use-dropbox-with-svn-or-git-for-cloud-source-control-management/,讲解如何使用dropbox和svn创建“分布式源代码管理”,我目前正在尝试这样做,所以遇到了这个问题。通常情况下svn工作正常。
txn-current-lock
和 write-lock
,但我想知道它们最初是如何创建的,以及为什么它们没有被删除。顺便说一句,我尝试重命名和删除两个锁定文件,但在 Linux 上都没有解决问题。我想真正的答案可能在其他地方... - icedwater