最近我们的Subversion (SVN)服务器发生了变化,我们进行了SVN切换。

由于工作副本有大量未版本化的资源,因此工作副本被锁定,我们开始为SVN下的所有文件夹逐个切换文件夹,这非常好。

但是在存储库的最高层,当我试图更新文件时,我得到一个错误,说svn:工作副本'。的锁。试图清理也无济于事;它会导致诸如svn: 'content'不是一个工作拷贝目录之类的错误。

新的结帐根本不是一个选项。我还可以如何清理和释放锁并完成svn切换过程?


当前回答

我以不同的方式进入了类似的情况(svn: 'papers'不是一个工作拷贝目录),所以我想我将发布我的战斗故事(简化):

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

哦!修复权限……然后:

$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~     papers
$ svn cleanup
svn: 'papers' is not a working copy directory

甚至把文件移开,运行svn up(对OP有效)也没能解决问题。以下是我所做的:

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

这工作。

其他回答

我以不同的方式进入了类似的情况(svn: 'papers'不是一个工作拷贝目录),所以我想我将发布我的战斗故事(简化):

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

哦!修复权限……然后:

$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~     papers
$ svn cleanup
svn: 'papers' is not a working copy directory

甚至把文件移开,运行svn up(对OP有效)也没能解决问题。以下是我所做的:

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

这工作。

如果您在一个新目录下创建了一个文件,请使用'svn add newdir/newfile'而不是'svn add newdir',因为您需要添加目录。默认情况下,将添加该目录中的所有文件。

对于Mac:从服务器端进行签出,将打开一个新窗口,从本地机器中选择目录。然后将所有代码放入所选文件夹中。然后打开SVN本地端。添加并提交项目。

也许你只是复制了文件夹树,并试图添加最低的一个。

SVN
|_
  |
  subfolder1
       |
       subfolder2   (here you get an error)

在这种情况下,你必须在上层提交目录。

我就犯了这个错误。我注意到我进错目录了。一旦我恢复到SVN Trunk目录,问题就解决了。